Comas y puntos [ayuda please]

13/11/2004 - 21:59 por Mauricio López [uy] | Informe spam
Amigos:

Tengo un problema con la inserción de valores numéricos con decimales desde VB a un campo
smallmoney de SQL-Server, me gustaría saber cómo han resuelto ustedes la misma dificultad:

*Necesito ingresar valores "con coma" ej. 54,35 a un campo smallmoney. En VB6 usando una variable
double lo guarda perfectamente, pero cuando quiero pasar este valor a un registro de una tabla en
SQL-Server éste toma como que fuera un campo nuevo, o sea 54 uno y 35 otro, generando un error en la
inserción.

Supongo que debería usar puntos y no comas, pero no voy a cambiar la configuración regional de
cada PC...

Desde ya muy agradecido.

Saludos!

Mauricio López
Maldonado - Uruguay

Preguntas similare

Leer las respuestas

#6 Mauricio López [uy]
16/11/2004 - 00:41 | Informe spam
Ulises:

Solucionado, muchas gracias.

Ahora: qué mal que SQL-Server haga esto, ¿no?


Saludos!

Mauricio López
Maldonado - Uruguay
-
Es un double el campo en VB pero lo formateas para formar
una cadena que es al final lo que envias al SQL (si no es
así indica como lo haces), en ese caso tendrías que cambiar
la "," por el "." ya que SQL Server no te acepta coma
decimal. En un procedimiento solo tendrías que crear la
variable con el valor correspondiente

CREATE PROC procedimiento ( ..., monto as decimal(15,2) , ...

en VB algo asÍ:

cmd.CommandText = "procedimiento"
cmd.CommandType = adCmdStoredProc
cmd.CreateParameter("monto", adDouble, adParamInput, , campoVB)

Saludos,
Ulises

Ulises

Pero no es una cadena, es un double, ¿lo tendría


que convertir a cadena y luego quitar la
coma?

¿Cómo sería con un procedimiento almacenado?

Saludos!

Mauricio López
Maldonado - Uruguay
-
Me imagino que debes estar formando la sentencia SQL


dentro de tu
programa y como SQL solo acepta el "punto decimal" te da


el error que
mencionas, tienes dos alternativas: al momento de formar


la cadena
reemplazar la coma decimal por punto decimal o manejar las


inserciones
dentro de un procedimiento almacenado y pasar los valores como
parámetros (la opción recomendada).

Saludos,
Ulises

On Sat, 13 Nov 2004 18:59:53 -0200, "Mauricio López [uy]"
wrote:

Amigos:

Tengo un problema con la inserción de valores




numéricos con decimales desde VB a un campo
smallmoney de SQL-Server, me gustaría saber cómo han




resuelto ustedes la misma dificultad:

*Necesito ingresar valores "con coma" ej. 54,35 a un




campo smallmoney. En VB6 usando una variable
double lo guarda perfectamente, pero cuando quiero pasar




este valor a un registro de una tabla en
SQL-Server éste toma como que fuera un campo nuevo, o sea




54 uno y 35 otro, generando un error en la
inserción.

Supongo que debería usar puntos y no comas, pero no




voy a cambiar la configuración regional de
cada PC...

Desde ya muy agradecido.
Respuesta Responder a este mensaje
#7 Salvador Ramos
16/11/2004 - 09:28 | Informe spam
Hola:

No coincido con tu opinión. Creo que, al igual que en los demás gestores de
bases de datos y lenguajes de programación, el simbolo para decimales es el
punto, y debe seguir siendolo. Otra cosa es en la interfaz de usuario el
formato que tu desees aplicar, pero internamente debe haber un sólo símbolo,
que siempre ha sido el punto, y nunca la coma.

Un saludo
Salvador Ramos
Murcia - España
[Microsoft MVP SQL Server]
www.helpdna.net
¿ Te interesa participar en las reuniones
del grupo de Usuarios de SQL Server y .NET ?
Se harán en levante de España, (Alicante o Murcia)?

"Mauricio López [uy]" escribió en el
mensaje news:
Ulises:

Solucionado, muchas gracias.

Ahora: qué mal que SQL-Server haga esto, ¿no?


Saludos!

Mauricio López
Maldonado - Uruguay
-
Es un double el campo en VB pero lo formateas para formar
una cadena que es al final lo que envias al SQL (si no es
así indica como lo haces), en ese caso tendrías que cambiar
la "," por el "." ya que SQL Server no te acepta coma
decimal. En un procedimiento solo tendrías que crear la
variable con el valor correspondiente

CREATE PROC procedimiento ( ..., monto as decimal(15,2) , ...

en VB algo asÍ:

cmd.CommandText = "procedimiento"
cmd.CommandType = adCmdStoredProc
cmd.CreateParameter("monto", adDouble, adParamInput, , campoVB)

Saludos,
Ulises

Ulises

Pero no es una cadena, es un double, ¿lo tendría


que convertir a cadena y luego quitar la
coma?

¿Cómo sería con un procedimiento almacenado?

Saludos!

Mauricio López
Maldonado - Uruguay
-
Me imagino que debes estar formando la sentencia SQL


dentro de tu
programa y como SQL solo acepta el "punto decimal" te da


el error que
mencionas, tienes dos alternativas: al momento de formar


la cadena
reemplazar la coma decimal por punto decimal o manejar las


inserciones
dentro de un procedimiento almacenado y pasar los valores como
parámetros (la opción recomendada).

Saludos,
Ulises

On Sat, 13 Nov 2004 18:59:53 -0200, "Mauricio López [uy]"
wrote:

Amigos:

Tengo un problema con la inserción de valores




numéricos con decimales desde VB a un campo
smallmoney de SQL-Server, me gustaría saber cómo han




resuelto ustedes la misma dificultad:

*Necesito ingresar valores "con coma" ej. 54,35 a un




campo smallmoney. En VB6 usando una variable
double lo guarda perfectamente, pero cuando quiero pasar




este valor a un registro de una tabla en
SQL-Server éste toma como que fuera un campo nuevo, o sea




54 uno y 35 otro, generando un error en la
inserción.

Supongo que debería usar puntos y no comas, pero no




voy a cambiar la configuración regional de
cada PC...

Desde ya muy agradecido.






Respuesta Responder a este mensaje
#8 ulises
16/11/2004 - 15:17 | Informe spam
Como diría el Chavo del Ocho: eso!, eso! eso!

Saludos,
Ulises

Hola:

No coincido con tu opinión. Creo que, al igual que en los


demás gestores de
bases de datos y lenguajes de programación, el simbolo


para decimales es el
punto, y debe seguir siendolo. Otra cosa es en la interfaz


de usuario el
formato que tu desees aplicar, pero internamente debe


haber un sólo símbolo,
que siempre ha sido el punto, y nunca la coma.

Un saludo
Salvador Ramos
Murcia - España
[Microsoft MVP SQL Server]
www.helpdna.net
¿ Te interesa participar en las reuniones
del grupo de Usuarios de SQL Server y .NET ?
Se harán en levante de España, (Alicante o Murcia)?

"Mauricio López [uy]"


escribió en el
mensaje news:
Ulises:

Solucionado, muchas gracias.

Ahora: qué mal que SQL-Server haga esto, ¿no?


Saludos!

Mauricio López
Maldonado - Uruguay
-
Es un double el campo en VB pero lo formateas para formar
una cadena que es al final lo que envias al SQL (si no es
así indica como lo haces), en ese caso tendrías que cambiar
la "," por el "." ya que SQL Server no te acepta coma
decimal. En un procedimiento solo tendrías que crear la
variable con el valor correspondiente

CREATE PROC procedimiento ( ..., monto as decimal(15,2)




, ...

en VB algo asÍ:

cmd.CommandText = "procedimiento"
cmd.CommandType = adCmdStoredProc
cmd.CreateParameter("monto", adDouble, adParamInput, ,




campoVB)

Saludos,
Ulises

Ulises

Pero no es una cadena, es un double, ¿lo tendría


que convertir a cadena y luego quitar la
coma?

¿Cómo sería con un procedimiento almacenado?

Saludos!

Mauricio López
Maldonado - Uruguay
-
Me imagino que debes estar formando la sentencia SQL


dentro de tu
programa y como SQL solo acepta el "punto decimal" te da


el error que
mencionas, tienes dos alternativas: al momento de formar


la cadena
reemplazar la coma decimal por punto decimal o manejar las


inserciones
dentro de un procedimiento almacenado y pasar los






valores como
parámetros (la opción recomendada).

Saludos,
Ulises

On Sat, 13 Nov 2004 18:59:53 -0200, "Mauricio López [uy]"
wrote:

Amigos:

Tengo un problema con la inserción de valores




numéricos con decimales desde VB a un campo
smallmoney de SQL-Server, me gustaría saber cómo han




resuelto ustedes la misma dificultad:

*Necesito ingresar valores "con coma" ej. 54,35 a un




campo smallmoney. En VB6 usando una variable
double lo guarda perfectamente, pero cuando quiero pasar




este valor a un registro de una tabla en
SQL-Server éste toma como que fuera un campo nuevo, o sea




54 uno y 35 otro, generando un error en la
inserción.

Supongo que debería usar puntos y no comas, pero no




voy a cambiar la configuración regional de
cada PC...

Desde ya muy agradecido.










.

Respuesta Responder a este mensaje
#9 Mauricio López [uy]
18/11/2004 - 18:42 | Informe spam
Salvador:

Ahora que lo explicas coincido contigo, debe haber un estándar para los separadores de
decimales y miles. Lamentablemente no es el nuestro ;-)



Saludos!

Mauricio López
Maldonado - Uruguay
-
Hola:

No coincido con tu opinión. Creo que, al igual que en los demás gestores de
bases de datos y lenguajes de programación, el simbolo para decimales es el
punto, y debe seguir siendolo. Otra cosa es en la interfaz de usuario el
formato que tu desees aplicar, pero internamente debe haber un sólo símbolo,
que siempre ha sido el punto, y nunca la coma.

Un saludo
Salvador Ramos
Murcia - España
[Microsoft MVP SQL Server]
www.helpdna.net
¿ Te interesa participar en las reuniones
del grupo de Usuarios de SQL Server y .NET ?
Se harán en levante de España, (Alicante o Murcia)?
Respuesta Responder a este mensaje
#10 Salvador Ramos
19/11/2004 - 09:16 | Informe spam
Efectivamente, no es el nuestro. Por eso en la interfaz de usuario es muy
sencillo utilizar máscaras y adaptarlos al formato que deseemos.

Un saludo
Salvador Ramos
Murcia - España
[Microsoft MVP SQL Server]
www.helpdna.net
¿ Te interesa participar en las reuniones
del grupo de Usuarios de SQL Server y .NET ?
Se harán en levante de España, (Alicante o Murcia)?

"Mauricio López [uy]" escribió en el
mensaje news:
Salvador:

Ahora que lo explicas coincido contigo, debe haber un estándar para
los separadores de
decimales y miles. Lamentablemente no es el nuestro ;-)



Saludos!

Mauricio López
Maldonado - Uruguay
-
Hola:

No coincido con tu opinión. Creo que, al igual que en los demás gestores
de
bases de datos y lenguajes de programación, el simbolo para decimales es
el
punto, y debe seguir siendolo. Otra cosa es en la interfaz de usuario el
formato que tu desees aplicar, pero internamente debe haber un sólo
símbolo,
que siempre ha sido el punto, y nunca la coma.

Un saludo
Salvador Ramos
Murcia - España
[Microsoft MVP SQL Server]
www.helpdna.net
¿ Te interesa participar en las reuniones
del grupo de Usuarios de SQL Server y .NET ?
Se harán en levante de España, (Alicante o Murcia)?


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida