Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Ayuda con fecha (https://www.clubdelphi.com/foros/showthread.php?t=23382)

raco 15-07-2005 01:12:15

Ayuda con fecha
 
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:)
Código Delphi [-]
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 Parametros
Código Delphi [-]
Querys.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

Ayuda con fecha
 
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

Cita:

Empezado por raco
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.
Cita:

Empezado por raco
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).
Cita:

Empezado por Manual SQL
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#.



La franja horaria es GMT +2. Ahora son las 15:01:11.

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