Delphi - Insert para Fechas

 
Vista:

Insert para Fechas

Publicado por Ulrich (3 intervenciones) el 17/02/2003 18:49:48
Como puedo insertar una fecha a una tabla .DBF con SQL

Lo he intentado asi:

Label17.Caption:=DateToStr(DateTimePicker1.DateTime);
Query1.SQL.Clear;
Query1.SQL.Add('INSERT INTO Facturas (FECHA) ');
Query1.SQL.Add('VALUES ("' + Label7.Caption + ' ")');
Query1.ExecSQL;

Para otros tipos de datos, no tengo ningun problema.

Que le puedo cambiar, que esta mal de la instruccion.

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:Insert para Fechas

Publicado por Misael (51 intervenciones) el 17/02/2003 19:40:32
Intenta con este codigo, ya que veo que estas intentanto enviar el dato a la parte del values de la sentencia de insert y no es correcto hacerl asi en el query de delphi, lo unico que tienes que hacer es pasarle el parametro a traves de la sentencia parambyname.
with Query1 do
Begin
Close;
Label17.Caption:=DateToStr(DateTimePicker1.DateTime);
SQL.Clear;
SQL.Add('INSERT INTO Facturas (FECHA) ');
SQL.Add('VALUES ( :Fecha)');
parambyname('Fecha).value:=Label1.caption;
Query1.ExecSQL;
end;
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: Ahora un error de ejecucion

Publicado por Ulrich (3 intervenciones) el 18/02/2003 05:36:49
OK, ya probe hacerlo como me dices, y cuando grabo los datos se detiene la aplicacion y me manda el mensaje

'Type mismatch in expression'

Y ya no guarda nada
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: Ahora un error de ejecucion

Publicado por Ernesto D'Spirito (706 intervenciones) el 18/02/2003 18:08:27
La forma más "universal" de pasar parámetros de tipo fecha a las consultas es usando la propiedad AsDate. Por ejemplo:

ParamByName('Fecha').AsDate := Date;
ParamByName('Fecha').AsDate := EncodeDate(2003,2,18); // 18/2/2003

En el ejemplo anterior, en vez de

parambyname('Fecha).value:=Label1.caption;

prueba de esta otra manera:

ParamByName('Fecha').AsDate := StrToDate(Label1.Caption);

Espero que te sirva.

Ernesto D'Spirito
http://www.latiumsoftware.com/es/index.php
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