FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Novato (Parametros de busqueda)
tengo un boton que al presionar sale una ventana de busqueda, aqui os dejo el codigo:
yo quiero saber como puedo ampliar los parametros, o sea, que no busque solamente por casa_comercial, sino tambien orden_compra, carta_orden y asi sucesivamente, pero me gustaria que me presentara todos las coincidencias en una grilla aunque en un campo este repetido. gracias!!!! Última edición por marcoszorrilla fecha: 01-06-2006 a las 18:18:09. |
#2
|
||||
|
||||
Saludos
Pare hacer eso debes modificar la sentencia sql e indicarle por cual campo buscar. Donde campo es una variable string que indica el campo que deseas buscar
__________________
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! |
#3
|
||||
|
||||
o sea que para que el edit busque no solamente un solo campo sino varias hago lo siguiente:
procedure TForm3.BitBtn1Click(Sender: TObject); var campo:String carta:String Valor:Currency begin Campo:='Carta_orden';//O cualquier otro campo carta:='Casa_Comercial'; Valor:='Valor_orden'; // Muestra el diálogo de consultas dlgBuscar.ShowModal; if dlgBuscar.ModalResult = mrOK then begin qryConsulta.Close; qryConsulta.Sql.Text:='Select * from tabla where '+campo+' "" '+carta+' "" '+Valor+'=:busqueda'; qryConsulta.ParamByName('busqueda').AsString := dlgBuscar.BuscarEdt.Text+'%'; qryConsulta.Open; end; end; es correcto? o que es lo que esta mal?? recuerda que quiero que busque varios campos de una tabla y no una sola como mostre en el codigo anterior. gracias!!!! |
#4
|
||||
|
||||
Si vas a buscar por muchos parámetros, yo construiría varias funciones para no complicar mucho el código:
Vamos el famoso "divide y vencerás". Cada función se encarga de una pequeña parte (cada condición) y despues devuelve el string con el SQL que corresponde con esa condición. En este caso es mejor no usar parámetros (parambyname), los parámetros no aportará mejora alguna, porque de una ejecución a otra varía la SQL y con ello el número de parámetros. Antes de hacer un Query1.Open, haz un Memo1.Lines.Add(query1.Sql.Text) para ver que toda la SQL está correcta, los apostrofes, las uniones con "and" y "or", los espacios en blanco, etc. Así no te mareas mucho Saludos.
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. Última edición por Lepe fecha: 01-06-2006 a las 20:29:37. |
#5
|
||||
|
||||
Cita:
enecumene, trata de usar las etiquetas [delphi] [/delphl] para los codigos, no ves la diferencia entre mi codigo y el tuyo
__________________
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! |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Novato (Busqueda de registros con TEdit y DBGrid) | enecumene | Conexión con bases de datos | 3 | 27-05-2006 20:04:12 |
busqueda por distintos parametros | raffagia | Varios | 10 | 26-08-2005 11:45:51 |
busqueda por dos parametros | rolando_s | Conexión con bases de datos | 1 | 03-03-2005 12:12:20 |
Pregunta de novato.. pero de muy novato | CFPA86 | PHP | 1 | 08-08-2004 06:53:42 |
Muy Novato | miguel_fr | SQL | 5 | 09-04-2004 15:54:00 |
|