Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Modificar Datos con ADOQuery (https://www.clubdelphi.com/foros/showthread.php?t=37729)

estopi 21-11-2006 15:32:32

Modificar Datos con ADOQuery
 
Hola tengo el siguiente problema, ejecuto un ADOQuery que me trae un record de una tabla, asocio los campos del record a DBEdit pero cuando quiero editar el contenido de cada DBEdit no me deja. Quisiera saber que propiedad me permite hacer eso. Saludos.

Neftali [Germán.Estévez] 21-11-2006 15:43:09

Depende del tipo de consulta que estés utilizando. ¿Es actualizable?

estopi 21-11-2006 15:46:26

Tengo este codigo para hacer la llamada al ADOQuery:
ADOQuery2.Close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Text:= 'Select * from Alumnos where nrodoc = :nrodoc';
ADOQuery2.Parameters.ParamByName('nrodoc').Value:= strtoint(Edit24.Text);
ADOQuery2.ExecSQL;
ADOQuery2.Open;
DBEdit1.Text:= inttostr(ADoQuery2.Fields.Fields[1].Value);
DBEdit2.Text:= ADOQuery2.Fields.Fields[2].Value;
DBEdit3.Text:= ADOQuery2.Fields.Fields[3].Value;
DBEdit11.Text:= ADOQuery2.Fields.Fields[4].Value;
DBEdit12.Text:= ADOQuery2.Fields.Fields[5].Value;
DBEdit13.Text:= ADOQuery2.Fields.Fields[6].Value;
DBEdit14.Text:= ADOQuery2.Fields.Fields[7].Value;
DBEdit15.Text:= ADOQuery2.Fields.Fields[9].Value;
DBEDit16.Text:= ADOQuery2.Fields.Fields[10].Value;


Lo que quiero hacer es que cuando haga clic en un DBEdit me permita editar y luego grabar los cambios. Saludos.

Neftali [Germán.Estévez] 21-11-2006 15:53:04

Sí que debería ser actualizable.
Lo que no entiendo es porqué pones "a mano" los valores en los controles. ¿No tienes los controles "enganchados"/"ligados" al TADOQuery (utilizando un TDataSource)?

Si los tienes conectados a otra tabla, tal vez debas poner el Dataset/Tabla/Consulta en modo Edit.

estopi 21-11-2006 16:25:56

Muchas gracias por la ayuda ahora enganche los DBEDit con los Datafield del ADOQuery y listo. me quedo asi entonces:

ADOQuery2.Close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Text:= 'Select * from Alumnos where nrodoc = :nrodoc';
ADOQuery2.Parameters.ParamByName('nrodoc').Value:= strtoint(Edit24.Text);
ADOQuery2.ExecSQL;
ADOQuery2.Open;
DBEdit1.DataField := 'nrodoc';
DBEdit2.DataField:= 'apellido';
DBEdit3.DataField:= 'nombre';
DBEdit11.DataField:= 'nacimiento';
DBEdit12.DataField:= 'edad';
DBEdit13.DataField:= 'sexo';
DBEdit14.DataField:= 'nacionalidad';
DBEdit15.DataField:= 'telefono';
DBEDit16.DataField:= 'mail';


Con eso ya solucione la actualizacion de los datos. Saludos.


La franja horaria es GMT +2. Ahora son las 01:15:27.

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