FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Ayuda en busqueda usando ADO
Hola como estan amigos programadores. tengo una duda, realmente ya me di por vencido y acudo en su ayuda:
trabajo delphi 7 con sql server 7.. para la conexion use componente ado y para los procedimientos de guardar y eliminar usé adoquery, tambien se como actualizar. pero mi problema surge en lo siguiente: quiero que cuando ingrese un dato en el edit (dni) me busque en la tabla datos si existe este registro, y si lo consigue me cargue el resto de sus datos en otros edits (nombre,apellido,etc..) necesito esto para poder decirle al procedimiento actualizar cuales seran afectados por tal procedimiento. por favor denme una idea.. |
#2
|
||||
|
||||
Hola Victor Vega, bienvenido a clubdelphi.
Antes que nada, aprovechando de que eres nuevo en los foros, te aconsejo que te tomes unos minutos para que leas la guia de estilo, son algunos detalles a tener en cuenta para cuando intervengas y participes en estos foros. Bueno, al grano. Si estás empleando un ADOQuery, lo más común es lanzar una consulta SQL del tipo SELECT. Algo como esto:
Una vez que lanzas la consulta, con la propiedad RecordCount obtienes la cantidad de registros afectados por dicha consulta. Con este valor debes comprobar que exista: es decir se debe cumplir lo siguiente:
El DNI es único, por lo que si se consigue un registro, haz obtenido los valores correspondientes a la persona. Ahora solo es cuestión de lanzar la consulta UPDATE con los valores adecuados asociando en la condición WHERE el mismo valor de filtrado. Es decir:
Tal vez te sea útil ver el tema de lanzar consultas mediante parámetros: con realizar una búsqueda con el término ParambyName obtendrás resultados. Saludos, |
#3
|
||||
|
||||
Gracias por la ayuda
Gracias por la ayuda.. si entiendo lo q me quieres decir en este caso.. pero lo q aun no capto es esto:
la tabla datos contiene estos campos(dni,nombres,apellidos...) en el edit (dni) introduzco el valor (01) edit.text:=01 cuando el me busque en la tabla datos este registro y lo halle haga algo asi: nombres.text:=nombre apellidos.text:=apellido (osea q en cada edit correspondiente me muestre el campo indicado) esto para que? para que cuando vaya a editar este registro yo pueda hacer lo siguiente: si el edit (nombres.txt) me mostro un dato ya guardado con el nombre Fulano yo pueda modificar ese edit y cambiar en vez de Fulano a Sultano. Asi lograre que cuando guarde los cambios se hagan de la manera correcta. no se si me explique bien.. pero en resumidas... necesito es saber como muestro los campos de la busqueda en los edits..... |
#4
|
||||
|
||||
Hola nuevamente,
Con respecto a lo que dices... lo daba por sentado al hecho de que si estabas empleando un query y que si sabes lanzar consultas actualizables es porque tenías presente la manera de como obtener los registros. Para acceder al valor del campo debes valerte del FieldbyName. Por ejemplo:
Siendo NOMBRE, el nombre del campo a capturar. Es necesario indicar el tipo adecuado del dato mediante asXXXX siendo XXXX el tipo a devolver. En este ejemplo, al tratarse de un texto, le indico AsString. Espero que se entienda. Si recién te estas iniciando, te aconsejo una lectura a La Cara Oculta de Delphi 4. La puedes conseguir en internet, es un buen libro (pdf) que trata el ABC de Delphi, sobre todo lo referente a base de datos. Saludos, |
#5
|
||||
|
||||
Se presento un detalle
El detalle q se me presenta ahora es el siguiente:
Despues de que hago la consulta: with QBuscar do begin SQL.Clear; SQL.Text:='select * from Datos where Datos.cedula=(:cedula)'; Parameters.ParamByName('cedula').Value:=txtcedula.Text; {Aqui deberia asignar los valores a los edits, pero no me aparece la funcion "FieldbyName"...} end; espero me ayudes y disculpes..... |
#6
|
||||
|
||||
Bueno... mira... no tengo Delphi a mano... y lo escribí al vuelo... Tu código debe ir más o menos así...
Puede que tenga una fallas pero las cosas van por algo de este estilo. EDITO: Por cierto... sería oportuno decirte que uses las etiquetas [ DELHPI ], [/ DELPHI ] (sin espacios) de modo que el código que expones se vea mejor. Saludos, Última edición por Delphius fecha: 06-09-2007 a las 05:50:37. Razón: recomendación del uso de etiquetas |
#7
|
||||
|
||||
Operativo
Gracias amigo.. me sirvieron tus sugerencias y tu paciencia, si funciono muy bien... ahora seguire practicando. si tienes razon, soy algo nuevo en este lenguaje, mi fuerte siempre ha sido vb6 y .net. pero quiero conocer opciones aparte de microsoft jeje.... y la borland me esta agradando.. muchas gracias de antemano.
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Ayuda con la busqueda en una tabla | mjjj | Conexión con bases de datos | 5 | 02-04-2007 23:48:12 |
Ayuda para enviar pdf por fax, usando Delphi 7 | manolop | Varios | 6 | 15-03-2007 12:48:19 |
¿Alguien me ayuda con la busqueda? | sergiotur | Tablas planas | 3 | 06-03-2007 20:52:34 |
Busqueda usando un DBLookupComboBox | esimon | OOP | 19 | 08-10-2006 22:31:42 |
Búsqueda usando un índice con ADO. | vpepen | Conexión con bases de datos | 9 | 03-02-2005 14:32:32 |
|