PDA

Ver la Versión Completa : Realizar Busqueda en la BD


knnibal
02-11-2008, 14:22:04
Hola a Todos! Hey gracias por toda la ayuda brindada!! de verdad que esta muy bien el foro!!!

Gracias a su ayuda ya puedo guardar en la BD! ahora necesito otra favor!!
Como puedo realizar una busqueda en mi Base de Datos!??? es decir el usuario tiene un edit donde ingresa un número de cédula y al hacer click en un boton busque dicha cedula en la BD y muestre la información relacionada a ella en sus respectivos edit!!!

Lepe
02-11-2008, 14:42:38
¿qué base de datos usas?

En principio, con un tabla1.locate puedes hacerlo, pero puede variar mucho dependiendo de qué uses.

Saludos

Rockin
02-11-2008, 15:26:39
Explicate un poco mas, que base de datos, que componentes de acceso a Bd, etc..

Como dice lepe con un locate te vale, pero si quieres más exactitud utiliza una consulta SQL con parametros.

Saludos.

knnibal
02-11-2008, 15:31:10
Que tal Lepe! estoy utilizando MySQL! y la base da datos tiene dos tablas InfoPerso e InfoAdici. La busqueda la kiero hacer en infoperso mediante el campo Cédula!

knnibal
02-11-2008, 15:39:10
La conex a mi BD la realice mediante ODBC y en mi form tengo un TADOTable y un TDatasource, y en la propiedad ConnectionString coloque lo siguiente "Provider=MSDASQL.1;Persist Security Info=False;User ID=root;Data Source=NombreBD" de esa manera me conecto a mi BD en MySQL! ya puedo agregar datos mediante este codigo que me facilito CARO

Tabla.Open;
Tabla.Insert;
Tabla.FieldByName('campo1').AsString := Edit1.Text;
Tabla.FieldByName('campo2').AsString := Edit2.Text;
...........
Tabla.Post;//para Grabar
lo que necesito es hacer una consulta a una cédula y mostrar los datos relacionados a ella!

Rockin
02-11-2008, 15:40:31
Manda esta consulta a tu BD:


'SELECT * FROM infoperso WHERE cedula = :cedula'


Donde :cedula seria el numero que ingresa el usuario en el Edit.

Espero que te valga.

Saludos

knnibal
02-11-2008, 16:10:09
Gracias por tu ayuda Rockin! pero estoy en lasd mismas! es decir donde pongo esa consulta? como obtengo los datos de la BD y asignarlos a los edit??

de antemano gracias por su ayuda!

Rockin
02-11-2008, 17:12:33
Prueba esto, para buscar el registro:


Tabla.locate('campoabuscar', datoabuscar, []);


Si lo encuentra se pondrá en ese registro, solo tienes que acceder a los datos asi:


edit1.text:=Tabla.FieldByname('campo1').AsString;
edit2.text:=Tabla.FieldByname('campo2').AsString;
etc...


Te recomiendos que uses un ADODataSet o un ADOQuery, en vez de ADOTable.

A ver si te vale.

Saludos

Delphius
02-11-2008, 19:45:08
Hola knnibal,
Por lo que he estado apreciendo de tus post, veo que eres nuevo en delphi.
Sugiero que leas manuales, tutoriales, libros; y por sobre todo perder el miedo a la ayuda que viene con Delphi. Selecciona el componente que gustes, y presiona F1, allí te mostrará todo lo referente a dicho componente. Si bien la ayuda está en inglés no tiene desperdicio.

En el FTP (http://www.terawiki.clubdelphi.com/) de clubdelphi hay material tanto teórico como práctico. De todo lo que puedes encontrar allí recomiendo la lectura de la Cara Oculta de Delphi 4 (http://www.terawiki.clubdelphi.com/archivos/Delphi-Win32/Libros/LaCaraOcultaDeDelphi4.pdf.zip). Un pdf que a mi modo de ver no tiene despercidio alguno; es casi una lectura obligada.

Espero no ser molesto, pero recomiendo además que emplees el buscador (http://www.clubdelphi.com/foros/search.php) de los foros.

Saludos,

knnibal
02-11-2008, 20:24:21
Mil gracias por tu ayuda Rockin!! funciono sin problemas!! Gracias Gracias!!

Ahora me gustaria saber cual es la ventaja de usar ADODataSet o un ADOQuery!!?

knnibal
02-11-2008, 20:26:54
Seguire tu concejo Delphius!! gracias por tus comentarios!! si habia trabajado anteriormente en delphi pero muy superficial, lo mio es PHP!!! esto fue un program para un familiar!!