Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-08-2006
andre navarrete andre navarrete is offline
Miembro
 
Registrado: ago 2004
Ubicación: santiago, chile.
Posts: 14
Poder: 0
andre navarrete Va por buen camino
Lightbulb Problemas con la sintaxis

Necesito ayuda amigos con esto

codigo sql.

select * from TABLA where FECHA between '01/01/1980' and '31/12/1982'

Y EN DELPHI:

QUERY1.SQL.Text:='select * from TABLA where FECHA between '01/01/1980' and '31/12/1982';

Y ME DA ESTE ERROR
type mismatch in expression.

ME PUEDEN AYUDAR, GRACIAS.

Última edición por andre navarrete fecha: 13-08-2006 a las 12:33:07.
Responder Con Cita
  #2  
Antiguo 13-08-2006
Avatar de Bicho
[Bicho] Bicho is offline
Miembro Premium
 
Registrado: jul 2003
Ubicación: Inca - Mallorca
Posts: 1.776
Poder: 22
Bicho Va por buen camino
Hola andre navarrete, en Delphi estás intentando traspasar las select tal como están en SQL y no se puede. En tú caso al ponerle comillas a la fecha que usas como filtro estás cerrando las comillas con las que estás escribiendo el texto SQL, es decir estás terminando el string. Para poner los datos a mano en el SQL debes usar comillas dobles de esta manera:

Código Delphi [-]
QUERY1.SQL.Text:='select * from TABLA where FECHA between ' + "01/01/1980" + ' and ' + "31/12/1982";

De esta manera te cogerá las fechas.

Luego tienes una manera más cómoda de hacerlo y es por parámetros, de esta manera:
Código Delphi [-]
Query1.SQL.Text := 'select * from tabla where fecha between :finicio and ffinal';
Query1.ParamByName('finicio').AsDateTime := StrToDateTime('01/01/1980');
Query1.ParamByName('ffinal').AsDateTime := StrToDateTime('31/12/1982');
Query1.Open;

De esta manera en el SQL.Text lo tienes todo encerrado entre unas simple comillas sin lios de dobles comillas ni signos de sumar y además tienes las datos parametrados para que el usuario ingrese el rango de fecha con un edit o un datetimepicker y formateados a datetime (o al formato necesario el tipo de dato en la tabla: string, integer, date, timestamp, etc).

Espero te sirva.

Saludos
Responder Con Cita
  #3  
Antiguo 13-08-2006
andre navarrete andre navarrete is offline
Miembro
 
Registrado: ago 2004
Ubicación: santiago, chile.
Posts: 14
Poder: 0
andre navarrete Va por buen camino
Gracias

Amigo Me Has Sacado Un Gran Peso De Encima, Muchas Gracias.

Saludos.
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 22:07:52.


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