Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-04-2004
Franklim Franklim is offline
Miembro
 
Registrado: abr 2004
Posts: 31
Poder: 0
Franklim Va por buen camino
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
Responder Con Cita
  #2  
Antiguo 03-04-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
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;
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 10:49:03.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi