6

客观的:

  1. 单击 TRxDBCombo 上的按钮以调用搜索框
  2. 在从搜索框中选择记录时,将结果设置为 TComboEditBox 的字段值并发布在 TRxMemoryData 数据集中

错误:

未处于插入或编辑模式的数据集在第二次调用此函数时出现

TDBEditBox1.SetFocus;
Form_Search:= TForm_Search.Create(Application);
with Form_Search do
  Begin
    showmodal;
    //Get Result from Database
    if trim(TempResult) <> '' then
      Begin
        TDBEditBox1.Field.Value := MResult;
      End;
  End;

设置包括:

  1. 数据源连接到 TDataSource 的 TJvDBGrid
  2. TDataSource 连接到 TRxMemoryData
  3. 一个 TRxDBComboEdit,其数据源在上面的步骤 2 中设置为 TDataSource

请协助

4

1 回答 1

16

由于以下行而出现错误: TDBEditBox1.Field.Value := MResult; 在这一行,您的数据集未处于插入或编辑模式。您可以添加以下检查以避免此错误:

if not (TDBEditBox1.DataSource.DataSet.State in [dsEdit, dsInsert]) then
begin
  TDBEditBox1.DataSource.DataSet.Edit;
  // Or TDBEditBox1. DataSource.DataSet.Insert; depending on the operation you are doing (Edit or Insert) 
end;
TDBEditBox1.Field.Value := MResult;
于 2013-06-27T05:05:33.263 回答