PDA

Ver la Versión Completa : Ayuda con fecha


raco
15-07-2005, 01:12:15
Hola, tengo el siguiente problema, estoy haciendo un programa en Delphi en el que manejo tablas de Paradox, cuando trato de hacerle un insert me sale el siguiente error: Type Miistmatch in expresion. Es el Delphi 7 y tengo el Windows Xp en español, el codigo del query es el siguiente:

Querys.insertar.Close;
Querys.insertar.SQL.Clear;
Querys.insertar.SQL.Add('insert into autsol values ('''+Label8.Caption+''','''+Label2.Caption+''','''+Label4.Caption+''','''+Memo1.Text+''','''+form3.a cceso.FieldValues['nombre']+''','''+Autoriza+''','''+DBLookupComboBox2.Text+''')');
Querys.insertar.ExecSQL;

El error es en la fecha, la configuracion de la fecha esta con dd/mm/aaaa, no se por que me marca el error, antes del insert uso estas lineas para cambiar el formato de la fecha:

Application.UpDateFormatSettings := false;
DateSeparator := '/';
ShortDateFormat := 'dd/mm/yyyy';

Pero aun asi me aparece el error, la tabla de Paradox tambien toma este formato x lo q no se en q me estoy equivocando. Espero que alguien pueda ayudarme, gracias.

vtdeleon
15-07-2005, 01:20:53
saludos
1) Creo que asi se ve Mejor;) Busca sobre las Etiquetas:)
Querys.insertar.Close;
Querys.insertar.SQL.Clear;
Querys.insertar.SQL.Add('insert into autsol values ('''+Label8.Caption+''','''+Label2.Caption+''','''+Label4.Caption+''','''+
Memo1.Text+''','''+form3.acceso.FieldValues['nombre']+''','''+Autoriza+''','''+DBLookupComboBox2.Text+''')');
Querys.insertar.ExecSQL;2) No veo donde pones fecha:confused:
3) Una sugerencia, es mejor que uses ParametrosQuerys.insertar.Close;
Querys.insertar.SQL.Clear;
Querys.insertar.SQL.Add('insert into autsol values (:label1, :label2,.....) ');
Queys.ParambyName('label1').AsString:='noseque';
Queys.ParambyName('label2').AsString:='noseca';
Querys.insertar.ExecSQL;
4) para insertar fechas debe acotejarlos con #, #01/12/2003#

Suerte

raco
15-07-2005, 01:35:06
Perdon, en el Label2.caption es en donde tengo la fecha. Voy a probar con los parametros, gracias, pero en que estara el error?, se supone que como estoy manejando la instruccion se deben de poner los valores en string no?. Si pongo el valor con este formato de fecha mm/dd/yyyy si me funciona y luego en la tabla aparece dd/mm/yyyy.

A que te refieres con esto: para insertar fechas debe acotejarlos con #, #01/12/2003#.

Gracias.

vtdeleon
15-07-2005, 02:50:55
se supone que como estoy manejando la instruccion se deben de poner los valores en string no?. Si, pero la Fecha no es String, es de tipo Date.A que te refieres con esto: para insertar fechas debe acotejarlos con #, #01/12/2003#.No tengo conocimientos amplios en el manejo de instrucciones SQL, por tanto me he guiado siempre de un manual(buscado en Intener). Las fechas se deben escribir siempre en formato mm-dd-aa en donde mm representa el mes, dd el día y aa el año, hay que prestar atención a los separadores -no sirve la separación habitual de la barra (/), hay que utilizar el guión (-) y además la fecha debe ir encerrada entre almohadillas (#). Por ejemplo si deseamos referirnos al día 3 de Septiembre de 1995 deberemos hacerlo de la siguente forma; #09-03-95# ó #9-3-95#.