![]() |
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.
|
Depende del tipo de consulta que estés utilizando. ¿Es actualizable?
|
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. |
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. |
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 12:51:57. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi