PDA

Ver la Versión Completa : Parametros nulos en Tquery


jlrbotella
22-05-2007, 09:41:44
Hola:

En un Tquery tengo 2 parámetros uno empresa y otra cadena. Ambos de tipo entero y me gustaría pasar al primer parámetros el valor de 1 y el segundo parámetro (cadena) el valor de no nulo. La SQL es la siguiente:

SQL Inicial;

select * from cliente
where empresa=:empresa
and cadena=:cadena;

Y me gustaría que al pasar los parámetros la sql quedase así:

select * from cliente
where empresa=1
and cadena is not null.

¿Es posible pasar a un parámetros los siguientes valores de:
<,>, not null, null?.

Gracias.

Lepe
22-05-2007, 11:01:07
Con parámetros no creo que pueda hacerse, o al menos tal y como yo lo he entendido.

al usar parámetros estas forzando el tipo de datos, si usas "AsString" delphi esperará una cadena de caracteres y lo encerrará entre comillas simples. Si usas AsInteger, esperará un entero y no podrás asignar el texto " is not null ".

Podrías hacer algo similar a esto:

const sqlcliente = 'select * from cliente where empresa=:empresa and cadena %s';

begin
if checkboxNoNulos.Checked then
query1.sql.text := Format(sqlCliente, ['is not null'])
else
begin
query1.sql.text := Format(sqlCliente, ['= :cadena']);
query1.parambyname('cadena').AsInteger := 3;
end;

query1.parambyname('empresa').AsInteger := 5;
query1.Open;


Saludos