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 03-07-2007
Avatar de foetus
foetus foetus is offline
Miembro
 
Registrado: mar 2007
Ubicación: Santo Domingo, Rep. Dom.
Posts: 77
Poder: 18
foetus Va por buen camino
Arrow Intercalar Variable en SQL...

Necesito que alguien me diga como intercalar variables en una consulta SQL.
El objetivo de esto es que el usuario eliga la forma de la busqueda..
por ejemplo si temgo um comboBox, con Buscar por fecha, por ID , o por nombre, guardaré esto en una variable consulta...

Como pondria la variable aquy?
Por ej: Select * from ORDENES Where ....variable...... =" +Edit1.Text;

Saludos.....
Responder Con Cita
  #2  
Antiguo 03-07-2007
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola foetus, tendrias que tener una variable donde almacenar el nombre del campo por el cual quieres hacer la busqueda y despues lo concatenas.

Código Delphi [-]
Var
 campo:String;
begin  
 Case ComboBox1.ItemIndex of
 0:campo:='fecha';
 1:campo:='id';
 2:campo:='nombre';
 end;
  ........
  Query1.Sql.Text:='Select * from ORDENES Where '+campo+'=' +Edit1.Text;
  ........

Saludos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #3  
Antiguo 03-07-2007
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
¿Para que declarar una variable tipo Cadena si con la propiedad "Text" del combo se puede realizar ?

Código Delphi [-]
with TuQuery do begin
 If active then close;
 SQL.Clear;
 SQL.Add('Select Campos');
 SQL.Add('From TuTabla');
 SQL.Add('Where :Campo = :Valor');
 ParamByName('Campo').AsString := TuCombo.Text;
 ParamByName('Valor').AsString := TuEdit.Text;
 Open;
 .......
end;
__________________

Responder Con Cita
  #4  
Antiguo 04-07-2007
Avatar de foetus
foetus foetus is offline
Miembro
 
Registrado: mar 2007
Ubicación: Santo Domingo, Rep. Dom.
Posts: 77
Poder: 18
foetus Va por buen camino
Thumbs up

gracias por ayudarme en esto ah Ambos.....

...saludos
Responder Con Cita
  #5  
Antiguo 05-07-2007
Avatar de foetus
foetus foetus is offline
Miembro
 
Registrado: mar 2007
Ubicación: Santo Domingo, Rep. Dom.
Posts: 77
Poder: 18
foetus Va por buen camino
Arrow

Código Delphi [-]
ADOQuery1.Close;
with ADOQuery1 do begin
If active then close;
SQL.Clear;
SQL.Add('Select *');
SQL.Add('From Ordenes');
SQL.Add('Where :Campo = :valor');
ParamByName('Campo').AsString := ComboBox1.Text;
ParamByName('valor').AsString:= Edit4.Text;
ADOQuery1.Open;

algo como esto trate de hacer. pero no me funciona, me da error en la parte del parametro:ParamByName('Campo').AsString := ComboBox1.Text;

Tambien traté: ADOQuery1.Paremeters.ParamByName('campo').AsString := ComboBox1.text;

no se que pueda ser??
Responder Con Cita
  #6  
Antiguo 05-07-2007
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
Si nos dices que error es el que te da, podríamos darte una idea... pero así adivianando cuál es el error pues no se me ocurre nada.


Código Delphi [-]
with ADOQuery1 do begin
 If active then close;
 SQL.Clear;
 SQL.Add('Select *');
 SQL.Add('From Ordenes');
 SQL.Add('Where '+ComboBox1.Text+' = :Valor');
 ParamByName('Valor').AsString := TuEdit.Text;
 Open;
 .......
end;
__________________


Última edición por ContraVeneno fecha: 05-07-2007 a las 20:13:55.
Responder Con Cita
  #7  
Antiguo 09-07-2007
Avatar de foetus
foetus foetus is offline
Miembro
 
Registrado: mar 2007
Ubicación: Santo Domingo, Rep. Dom.
Posts: 77
Poder: 18
foetus Va por buen camino
Arrow

bueno...
iva a incluir los errores, en el mensage anterior.. pero creí que los tenia en un USB, y no era asi... aquy estan los errores que me da......
Este es el Codigo:
Código SQL [-]
begin
ADOQuery1.Close;
with ADOQuery1 do begin
If active then close;
SQL.Clear;
SQL.Add('Select *');
SQL.Add('From Ordenes');
SQL.Add('Where :Campo = :valor');

ParamByName('Campo').AsString := ComboBox1.Text;

ParamByName('valor').AsString:= Edit4.Text;
ADOQuery1.Open;


end;


errores......
Código:
Undeclared identifier: 'ParamByName'

Missing operator or semicolon
Responder Con Cita
  #8  
Antiguo 09-07-2007
Avatar de jcarteagaf
[jcarteagaf] jcarteagaf is offline
Miembro Premium
 
Registrado: abr 2006
Ubicación: La Paz, Bolivia
Posts: 651
Poder: 19
jcarteagaf Va por buen camino
Parametros en ADO

Debes usar:

Código Delphi [-]
with ADOQuery1 do
begin
  Parameters.parambyname('PARAMETRO').Value := valor;
...
end;

Saludos
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
variable dentro de una variable molinero1 Varios 3 23-04-2007 12:44:48
Variable!! jdattoli Conexión con bases de datos 3 10-05-2006 10:10:04
Variable con color? jam888 Varios 2 06-04-2006 02:24:03
variable con sql Cosgaya Tablas planas 3 15-12-2005 15:49:14
Path Variable eber Conexión con bases de datos 5 21-09-2004 20:54:58


La franja horaria es GMT +2. Ahora son las 17:47:59.


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