一段程序调了3个钟头,还是跳出那段该死的话——“参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。”
我的dbgrid1连接了一ADOQuery,共有两个字段“员工号”、“姓名”。我想在dbgrid的双击事件里把“员工号”的值显示在edit3里,代码如下:
procedure TfrmSalary.DBGrid1CellClick(Column: TColumn);
begin
if datamodule2.Q_EmpList.Active then
   edit3.Text:=datamodule2.Q_EmpList.FieldValues['员工号'];
end;
真是痛苦万分,有哪位可以解答此问题,100分...

解决方案 »

  1.   

    俺以为问题不在这里。也许在其他的相关事件里?
    或者改成  Edit3.Text := xxxx.FieldByName('员工号').AsString;  试试?
      

  2.   

    同意cnsuyong的,可是其他地方我也找不到,顺便说一下我的datamodule里有问题,什么“多步操作”之类的,可我不知道我的二三十个数据控件到底哪个有问题,所以看看能运行就不去管它了,别说就是这问题!
      

  3.   

    procedure Tfdepartment.DBGrid1MouseUp(Sender: TObject;
      Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    begin
    //edit1.text:=dbgrid1.SelectedField.AsString
    edit1.text:=dbgrid1.DataSource.DataSet.FieldByName('员工号').asstring;
    end;
    试试这个,我用这个通过了
      

  4.   

    双击应该是这样写吧
    procedure TfrmSalary.DBGrid1CellClick(Column: TColumn);
    begin
       edit3.Text:=dbgrid1.DataSource.DataSet.FieldByName('员工号').asstring;
    end;