Visual Basic.NET - Base de datos decimal

 
Vista:

Base de datos decimal

Publicado por Cristian (67 intervenciones) el 05/05/2008 14:48:02
hola, necesito guardar un valor con 2 decimales en una base de datos SQL y no se que campo usar ya que en access usaba o Curren para moneda o long, pero ahora no se cual usar.
Le agradeceria si me ayudan.
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:Base de datos decimal

Publicado por Antonio (4 intervenciones) el 06/05/2008 20:22:58
Mira si es SQL el campo que debes usar es el que se llama Float cuando llevara decimales y usa el campo Int para cuando es entero

el redondeo lo decides tu en la consulta o cuando lo cargas a la base de datos
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:Base de datos decimal

Publicado por Cristian (67 intervenciones) el 07/05/2008 05:23:09
Gracias, lo que necesito es como convertir una entrada en una mascara con un valor decimal para poder guardarlo en un campo float.

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
sin imagen de perfil

RE:Base de datos decimal

Publicado por P. J. (706 intervenciones) el 07/05/2008 17:35:59
debes usar la funcion format:

dim valor as decimal
valor = format(me.txtEntrada.text,"standard")

o tambien

valor = formatnumber(me.txtEntrada.text,2) ' 2, numeros de decimales a guardar.
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:Base de datos decimal

Publicado por Cristian (67 intervenciones) el 07/05/2008 18:37:05
una vez mas gracias P.J.
lo que hago yo es esto y no anda:

Dim valor As Decimal
valor = Format(Me.masklista1.Text, "standard")

Dim _insert As New System.Data.SqlClient.SqlCommand("insert into articulos (codart,descripcion,stock,lista1) values ('" & Me.maskcodart.Text() & "','" & Me.maskdescripcion.Text() & "','" & Me.maskstock.Text() & "', '" & valor & "')")

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
sin imagen de perfil

RE:Base de datos decimal

Publicado por P. J. (706 intervenciones) el 07/05/2008 19:49:33
nO anda?

Depura y fijate como esta tu variable VALOR.

Capaz si no pasa el valor con los decimales se deba a tu mascara.
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:Base de datos decimal

Publicado por Cristian (67 intervenciones) el 07/05/2008 22:16:51
Hola P.J.
Me da el siguiente error. "Error al convertir el tipo de datos varchar a float.", que me aconsejas ????

como siempre Gracias P.J.
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
sin imagen de perfil

RE:Base de datos decimal

Publicado por P. J. (706 intervenciones) el 07/05/2008 23:41:03
AYA!, claro si pones el ERROR EXACTO se puede ayudar mejor (en ves de adivinar):

Si el codigo es:

Dim valor As Decimal
valor = Format(Me.masklista1.Text, "standard")

Dim _insert As New System.Data.SqlClient.SqlCommand("insert into articulos (codart,descripcion,stock,lista1) values ('" & Me.maskcodart.Text() & "','" & Me.maskdescripcion.Text() & "','" & Me.maskstock.Text() & "', '" & valor & "')")

el error debe estar en el campo STOCK, osea donde pones:
Me.maskstock.Text()

Ponlo:
convert.ToInt32(Me.maskstock.Text() )

Aunque si lo declaraste el campo stock como float le pones conver.todecimal(...)
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:Base de datos decimal

Publicado por Cristian (67 intervenciones) el 08/05/2008 01:58:12
Graicas P.J. me has echo reir.
Esto parece de nunca acabar, me sigue dando el mismo error, es mas antes cuando habia declarado el campo como lista1 a moneda andaba, y cuando lo pase a float no funciono mas. El tema esta ahi...
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
sin imagen de perfil

RE:Base de datos decimal

Publicado por P. J. (706 intervenciones) el 08/05/2008 16:29:50
WAO!

Es base de datos SQL ¿no?, arriba te aconsejaron usar FLOAT para ese campo, yo siempre uso DECIMAL (10,2) o dependiendo de la cantidad.

Y no tengo ningun problema, el error que te da es que estas enviando un campo CADENA a un campo definido para NUMEROS.

El error esta entonces al momento de asignar los valores en el insert into.

Suerte!
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:Base de datos decimal

Publicado por Cristian (67 intervenciones) el 08/05/2008 19:39:23
Hola P.J. gracias por todo...
Mira he hecho todo como me has dicho y l averdad que la unica forma que me guarde lo que ingreso en la mascara es poninedo el campo como String.
En vb6 y access lo he hecho toda la vida a ese tio de conversiones no se porque ahora en .net con una base sql no funciona.
En fin no voy a molestarte mas.... (la menos para esto)

Un saludo y muchas gracias por todo.
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