Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-11-2005
ilichhernandez ilichhernandez is offline
Miembro
 
Registrado: oct 2005
Posts: 277
Poder: 19
ilichhernandez Va por buen camino
Problema en consulta SQL con variables y format

Depues de haber leido varios hilos referentew al tema, llegue al siguiente codigoero 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.........
__________________
[Lo que a veces es tan facil, a veces parece imposible]
Responder Con Cita
  #2  
Antiguo 14-11-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Saludos
No está clara tu duda, pero deduciendo
Código Delphi [-]
Consulta := 'Select %s from resultados where %s order by %s';
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!

Última edición por vtdeleon fecha: 14-11-2005 a las 14:50:39.
Responder Con Cita
  #3  
Antiguo 14-11-2005
ilichhernandez ilichhernandez is offline
Miembro
 
Registrado: oct 2005
Posts: 277
Poder: 19
ilichhernandez Va por buen camino
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
__________________
[Lo que a veces es tan facil, a veces parece imposible]

Última edición por ilichhernandez fecha: 14-11-2005 a las 14:55:09.
Responder Con Cita
  #4  
Antiguo 14-11-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Saludos

Algo que se me pasó, es que veo que usas ExecSql, debes usar Open para sentencias "Select".
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #5  
Antiguo 14-11-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Código Delphi [-]
 donde  := 'codigo_pricipal = '+ quotedStr('EC SAC 10 005');
En princpio son comillas simples, a menos que uses Access creo recordar.

saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #6  
Antiguo 14-11-2005
ilichhernandez ilichhernandez is offline
Miembro
 
Registrado: oct 2005
Posts: 277
Poder: 19
ilichhernandez Va por buen camino
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
__________________
[Lo que a veces es tan facil, a veces parece imposible]
Responder Con Cita
  #7  
Antiguo 14-11-2005
ilichhernandez ilichhernandez is offline
Miembro
 
Registrado: oct 2005
Posts: 277
Poder: 19
ilichhernandez Va por buen camino
Ahora no lanza error, resulta que donde dice codigo_pricipal es "codigo_principal"...., gracias por sus ayudas compañeros....... eternamente agradecido......

ilich hernandez.
__________________
[Lo que a veces es tan facil, a veces parece imposible]
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 14:34: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
Copyright 1996-2007 Club Delphi