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 25-05-2004
bustio bustio is offline
Miembro
 
Registrado: oct 2003
Posts: 231
Poder: 21
bustio Va por buen camino
Sobre el DBGRID y como buscar en el

Hola a la comunidad!!!
Estoy realizando una aplicacion que me ofrece datos de una BD, pero en el DBGRID que los muestra aparecen muchos. Cuando busco un elemento en especifico dentro del DBGRID tengo que ir recorriendo con la vista todo el contenido, lo que no me resuelve ningun problema. Yo necesito que pasandole un valor a un edit, me seleccione la linea del DBGRID donde se encuentra la primera ocurrencia. Esa es una, y la otra es que cuando le de doble click por ejemplo, a una casilla de un DBGRID este me devuelva su contenido, para luego hacer transacciones con el.
Agradezco todo tipo de ayudas.. sobre todo fragmentos de codigos..
Gracias!!!!

LAZARO BUSTIO MARTINEZ
-------------------------------
CUBA ES UNICA - VIVA CUBA, MEJICO, VENEZUELA, ARGENTINA, BRASIL, etc, etc
Responder Con Cita
  #2  
Antiguo 25-05-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Hola Bustio:

En tu pregunta has omitido el motor de base de datos que estás utilizando, cosa muy importante a la hora de poder dar una respuesta válida, no obstante te voy a responder como si fuera para Paradox, pero más o menos, eso sí contando con el campo por el que deseamos buscar este indexado y además esté activo dicho índice.

Código Delphi [-]
MiTabla.IndexName:='MiIndice'; // Activamos el índice
//EdBuscar es un Tedit en donde vamos escribiendo letras
//y a medida que introducimos éstas realiza una búsqueda
//incrementa.
procedure TfrConClientes.edBuscarChange(Sender: TObject);
begin
DmFran.Cli.FindNearest([edBuscar.text]);
end;

Dependiendo el volumen de los datos y el sistema utilizado puede ser conveniente utilizar Querys.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.

Última edición por marcoszorrilla fecha: 25-05-2004 a las 15:33:55.
Responder Con Cita
  #3  
Antiguo 25-05-2004
bustio bustio is offline
Miembro
 
Registrado: oct 2003
Posts: 231
Poder: 21
bustio Va por buen camino
AClarando

Hola Marcos.. primero que todo te doy las gracias por tomarte el tiempo de responder m pregunta, pero en fin, la ayuda qeu me das no me ha servido de mucho, lo que no quiere decir qe no te la agradezca..todo lo contrario!!!
Lo que sucede es qeu no me entendiste o no me hico yo entender muy claro. Estoy utilizando SQL SERVER 2000, pero yo lo que necesito es que me busque solo dentro del DBGRID, que a la larga es lo mismo que buscar en la BD. No necesito hacer consultas al servidor de BD, sino que el mismo DBGRID sea el encargado de localizarme en cual de sus campos esta determinado dato.
En caso de qeu esto no pueda hacerse, bueno, tendria que buscar en la BD, y ahi mi problema seria como hacer para marcar, o resaltar el dato buscado si es que esta.
Responder Con Cita
  #4  
Antiguo 25-05-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Cita:
Estoy utilizando SQL SERVER 2000
. Bueno ves como al final tienes que decir que motor utilizas, faltaría saber si te conectas mediante ADO?.

En cuanto a lo que dices del Dbgrid, aclarar que la rejilla en si no tiene datos, sino es porque está conectada a una fuente de datos a traves de un Dataset y este aun Ttable ó Tadotable.... y finalmente esto a la Bd que correspondan, por lo tanto lo que tienes que hacer es buscar en la Tabla,no en la rejilla, para lo cual si utilzas ADO, puedes hacer uso del método locate.

Estas es la ayuda resumida:
Cita:
with ADOTable1 do

Locate('Company;Contact;Phone', VarArrayOf(['Sight Diver', 'P', '408-431-1000']), [loPartialKey]);

Options is a set that optionally specifies additional search latitude when searching on string fields. If Options contains the loCaseInsensitive setting, then Locate ignores case when matching fields. If Options contains the loPartialKey setting, then Locate allows partial-string matching on strings in KeyValues. If Options is an empty set, or if KeyFields does not include any string fields, Options is ignored.

Locate returns True if it finds a matching row, and makes that row the current one. Otherwise Locate returns False.
Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #5  
Antiguo 05-10-2004
Avatar de raffagia
raffagia raffagia is offline
Miembro
 
Registrado: sep 2004
Posts: 31
Poder: 0
raffagia Va por buen camino
Hola, estoy usando sql server 2000, lei acerca de còmo buscar un dato particular en en una tabla con FindNearest, pero cuando en el còdigo pongo:

dm.tabla.IndexName:= 'campo que quiero como indice' ;

me dice que no existe el ìndice y no sè còmo crearlo ni activarlo

muchas gracias.
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


La franja horaria es GMT +2. Ahora son las 20:12:34.


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