读书人

多线程下用ADO访问本地数据库,该如何处

发布时间: 2012-03-21 13:33:15 作者: rapoo

多线程下用ADO访问本地数据库
在多线程下访问本地ACCESS数据库,当用adodataset在多个线程同时修改同一表的时候,例如:
有2个线程同时打开一张表,都不定时修改里面的某个字段的内容,方法是adodataset.edit ...adodataset.post

此时出现的情况:
当设置adodataset的ursorLocation :=clUseClient;CursorType:=ctKeyset;有时候出现“法为更新行集定位:一些值可能已在最后读取后已更改”
当设置adodataset的ursorLocation :=clUseServer;CursorType:=ctKeyset;则不出现错误以上提示。

请问ursorLocation :=clUseClient和ursorLocation :=clUseServer有何区别?

[解决办法]
法为更新行集定位,多数情况下表示你这个表没有主键。
多线程要考虑同时修改某条记录的情况,当要修改记录时,想办法保护当前记录不要其它人修改。否则,它就是最后一个人修改的值。

读书人网 >.NET

热点推荐