在SocketConnection的三层中,在客户端中一个按钮动作可能要执行多条SQL语句,像这种事务处理在ClientDataSet1上就怎样做??

解决方案 »

  1.   

    在SocketConnection的三层中,在客户端中一个按钮动作可能要执行多条SQL语句,像这种事务处理在ClientDataSet1上就怎样做??
    --这个操作的事务本质上不是在ClientDataSet上
    要么由数据提供者TDataSetProvider隐式的实现 (如ClientDataSet.ApplyUpdates(0))要么就自显示的操作数据库连接控件以实现事务,如TAdoConnection或TDataBase控件要么要你的SQL语句中实现事务,具体可查看SQL Server中的帮助,关键词:Begin Trans
    另外:执行多条语句, 与ClientDataSet有什么关系?
      

  2.   

    我也有此需求
    Bes96261(秋水孤鶩)
    不太懂你的意思,客户端用的都是ClientDataSet.ApplyUpdates(0),请问怎么样实现事务?
    比如我在DBGrid中修改了数据,在进行ClientDataSet.ApplyUpdates(0)的时候由于其他原因出错了,那么我应该怎么样使用事务将其回滚,请说得详细一点,谢谢!
      

  3.   

    ClientDataSet.ApplyUpdates(0)本身就是一个事务。出错之后将自动回滚了。
      

  4.   

    也就是说,使用ClientDataSet.ApplyUpdates(0)不用另外写代码控制回滚的问题了
    谢谢madyak(无天)