Hola oktubre.
No tengo experiencia en
Paradox, pero si bién es sabido que no es una maravilla, suponía que tampoco podía ser tan desastroso. Así que leí un poco sobre la sintáxis SQL que soporta.Y obtuve estos resultados sobre la tabla
parts.db que viene en los ejemplos de Delphi 7.
Cita:
el Upper directamente no funciona
|
La sentencia UPPER funcionó perfectamente:
Código Delphi
[-]
procedure TForm1.btAlfaClick(Sender: TObject);
begin
with Query1 do
begin
Close;
SQL.Clear;
SQL.Add('SELECT * FROM parts');
SQL.Add('WHERE UPPER(Description) LIKE UPPER(:PATRON)');
ParamByName('PATRON').AsString:= Edit1.Text+'%';
Open;
end;
end;
Cita:
la unica forma de consultar con LIKE es a un campo que no sea índice principal.
|
En cuanto al índice también lo pude consultar con la cláusula
LIKE, y funcionó correctamente.
Lo que hay que tener en cuenta que si se trata de un campo numérico hay que hacer la conversión correspondiente, ya que
LIKE se usa para comparar una expresión de
cadena de caracteres con un modelo.
Código Delphi
[-]
procedure TForm1.btNumClick(Sender: TObject);
begin
with Query1 do
begin
Close;
SQL.Clear;
SQL.Add('SELECT * FROM parts');
SQL.Add('WHERE CAST(PartNo AS VARCHAR(4)) LIKE :PATRON'); ParamByName('PATRON').AsString:= Edit1.Text+'%';
Open;
end;
end;
Un saludo.