怎么做?
双击dbgrid的一行时,把dbgrid中的一个字段做为参数传给adoquery,并执行查询语句,显示结果到edit控件中。怎么做?

解决方案 »

  1.   

    双击dbgrid的一行的时候,被捆绑的数据集的指针已经移到你双击的那条记录上了,那只要取对应的FieldByName('yourname').Value就可以了。
      

  2.   

    procedure TForm1.DBGrid1DblClick(Sender: TObject);
    begin
      ADOQuery1.Parameters.ParamByName('Pname').Value :=
      ADOTable1.fieldbyname('FieldName').AsVariant;
      ADOQuery1.Open;
      Edit1.Text := ADOQuery1.fieldbyname('FieldName1').AsString;
    end;
      

  3.   

    取得双击那一行的关键值,然后根据这个关键值写query的sql语句!
      

  4.   

    我没调试成功,提示我
    我仿照2楼的这样做的:
    procedure TForm1.DBGrid1DblClick(Sender: TObject);
    begin  ADOQuery1.Parameters.ParamByName('单位编号').Value:=ADOTable1.fieldbyname('单位编号').AsVariant;
      ADOQuery1.Open;
      Edit1.Text := ADOQuery1.fieldbyname('单位编号').AsString;
    end;---------------------------
    Debugger Exception Notification
    ---------------------------
    Project Project1.exe raised exception class EDatabaseError with message 'ADOQuery1: Parameter '单位编号' not found'. Process stopped. Use Step or Run to continue.
    ---------------------------
    OK   Help   
    ---------------------------
    是不是我adoquery还要设置什么?sql语句我不知道写些什么好
      

  5.   

    在ADOQuery1的下面这个时间里直接写就OK了
    procedure TForm1.ADOQuery1AfterScroll(DataSet: TDataSet);
    begin
      edit1.Text := ADOQuery1.fieldbyname('fname').AsString;
      edit2.Text := ADOQuery1.fieldbyname('fage').AsString;
    end;
      

  6.   

    谁能把这个源码发给我?万分感谢!!!!
    [email protected]