Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-09-2010
servicomp servicomp is offline
No confirmado
 
Registrado: oct 2003
Ubicación: Cartago
Posts: 154
Poder: 0
servicomp Va por buen camino
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

Código SQL [-]
SELECT IDENTIFICADOR, NOMBRE1, NOMBRE2, APELLIDO1, APELLIDO2, NOMCOMERCIAL FROM NOMBRE WHERE NOMBRE1 LIKE'+Edit1.Text+'%

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
Responder Con Cita
  #2  
Antiguo 04-09-2010
IVAND IVAND is offline
Miembro
 
Registrado: may 2003
Ubicación: ECUADOR
Posts: 531
Poder: 24
IVAND Va por buen camino
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
Responder Con Cita
  #3  
Antiguo 14-09-2010
servicomp servicomp is offline
No confirmado
 
Registrado: oct 2003
Ubicación: Cartago
Posts: 154
Poder: 0
servicomp Va por buen camino
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.

Código SQL [-]
IBuscar.SQL.Add('SELECT IDENTIFICADOR, NOMBRE1, NOMBRE2, APELLIDO1, APELLIDO2, NOMCOMERCIAL FROM NOMBRE WHERE NOMBRE1 LIKE "J% " ORDER BY NOMBRE2' );

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%
Al parecer no me esta tomando el LIKE y me esta tomando la J% como una columna.

Agradezco sus comentarios para resolver esta trivial consulta.


Macana
Responder Con Cita
  #4  
Antiguo 14-09-2010
ARPE ARPE is offline
Miembro
 
Registrado: oct 2003
Posts: 11
Poder: 0
ARPE Va por buen camino
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.
Responder Con Cita
  #5  
Antiguo 14-09-2010
mcs mcs is offline
Miembro
 
Registrado: may 2007
Ubicación: Girona
Posts: 229
Poder: 20
mcs Va por buen camino
Cita:
Empezado por ARPE Ver Mensaje
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.
No sería mejor pasar el nombre por parámetros? No sé como funcionan estos componentes que usáis, pero en los IBDAC sería algo como:

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;
Así nos ahorramos los problemas de escribir L'Andreu y cosas similares...

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")
Responder Con Cita
  #6  
Antiguo 14-09-2010
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 26
guillotmarc Va por buen camino
Cita:
Empezado por ARPE Ver Mensaje
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
Para evitar eso se utilizan consultas con parámetros :

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).
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
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


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


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