数据库采用Access控件ADOQuery ADOTable DBGrid ADOConnection DataSource Edit1 Edit2 Edit3我把数据库中的表AAA在DBGrid中显示出来表AAA包括如下列User_Id User_Pass User_Author现在我想实现双击这个表中的某行 能够把被双击的行的列属性
User_Id User_Pass User_Author的值分别赋给Edit1.Text Edit2.Text Edit3.Text如何实现? 我是新手 谢谢各位多多指导
User_Id User_Pass User_Author的值分别赋给Edit1.Text Edit2.Text Edit3.Text如何实现? 我是新手 谢谢各位多多指导
edit1.text:=adotable1.fieldbyname('user_id').value;
..
..
begin
Edit2.Text:=ADOTable1.FieldByName('User_Pass').Value;
end;可是Edit2.Text的值总是显示为数据库第一行的User_Pass的值
我双击其他行 他的值总是第一行的值不变 而不会变成我双击那一行的User_Pass的值怎么实现我双击其他行 Edit1,Edit2,Edit3的值会随着我双击的行的不同而改变?谢谢!
----------------->
按理说你双击dbgrid某一行,adotable就已经跳到这个记录了,
你找找看是什么原因导致adotable没有转到这个记录。
MyUser_id: variant;
with dbgrid.datasource.dataset do
begin
MyUser_id:= FieldByName(User_id).value;
with adoquery1 do
begin
close;
sql.clear;
sql.add(select * from aaa where User_id='''+MyUser_id+'''');
try
open;
edit1.text:= FieldByName('user_id').value;
except
end;
end;
end;
var
MyUser_id: Integer;
begin
with dbgrid1.datasource.dataset do
begin
MyUser_id:= FieldByName('id').AsInteger;
with adoquery1 do
begin
close;
sql.clear;
sql.add('select * from goods where id='''+inttostr(MyUser_id)+'''');
try
open;
edit1.text:= inttostr(FieldByName('id').asinteger);
except
end;
end;
end;