Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Problema en consulta SQL con variables y format (https://www.clubdelphi.com/foros/showthread.php?t=27169)

ilichhernandez 14-11-2005 14:38:29

Problema en consulta SQL con variables y format
 
Depues de haber leido varios hilos referentew al tema, llegue al siguiente codigo:pero me reclama el "%".... dice el sistema que no es valido el formato o el argumento es incompatible.....

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var consulta,campos,donde,orden : string;
begin
Consulta := 'Select % from resultados where % order by %';
query1.sql.text := format(consulta,[campos,donde,orden]);
query1.ExecSQL;
end;

ilich hernandez.

Gracias.........:(

vtdeleon 14-11-2005 14:45:19

Saludos
No está clara tu duda, pero deduciendo
Código Delphi [-]
Consulta := 'Select %s from resultados where %s order by %s';

ilichhernandez 14-11-2005 14:52:47

Le he echo la "s" que me faltaba y cuando lo ejecute quedo se cayo y me salio una ventana que dice que no hay sentencia SQL disponible y luego la ventana de la CPU.....lo que estoy tratando de hacer es poder entregar como parametro los campos a seleccionar, los campos para el ordenamiento y los campos del where....

Código Delphi [-]
 procedure TForm1.Button1Click(Sender: TObject);
 var consulta,campos,donde,orden : string;
 begin
 campos := '*';
 donde  := 'codigo_pricipal = "EC SAC 10 005" ';
 orden  := 'codigo_principal';
 Consulta := 'Select %s from resultados where %s order by %s';
 query1.sql.text := format(consulta,[campos,donde,orden]);
 query1.ExecSQL;
 end;

Gracias y saludos

vtdeleon 14-11-2005 15:15:31

Saludos

Algo que se me pasó, es que veo que usas ExecSql, debes usar Open para sentencias "Select".

Lepe 14-11-2005 15:25:06

Código Delphi [-]
 donde  := 'codigo_pricipal = '+ quotedStr('EC SAC 10 005');
En princpio son comillas simples, a menos que uses Access creo recordar.

saludos

ilichhernandez 14-11-2005 20:05:16

no hay caso de momento.... tira un error distinto ahora..., hasta el mensaje que sale va bien.... la consulta va en la query.sql.text, pero luego lanza el siguiente error :"Could not find object".....


Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var consulta,campos,donde,orden : string;
begin

campos := '*';
donde  := 'codigo_pricipal = '+ quotedStr('EC SAC 10 005');
orden  := 'codigo_principal';
Consulta := 'Select %s from resultados where %s order by %s';
//query1.active := true;
query1.sql.text := format(consulta,[campos,donde,orden]);
showmessage(query1.sql.Text);
query1.open;
end;

Saludos y gracias

ilichhernandez 14-11-2005 20:08:54

Ahora no lanza error, resulta que donde dice codigo_pricipal es "codigo_principal"...., gracias por sus ayudas compañeros....... eternamente agradecido......

ilich hernandez.


La franja horaria es GMT +2. Ahora son las 06:25:27.

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