PDA

Ver la Versión Completa : Problemas con la sintaxis


andre navarrete
13-08-2006, 11:46:09
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.

Bicho
13-08-2006, 12:57:23
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:

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:

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

andre navarrete
13-08-2006, 16:48:47
Amigo Me Has Sacado Un Gran Peso De Encima, Muchas Gracias.

Saludos.