以前都是用的BDE,这次公司的项目要求用ADO。用TADODataSet
var
  q: TADODataSet;
begin
  q.LockType = ltBatchOptimistic;
  q.Connection.BeginTrans;
  try
    q.UpdateBatch;
    q.Connection.CommitTrans;
  except
    q.RollBackTrans;
  end; 
end;
帮忙看这段代码有什么不足之处

解决方案 »

  1.   

    你q都不用创建吗
    你这段代码大概是在提交的时候执行吧
    那么你这行代码没有任何意义
      q.LockType = ltBatchOptimistic;
    应该在组件创建或设计时设置
      
      

  2.   

    是的,q.LockType = ltBatchOptimistic;只是说明我是用这种方式操作数据集。
    实际的代码应该是这些,
      q.Connection.BeginTrans;
      try
        q.UpdateBatch;
        q.Connection.CommitTrans;
      except
        q.RollBackTrans;
      end; 
    是存盘时候的代码,我因为不太熟悉DELPHI下ADO的编程,所以想问问各位达人这样的存盘代码有没有什么问题,比如存盘不成功后应该如何做。等等。:)
      

  3.   


    我不知道如何解决,但我发现用ADO好像经常不能存盘