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 19-11-2012
gonzabec gonzabec is offline
Registrado
NULL
 
Registrado: sep 2012
Posts: 6
Poder: 0
gonzabec Va por buen camino
Recorrer y comprar datos en un DBgrid

Buenas, soy muy nuevo en esto. En mi caso tengo los datos de una tabla (DBgrid) , donde esta esta conectada a un DataSorurce. Lo que yo necesito es: Recorrer El DBgrid y comparar cada registro con TEdit, en caso de encontrar cadenas iguales, reportar Verdadero o encontrado y en caso contrario Falso o no encontrado. Es para hacer un control de los datos de la tabla. Para verificar la existencia del dato buscado.
Gracias.
Saludos.
Responder Con Cita
  #2  
Antiguo 19-11-2012
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
El problema que veo es que por cada dato siempre mostrara o bien falso o verdadero.
Me parece algo ilogico.
Que base de datos usas ?
Que componentes de conexión ?
Saludos
__________________
Siempre Novato
Responder Con Cita
  #3  
Antiguo 19-11-2012
gonzabec gonzabec is offline
Registrado
NULL
 
Registrado: sep 2012
Posts: 6
Poder: 0
gonzabec Va por buen camino
Creo que me exprese mal. La base de datos que uso es Acces. Los coponentes que uso son DBGrid,Data Source y TTable. Lo que yo quiero hacer es: Buscar la existencia de un dato respecto a un dato ingresado por un TEdit. Con este dato ingresado buscar si existe o no en el DBGrid. En caso de no existir, reporta que no se encontro lo pedido.
Gracias.
Responder Con Cita
  #4  
Antiguo 19-11-2012
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Me imagino que buscaras el dato de algun campo de la tabla en especifico.
Usando un ttable tienes que usar un filtro que comparara el dato del campo contra el dato que escribiste en el edit.
Usando la logica de esto se tendra que recorrer la tabla para buscar el dato:

Código Delphi [-]
var
   Filtro : String;
begin
   If (Edit1.Text <> '') then // si el edit NO esta vacío entonces sigue
   begin
      TuTable.Filtered := False;
  
     While not TuTable.Eof do
   begin
     Filtro := 'Tu_Campo = '''+ Edit1.Text + '*''';
      TuTable.Filter := Filtro;
      TuTable.Filtered := True;
      If Filtro <> Edit1.Text then 
     begin
     Showmessage('Registro NO encontrado');
    end;
     TuTable.Next;
         
   end

   else TuTable.Filtered := False;

Osea:
1-creo un filtro al campo de la tabla.
2-recorro la tabla buscado los datos que sean iguales.
3-indico si el dato NO se encontro
Saludos
PD: Codigo sin probar, al vuelo
__________________
Siempre Novato
Responder Con Cita
  #5  
Antiguo 19-11-2012
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
En realidad el codigo anterior es allgo ilogico ya que al estar conectado el ttable con el dbgrid al ser filtrado lo que hara sera borrar el contenido del dbgrid y mostrar solamente el dato que sea igual al del edit.
Creo que no se lo que buscas, tal vez te sirva de guia, pero no es lo correcto, lo mas logico es simplemente mostrar el dato usando un tquery u otro ttable.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #6  
Antiguo 19-11-2012
gonzabec gonzabec is offline
Registrado
NULL
 
Registrado: sep 2012
Posts: 6
Poder: 0
gonzabec Va por buen camino
Buenisimo! Pruebo, y aviso.
Gracias.
Responder Con Cita
  #7  
Antiguo 19-11-2012
gonzabec gonzabec is offline
Registrado
NULL
 
Registrado: sep 2012
Posts: 6
Poder: 0
gonzabec Va por buen camino
Lo que quiero es buscar un dato a partir de otro que tengo es TEdit nada mas!. Osea Obtengo el dato y luego lo busco en DBgrid. Si no esta informo lo mismo al usuario, sino lo busco normalmente con un filtro
Responder Con Cita
  #8  
Antiguo 19-11-2012
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Coloca un TQuery en el form, conectalo a la bd:
Código Delphi [-]
TuQuery.sql.text:= 'Select TuCampo from TuTabla where tucampo = '''+ Edit1.Text + '*''';
TuQuery.Open;
If TuQuery.Fields[0].Value <> Edit1.Text then
Showmessage('El dato no existe');
TuQuery.Close;
A ver asi:
Saludos
__________________
Siempre Novato
Responder Con Cita
  #9  
Antiguo 20-11-2012
fidel fidel is offline
Miembro
 
Registrado: mar 2005
Posts: 381
Poder: 20
fidel Va por buen camino
"Locate" también te sirve si la tabla no es muy grande. Busca en la ayuda.
Responder Con Cita
  #10  
Antiguo 20-11-2012
jsc jsc is offline
Miembro
 
Registrado: nov 2003
Posts: 144
Poder: 21
jsc Va por buen camino
Cita:
Empezado por Caral Ver Mensaje
Hola
Coloca un TQuery en el form, conectalo a la bd:
Código Delphi [-]
TuQuery.sql.text:= 'Select TuCampo from TuTabla where tucampo = '''+ Edit1.Text + '*''';
TuQuery.Open;
If TuQuery.Fields[0].Value <> Edit1.Text then
Showmessage('El dato no existe');
TuQuery.Close;
A ver asi:
Saludos
yo optaria por esta opción que te indica Caral
por aportar algo quiza en lugar de
Código:
If TuQuery.Fields[0].value <> Edit1.text then
sea mas vistoso de cara a no equivocarte en donde hacer el filtro o la busqueda sea
Código:
IF TuQuery.Fieldbyname('CAMPO').value <> Edit1.text then
donde CAMPO seria el campo de la tabla en la bd donde tendrias que buscar para encontrar o no coincidencias
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
Recorrer Una Tabla O Dbgrid Para Validar Datos donpedro Conexión con bases de datos 10 18-07-2011 17:33:06
DBGrid recorrer JXJ Varios 2 21-02-2011 06:05:19
Quiero comprar Delphi y un manejador de Base de Datos Forest Varios 10 19-08-2008 21:10:56
recorrer dbgrid gsilvei Varios 2 26-01-2008 06:57:45
Recorrer un dbgrid el_barto Conexión con bases de datos 15 03-08-2005 22:36:07


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


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