Ver Mensaje Individual
  #2  
Antiguo 17-04-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
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');  // (PartNo es la clave primaria )
    ParamByName('PATRON').AsString:= Edit1.Text+'%';
    Open;
  end;
end;

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 19-04-2011 a las 06:33:16.
Responder Con Cita