目的:双击当前表格的一条记录时把该记录内容复制到另一个表格里
出错:双击后记录能添加到另一个表格,但添加后出现一个错误的对话框,提示被添加表格不是处于编辑或插入状态。
BZInfo_Grid、zs_bzGrid:TDBGrid;
zs_bzdatasource,zs_bz:TADOTable,已处于浏览状态,前者有序号列,后者没有,其余字段都相同;
zs_bzdatasource:源数据库,zs_bz:记录复制目标数据库
zs_bzname,zs_bzXXXX:TDBText,数据来源为zs_bzdatasource;
将Active:=true;改为OPEN或是删除,将EDIT改为INSERT或是删除都会出错,
以下为全部代码
procedure TForm1.BZInfo_GridDblClick(Sender: TObject);
begin
  if ((zs_bzDataSource.State=dsBrowse) and (menu_bzgl.Checked=false)) then
    begin
       //将标准表格设为可以编辑    
      zs_bzGrid.Options:=[dgEditing,dgTitles,dgIndicator,dgColLines,
                          dgRowLines,dgCancelOnExit];
      with zs_bz do
        begin
          Active:=true;
          edit;
          DisableControls;
          try
            InsertRecord([zs_bzname.Caption,zs_bztype.Caption,zs_bzclass.Caption,
                          zs_bzsn.Caption,zs_bzno.Caption,zs_bzdate.Caption]);
            Post;
            Application.ProcessMessages;
            first;
          Finally
            EnableControls;
            //将标准表格设为不能编辑
            zs_bzGrid.Options:=[dgTitles,dgIndicator,dgColLines,
                                dgRowLines,dgCancelOnExit];
          end;
        end;
    end;
end;