Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Go Back   Foros Club Delphi > Principal > Conexión con bases de datos
Register FAQ Members List Calendar Guía de estilo Search Today's Posts Mark Forums Read

Conexión con bases de datos

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 11/10/2008
rochi rochi is offline
Miembro
 
Join Date: Nov 2004
Location: mvd, uruguay
Posts: 57
Poder: 22
rochi Va por buen camino
Automatizar seteo de parámetros para consultas

Hola ya vi como hacer una búsqueda incremental, ahora bien, lo que quisiera es tener una ComboBox donde el usuario seleccione por cual parámetro quiere buscar. Que al seleccionar, arme la sentencia SQL con el nombre del parámetro y el valor.

Es decir, para presentar el parámetro al usuario, quiero que vea la palabra "Código cliente", pero el nombre del campos es Cod_Cli, y es con la que debo 'armar' la sentencia SQL o CommandText.

¿Cómo resuelven uds estas cosas?.

Saludos, ro
Reply With Quote
  #2  
Old 11/10/2008
Lepe's Avatar
[Lepe] Lepe is offline
Miembro Premium
 
Join Date: May 2003
Posts: 7,424
Poder: 31
Lepe Va por buen camino
Hay dos formas:
- Ponerle en el combo el mismo nombre que tiene el campo, y otro listbox con los simbolos ">", "<", "="; después de eso un TEdit donde el usuario pondrá la cadena de búsqueda. Esos 3 controles se pueden crear tantas veces como el usuario quiera para marcar varios criterios de búsqueda a la vez (usando frames, por ejemplo).

- Hacer la interfaz más bonita, poniendo un grid pequeñito que muestre el código de cliente y el nombre; el usuario marcará el que quiera. Para las demás opciones de búsqueda, puedes usar RadioButtons, checkboxes etc

La última vez que hice algo así, ricé el rizo. Mediante la JVCL, creé un menú calcado a la pantalla de búsqueda de windows XP (sin el muñeco del perrito ). Potente y bonito.

El primer caso no resulta muy atractivo para el usuario final, (tampoco cómodo); el segundo caso, es más atractivo, pero tardarás más en hacerlo.

En cuanto a armar el SQL, yo parto en varias funciones el sql, (aunque el ejemplo es sencillo, en la realidad se complica bastante, y una sola rutina es enorme, con un montón de variables, lo prefiero así:
Código Delphi [-]
const campos = 'select campo1, campo2 campo3 from tabla ';
var TheSql :String;
       where :string;
begin
TheSql := campos + periodoFechas + Cliente + Pagado ;
end;

function Cliente :string;
begin
     Result :=  ' cliente  = ' inttostr(dbgrid.columns[0].Fieldbyname('cod_cli').asstring;
end;

function Pagado:string
begin
  if chkPagado.checked then
     result := ' and pagado = 1';
  else
   Result := '';
end;
Periodofechas obliga a elegir entre dos fechas (datetimepickers) así siempre me aseguro que tiene una condición en el where y las demás opciones que vienen por detrás, no darán error de sintaxis, como cliente y/o pagado, siempre incluyen el 'and' que une las cláusulas.


Hay algunos componentes de terceros que sirven para construir sqls, te pueden ayudar un poco más.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Last edited by Lepe : 11/10/2008 at 11:32.
Reply With Quote
  #3  
Old 11/10/2008
rochi rochi is offline
Miembro
 
Join Date: Nov 2004
Location: mvd, uruguay
Posts: 57
Poder: 22
rochi Va por buen camino
Gracias por los ejemplos , voy a estudiarlos es una opción interesante. El tema que me cuesta evitar son los "if", para identificar el tipo de los parámetros: integer, string, etc, como que no queda otra, creería.
Salvo que en diferentes componentes tenga los diferentes tipos de parámetros.

Buscando encontré el JVDBComboBox, a c/campo le asocia un string, entonces hago mas amigable la selección del parámetro al usuario, ve 'código' y no 'cod_cli'. Pero tampoco me salvo de los "ifs" porque puede haber enteros o strings.

Saludos, ro
Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
usar una misma sql para realizar varias consultas Patricio Varios 1 17/09/2008 19:13
consultas con y sin parámetros. fjardelphi Conexión con bases de datos 4 06/05/2005 22:49
Parametros en consultas Walterdf Conexión con bases de datos 2 09/03/2005 21:31
Programa para automatizar la inserción en BD?? burasu Firebird e Interbase 1 26/08/2004 16:03
Consultas SQL para Paradox azaagh Conexión con bases de datos 8 07/06/2004 22:36


All times are GMT +2. The time now is 02:16.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi