我的连接是用SQLConnect + SQLDataSet + DataSetProvider + ClientDataSet 这样的方式来读取和保存数据的,我在"保存"时做了两个动作,分别修改两张表中的数据然后提交(原代码如下:)
  Cds_Pcb_Contact.FieldByName('con_ID').AsString := 'SE'+ order_tno;
  Cds_Pcb_Contact.Post;  Cds_Pcb_Adjunct.Edit;
  Cds_Pcb_Adjunct.FieldByName('matter').AsString := order_tno;
  Cds_Pcb_Adjunct.Post;  if not DM_Data.DM_Data_module.SQL_CB_Reckoning.InTransaction then
    begin
      aTD.TransactionID := 1;
      aTD.IsolationLevel := xilREADCOMMITTED;
      DM_Data.DM_Data_module.SQL_CB_Reckoning.StartTransaction(aTD);      try
        Cds_Pcb_Contact.ApplyUpdates(0);
        Cds_Pcb_Adjunct.ApplyUpdates(0);
        DM_Data.DM_Data_module.SQL_CB_Reckoning.Commit(aTD) ;  
      except
        on e : Exception do
        begin
          DM_Data.DM_Data_module.SQL_CB_Reckoning.Rollback(aTD) ;
          Cds_Pcb_Contact.CancelUpdates;
          Cds_Pcb_Adjunct.CancelUpdates;
        end;
    end;
  end;
现在当我执行DM_Data.DM_Data_module.SQL_CB_Reckoning.StartTransaction(aTD);这一句时遇到一个错误,提示如下
Project CB_Reckoning.exe raised exception calss EDatabaseError with message '', Process stopped. Use Step or Run to continue我想请问一下到底是什么原因呢,我上面这段代码是按一本书下"拿"下来的, 本人比较菜,请各位帮帮忙