Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-01-2009
Cecilio Cecilio is offline
Miembro
 
Registrado: ago 2007
Posts: 140
Poder: 17
Cecilio Va por buen camino
Busqueda avanzada en un TClientDataset

Hola.

Siguiendo las instrucciones de un libro he creado una primera aplicacíon de agenda usando como base de datos un TClientDataSet.

Los datos se guardan en formato xml y va muy bien.

La pega es que me gustaría hacer busquedas del tipo sql usando "Like" para buscar algo en cualquier posición de un campo, y no solo lo que empiece por algo.

¿ como se puede hacer ? (si se puede)
__________________
Saludos Cordiales.
------------------

Responder Con Cita
  #2  
Antiguo 07-01-2009
Avatar de droguerman
droguerman droguerman is offline
Miembro
 
Registrado: abr 2005
Ubicación: tierra
Posts: 999
Poder: 20
droguerman Va por buen camino
has probado usar filter?
__________________
self.free;
Responder Con Cita
  #3  
Antiguo 07-01-2009
Avatar de juanelo
juanelo juanelo is offline
Miembro
 
Registrado: sep 2007
Posts: 1.083
Poder: 18
juanelo Va por buen camino
Yo diria, si has probado usar una base de datos.
Saludos
__________________
Ya tengo Firma!
Responder Con Cita
  #4  
Antiguo 07-01-2009
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, como te dice drogerman puedes utilizar filter y Like.

Código Delphi [-]
  ClientDataSet.Filter := 'Campo Like '+QuotedStr('%'+Edit1.Text+'%');

Saluditos
__________________
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
  #5  
Antiguo 07-01-2009
Cecilio Cecilio is offline
Miembro
 
Registrado: ago 2007
Posts: 140
Poder: 17
Cecilio Va por buen camino
Cita:
Empezado por juanelo Ver Mensaje
Yo diria, si has probado usar una base de datos.
Saludos
he usado bases de datos desde hace muchos años, pero no en delphi ni ningun lenguaje parecido. Interbase, MySql, paradox, etc..
__________________
Saludos Cordiales.
------------------

Responder Con Cita
  #6  
Antiguo 07-01-2009
Cecilio Cecilio is offline
Miembro
 
Registrado: ago 2007
Posts: 140
Poder: 17
Cecilio Va por buen camino
Cita:
Empezado por Caro Ver Mensaje
Hola, como te dice drogerman puedes utilizar filter y Like.

Código Delphi [-] ClientDataSet.Filter := 'Campo Like '+QuotedStr('%'+Edit1.Text+'%');


Saluditos
Muuchas gracias.
__________________
Saludos Cordiales.
------------------

Responder Con Cita
  #7  
Antiguo 07-01-2009
Avatar de juanelo
juanelo juanelo is offline
Miembro
 
Registrado: sep 2007
Posts: 1.083
Poder: 18
juanelo Va por buen camino
Cita:
Empezado por Cecilio Ver Mensaje
he usado bases de datos desde hace muchos años, pero no en delphi ni ningun lenguaje parecido. Interbase, MySql, paradox, etc..
Pues a no ser que la aplicacion no lo amerite, yo usaria una base de datos como firebird (la embeded si la aplicacion es pequeña y monousuario), para realizar querys.
Saludos
__________________
Ya tengo Firma!
Responder Con Cita
  #8  
Antiguo 29-10-2010
Avatar de cheche358
cheche358 cheche358 is offline
Miembro
 
Registrado: mar 2010
Ubicación: Valencia - Venezuela
Posts: 35
Poder: 0
cheche358 Va por buen camino
Cita:
Empezado por Caro Ver Mensaje
Hola, como te dice drogerman puedes utilizar filter y Like.

Código Delphi [-] ClientDataSet.Filter := 'Campo Like '+QuotedStr('%'+Edit1.Text+'%');


Saluditos
Perdon pero llego tarde a la fiesta...

Si alguien pudiese explicar mejor este codigo...?

Quien es "Campo Like" ?

Donde iria este código: OnChange del Edit1? OnFilterRecord del ClientDataSet?
Responder Con Cita
  #9  
Antiguo 29-10-2010
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Cita:
Empezado por cheche358 Ver Mensaje
Perdon pero llego tarde a la fiesta...

Si alguien pudiese explicar mejor este codigo...?

Quien es "Campo Like" ?

Donde iria este código: OnChange del Edit1? OnFilterRecord del ClientDataSet?
Eres el segundo Cheché que conozco.

Campo = Un campo cualquiera del conjunto de datos (data set).

Like = Una palabra reservada usada para indicar la condición de que una cadena de caracteres sea como (like) otra.

El uso de la propiedad Filter es básicamente:

Código Delphi [-]
ConjuntoDeDatos.Filter := ExpresionFiltroAUsar;
ConjuntoDeDatos.Filtered := True;

Al hacer eso, el conjunto de datos mostrará solamente los registros que cumplan con los criterios del filtro dado.

Si tienes más dudas pregunta con confianza, pero si el tema deriva en otro anímate a abrir otro hilo de discusión. Tu participación es bienvenida.
Responder Con Cita
  #10  
Antiguo 29-10-2010
Avatar de cheche358
cheche358 cheche358 is offline
Miembro
 
Registrado: mar 2010
Ubicación: Valencia - Venezuela
Posts: 35
Poder: 0
cheche358 Va por buen camino
jejeje gracias por responder Al...

Como aclaratoria; preguntaba por la aplicacion del codigo de filtrado en estos eventos porque me gusta utilizar lo que muchos llaman "busquedas incrementales", es decir, ir filtrando automaticamente la tabla mientras se escribe en el Edit de busqueda y asi lo he hecho y funciona a la perfeccion.

Me considero todavia un novato asi que no se si es apropiado lo que voy a preguntar:

Estos métodos de busqueda son mas propios de SQL?

Estoy trabajando actualmente con tablas en DBISAM, se puede implementar sin mayores problemas igual en tablas de escritorio?
Responder Con Cita
  #11  
Antiguo 29-10-2010
willianrei willianrei is offline
Registrado
NULL
 
Registrado: oct 2010
Posts: 3
Poder: 0
willianrei Va por buen camino
BD Firebird

Hola Muchachos!

Yo estoy con un gran problema con firebird. Estoy haciendo una consulta que trae 30 registros. Muy bien. Cuando hago de un sistema delphi me trae 28 registros con la misma consulta y parámetros.
Que puede ser?
Si alguna persona ha tenido esto como problema, necesito su solución.


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
Busqueda avanzada Pola PHP 3 24-07-2008 19:05:59
Busqueda avanzada JULIPO MySQL 2 22-10-2007 16:14:34
TClientDataset Uso samantha jones Varios 1 09-03-2005 21:22:20
TClientDataSet carlomagno Firebird e Interbase 0 09-09-2004 11:29:23
TClientDataSet saul_montalvo Conexión con bases de datos 1 08-09-2003 04:38:10


La franja horaria es GMT +2. Ahora son las 11:01:48.


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