FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Buscar Registro Semejantes
Hola compañeros
Tengo una pequeña base de datos, con los campos, NOMBRE1, NOMBRE2, APELLIDO1, APELLIDO2, NOMCOMERCIAL. Deseo que el usuario busque por uno de los campos de la tabla, asi no conozca el nombre completo, y me lo envie a un DBGrid. Estos usando Firebird y para hacer la conexión estoy usando IBX, pero como arranco para este proceso Agradeciendo de antemano la atención prestada Macana |
#2
|
||||
|
||||
Pues tendrás que hacerlo como "en la vida real", o sea, comparar cada campo. Me explico, el usuario escribe una cadena a buscar en un TEdit. (por ejemplo)
Ahora debes pedir al servidor de datos lo que te interesa buscar, puede ser algo parecido a esto: Código:
select * from tbclientes where NOMBRE1 containing :cQueBusco or NOMBRE2 containing :cQueBusco or APELLIDO1 containing :cQueBusco or APELLIDO2 containing :cQueBusco or NOMCOMERCIAL containing :cQueBusco
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código Únete al grupo Teaming clubdelphi | Colabora mediante Paypal Última edición por Casimiro Notevi fecha: 31-08-2010 a las 01:22:38. |
#3
|
|||
|
|||
Perdon.
el usuario ya ha seleccionado por cual de los campos desea buscar, mi problema aparece es cuando deseamos buscar por uno de los campos por ejemplo la palabra 'ALBERTO', pero el usuario solo escribe 'ALBE', y deberian sali en mi dbgrid, todos los registros que el campo NOMBRE1, inicien con 'ALBE', hay algun comodin para usarlo, o alguna instrucción. Agradeciendo de antemano la ayuda Macana |
#4
|
||||
|
||||
Entonces puedes usar "like"
|
#5
|
|||
|
|||
Agradezco la colaboración amigos, con la siguiente espreción que deseo colocar por si alguien en un futuro lo necesita, resolvi parte del problema
El problema es que la consulta la realizo con in IBQuery, y deseo que los resultados me aparezcan en un DBGird. ¿Como direcciono los datos que me da el IBQuery al DBGrid? Agradeciendo de antemano la atención prestada |
#6
|
|||
|
|||
Enlazas al Ibquery con un componente Datasource (Propiedad Dataset colocas en nombre del Ibquery) y a este con el dbgrid en su propiedad Datasource
__________________
IVAND |
#7
|
|||
|
|||
con otro problema Trivial
Bueno amigos, le cuanto que estoy usando para mi busquedad la sentencia SQL que escribi en la antigua consulta y que coloco de nuevo a continuación.
Le he colocado la "J%", como por ejemplo me busque los registros que inician por J y el comodin, pero al ejecutar la opcion IBuscar.Open, para activar la busqueda, me lanza el siguiente error Código:
SQL Error Code = -206 Column Unknown J% Agradezco sus comentarios para resolver esta trivial consulta. Macana |
#8
|
|||
|
|||
Hola, me temo que es cuestión de comillas y cuentan por ahí que es más eficiente "starting with" que "like xxx%".
La consulta quedaría algo así: IBuscar.SQL.Add('SELECT IDENTIFICADOR, NOMBRE1, NOMBRE2, APELLIDO1, APELLIDO2, NOMCOMERCIAL FROM NOMBRE WHERE NOMBRE1 LIKE ''' + edit1.text + '%'' ORDER BY NOMBRE2'); Todo son comillas simples, pero cuentan que es mejor esta IBuscar.SQL.Add('SELECT IDENTIFICADOR, NOMBRE1, NOMBRE2, APELLIDO1, APELLIDO2, NOMCOMERCIAL FROM NOMBRE WHERE NOMBRE1 starting with ''' + edit1.text + ''' ORDER BY NOMBRE2'); y lo malo como el usuario te escriba L'Andreu saludos. |
#9
|
|||
|
|||
Cita:
Código:
IBuscar.SQL.Add('SELECT IDENTIFICADOR, NOMBRE1, NOMBRE2, APELLIDO1, APELLIDO2, NOMCOMERCIAL FROM NOMBRE WHERE NOMBRE1 starting with '':NOMBRE'' ORDER BY NOMBRE2'); IBuscar.ParamByName('NOMBRE').AsString:=edit1.text; Ah, observar que :NOMBRE no está entre comillas, está entre apostrofes... Las comillas producen el error que comentaba antes servicomp (el -206 de "Column not found") |
#10
|
||||
|
||||
Cita:
IBuscar.SQL.Add('SELECT IDENTIFICADOR, NOMBRE1, NOMBRE2, APELLIDO1, APELLIDO2, NOMCOMERCIAL FROM NOMBRE WHERE NOMBRE1 starting with :NOMBRE ORDER BY NOMBRE2'); IBuscar.ParamByName('NOMBRE').Value := 'J'; Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
ayuda como buscar un registro | Big_blood | OOP | 3 | 20-05-2007 01:51:52 |
Buscar y reemplazar en el registro | aom | Varios | 2 | 21-09-2006 13:50:06 |
Buscar registro y mostrar en edits | CONY | Conexión con bases de datos | 1 | 18-07-2006 23:14:43 |
buscar registro y modificar fila | abogado | SQL | 4 | 08-04-2005 12:57:40 |
Buscar un registro en una tablaAdo | Telemaco | Conexión con bases de datos | 3 | 08-10-2004 09:24:19 |
|