SQL Server - Decimales

   
Vista:

Decimales

Publicado por pigar_69 (5 intervenciones) el 09/11/2007 13:29:28
Tengo un problema a la hora de actualizar desde VB6 un campo de mi base de datos sqlserver 2000, Como debe ser el tipo de dato en VB6 y en la base de datos para que me guarde el valor con esos decimales y no me de error de que uno es de un tipo y el otro es de otro tipo...
Un saludo, gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Decimales

Publicado por Isaias (3308 intervenciones) el 09/11/2007 21:00:22
decimal[(p[, s])] y numeric[(p[, s])]

Números de precisión y escala fijas. Cuando se utiliza la precisión máxima, los valores permitidos están comprendidos entre - 10^38 +1 y 10^38 - 1. Los sinónimos de SQL-92 para decimal son dec y dec(p, s).

p (precisión)

Especifica el número máximo total de dígitos decimales que se pueden almacenar, a la izquierda y a la derecha del separador decimal. La precisión debe ser un valor comprendido entre 1 y la precisión máxima. La mayor precisión que se puede especificar es 38. La precisión predeterminada es 18.

s (escala)

Especifica el número máximo de dígitos decimales que se pueden almacenar a la derecha del separador decimal. La escala debe ser un valor comprendido entre 0 y p. La escala sólo se puede especificar si se especifica la precisión. La escala predeterminada es 0; por tanto, 0 <= s <= p. Los tamaños máximos de almacenamiento varían según la precisión.

DECIMAL(10,2) = NNNNNNN.NN
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Decimales

Publicado por pigar_69 (5 intervenciones) el 12/11/2007 08:44:52
No comprendo bien como tengo que aplicar lo que me dices, el problema que tengo es que al grabar ese dato decimal en la base de datos con la aplicacion hecha en vb6 me da el error al convertir el tipo de datos varchar a mumeric. En la base de datos el tipo es decimal con la escala y precision configurados. En la aplicacion vb he probado con el tipo de dato Double, Single...con todos y me sigue dando el mismo error: ' Error al convertir el tipo de datos varchar a numeric.'

Que tengo que poner o declarar en vb para que al insertar ese valor con decimales no me de ese error??

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Decimales

Publicado por Isaias (3308 intervenciones) el 12/11/2007 17:21:04
Pigar

Seguramente desde VB estas enviando los datos con comillas, debes enviarlo sin estas hacia la base de datos.

El error es muy claro, estas tratando de almacenar un VARCHAR (CARACTER), en un numerico.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Decimales

Publicado por pigar_69 (5 intervenciones) el 12/11/2007 17:48:49
Desde VB hago esta actualizacion:
SqlStr = "Update Tabla1 Set Campo1=' " & vValor1 & " ' " & _
"where Campox=' " & vValor2 & " ' And Campoy=' " & vValor3 & " ' "

vValor1 esta declarado como Double en VB y Campo1 en la tabla de la base de datos está como decimal.

Como puedo enviar el valor de la variable vValor1 sin comillas?? :(
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Decimales

Publicado por Isaias (3308 intervenciones) el 13/11/2007 01:28:24
"Update Tabla1 Set Campo1=' " & vValor1 & " ' " & _

Si amigo, pero le estas pasando APOSTROFES, entonces, si pasas un valor decimal, este pasara:

'2019.20'

Con "comitas", esto para SQL SERVER representa UN CARACTER.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Decimales

Publicado por pigar_69 (5 intervenciones) el 13/11/2007 11:49:47
Si amigo, en el mensaje anterior ya me enteré de la explicación de las "comitas", lo que necesito es que me digais como paso el valor decimal sin las "comitas", ya que sin las comitas no pasa ningun valor tampoco....

Gracias y un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Decimales

Publicado por martin (1 intervención) el 02/08/2010 22:44:41
Hola ..bueno creo q es un poco tarde para dar la respuesta , pero existe un truco para ovbiar ese mensaje en tu sql la columna q es decimal pasala a money grabas y luego la vuelves a pasar a decimal grabas y asunto arreglado ,eso si en vb6 no debe llevar comillas ejm: 10.2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar