Delphi错误数据集不在插入或编辑模式下

时间:2013-06-26 06:25:34

标签: delphi delphi-7

目标:

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

    第二次调用此函数时,不会出现插入或编辑模式的数据集

    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. 在上面的步骤2中将其数据源设置为TDataSource的TRxDBComboEdit
    4. 请协助

1 个答案:

答案 0 :(得分:12)

由于以下行错误: 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;