如何将记录字段从 dbgrid 显示到编辑框

How to display a record field from dbgrid to an editbox

我建立了一个访问数据库并将其与 ADOqueryDatasource 连接。我建立了一个名为 BagCost 的 table,其字段名称为 [=13] =] 和 cost。我已将 DBgrid 附加到表单中并将其与 "Bagcost" table 链接。 Dbgrid 具有以下字段:

如何在运行时将 dbgrid 列的四个成本显示到不同的 editboxes

说明:

希望我理解正确。您需要做的是从四个记录中的每一个中读取数据。使用 FirstNext 方法更改活动记录,Eof 方法测试活动记录是否是数据集中的最后一条记录。可选(对于大量记录),使用 DisableControlsEnableControls 方法来防止 data-aware 控件在每次活动记录更改时更新。

示例:

接下来是一个基本示例,它使用 AfterOpen 事件从查询的每条记录中读取字段值。

procedure TfrmMain.qryAfterOpen(DataSet: TDataSet);
begin
   DataSet.DisableControls;
   try
      DataSet.First;
      if not DataSet.Eof then Edit1.Text := DataSet.FieldByName('cost').AsString else Edit1.Text := 'Record not found';
      DataSet.Next;
      if not DataSet.Eof then Edit2.Text := DataSet.FieldByName('cost').AsString else Edit2.Text := 'Record not found';
      DataSet.Next;
      if not DataSet.Eof then Edit3.Text := DataSet.FieldByName('cost').AsString else Edit3.Text := 'Record not found';
      DataSet.Next;
      if not DataSet.Eof then Edit4.Text := DataSet.FieldByName('cost').AsString else Edit4.Text := 'Record not found';
      DataSet.First;
   finally
      DataSet.EnableControls;
   end{try};
end;