怎么得到DBGrid里当前选的一条记录的值 急啊1!!谢谢
解决方案 »
- 对数据进行批量操作
- 有偿寻复杂报表解决方案!请加我的QQ。待遇面淡
- 求低版本的vclskin builder,要求版本在4.0以下(含4.0)
- 一个郁闷的问题
- 请教一个OLE问题
- 如何做出多邊體的Form?如圓形六邊形等!
- 高手帮忙!!!
- delphi5/6的入门教材哪个好?那里有最全的控件说明?
- 视频应用程序高手请进!
- 我搞不定了:exception EDBEngineError in moudule projiect.exe at XXXXXX, BDE error $000f
- 惊爆!WPS2005界面是DELPHI开发的,有强力证据!!
- 有什么方法可以实现,感觉一定可以,但是不知该如何做!
procedure TAreaEditForm1.DBGrid1CellClick(Column: TColumn);
begin
if not DM1.ADOTable1.Active then exit;
showrecord;
end;
//与Edit连接数据
procedure TAreaEditForm1.showrecord;
begin
if DM1.ADOTable1.RecordCount=0 then exit;
Edit1.Text:=DM1.ADOTable1.Fields[1].AsString;
Edit2.Text:=DM1.ADOTable1.Fields[2].AsString;
end;
DBGrid1连接显示的数据集是ADOQuery1,
则在没有设置多选的情况下,你获取当前选中行的值,就可以这样了:
ADOQuery1->FieldByName('FieldName')->AsString; //这就是当前选中行FiedlName字段的值
当然了,如果是其它数据类型,就用AsInteger/AsDateTime等了
var
no:string;
begin
if ADOQuery2.Active then
begin
no:=DBGrid1.DataSource.DataSet.Fields[2].value; //得到DBGrid值
ADOQuery2.close;
ADOQuery2.SQL.clear;
//ADOQuery2.SQL.Add('select * from Tbl1 where id='''+no+'''');
ADOQuery2.SQL.Add('select * from Tbl1 where id=:no');
ADOQuery2.parameters.parambyname('no').value:=no;
ADOQuery1.Prepared ;
ADOQuery2.open;
end;
end;