FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Insertar Numero Real en Access
Hola amigos, tengo el siguiente problema:
Uso Delphi 6 y Access 2000 con ADO. Necesito guardar el precio de venta en una tabla y lo que hago es lo siguiente: sql := 'Insert into Tabla (nom,apell,precio) values ('+'''''+nom.text+''''+','+'''''+apell.text+''''+','precio.text+');'; AdoQueryConsulta.sql.clear; AdoQueryConsulta.sql.add(sql); AdoQueryConsulta.execsql; Los valores a insertar los cojo del Formulario, para el nombre y el apellido no tengo problema porque son campos string, pero para el precio si ya que lleva decimales, les pongo un ejemplo de como quedaria la consulta anterior nom.text = Pedro apell.text = Gil precio.tex = 55,25 sql := 'Insert into Tabla (nom,apell,precio) values ('Pedro','Gil',55,25);'; y me da error porque dice que tiene mas valores que parametros el sql, que necesita 3 datos y le paso 4, el problema es el valor real con la coma. Yo otras veces lo he solucionado cambiando la , por un punto antes de pasarlo al sql, quedaria asi: sql := 'Insert into Tabla (nom,apell,precio) values ('Pedro','Gil',55.25);'; pero me gustaria saber si existe alguna funcion que te permita pasarlo como esta sin necesidad de tener que cambiar la coma por el punto. Saludos y muchas gracias |
#2
|
|||
|
|||
Prueba con
Código:
var OldDS: Char; begin OldDS := DecimalSeparator; DecimalSeparator := '.'; sql := 'Insert into Tabla (nom,apell,precio) values ('+'''''+nom.text+''''+','+'''''+apell.text+''''+','precio.text+');'; AdoQueryConsulta.sql.clear; AdoQueryConsulta.sql.add(sql); AdoQueryConsulta.execsql; DecimalSeparator := OldDS; end; |
|
|
|