我的迷惑在于
Ado Recordset 在连接RollBack 后不能恢复以前的数据

解决方案 »

  1.   

    to zzh 
    那对于多条记录 时间长,而且是频繁使用的数据表 死锁的几乎是必然的。
    那如何办。
      

  2.   

    朋友,这是一个相当难解决的问题,是鱼和熊掌不可兼得的问题。
    首先,最安全最容易的办法就是用悲观锁,即一个人在打开表的时候其他人都不能打开。这样无论写程序还是数据库的设计都很简单。
    另一种方法是使用乐观锁,即同时可让多人打开表并修改内容。这样的做法对于程序控制和数据库结构的要求都很高,因为数据库冲突是一个大问题。但我大多使用的都是此类控制方法,需把表的字段分细,根据用途宁可多建表,并在各个表之间建立较为复杂的关系。如此达到降低冲突的可能性。
    使用ADO的控件绑定功能非常不错,几乎包含了各种解决冲突的机制,程序控制所需做的就是处理一些错误情况,你可以截获错误来让用户选择冲突时的处理方法,如是覆盖数据还是不覆盖。