首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

多线程操作ACCESS的有关问题

2012-01-10 
多线程操作ACCESS的问题2个线程操作ACCESS,1个线程执行INSERT后,另外1个线程UPDATE,为什么有时候能更新有

多线程操作ACCESS的问题
2个线程操作ACCESS,1个线程执行INSERT后,另外1个线程UPDATE,为什么有时候能更新有时候又找不到对应的记录呢。通过跟踪,发现虽然进行了INSERT,UPDATE的时候并没有对应的记录。通过查数据表,发现INSERT确实是运行。
请问各位大虾如何解决?下面是日志:
处理中:UPDATE   TB_SMSMT_LOG   SET   FRESULT= 'True ',FSENDTIME=NOW()   WHERE   FMSGID=160168
INSERT   INTO   TB_SMSMT_LOG   (FMSGID,FMOBILE,FMSG,FATTIME,FPROCESS)   VALUES   (160169, '15918706602 ', 'IbatisNet   是另外一种优秀的Java   O/R   mapping   框架,当前版本是1.2   。目前属于apache的一个子项目了。 ', '2007-3-27   9:56:56 ',2)
DELETE   FROM   TB_SMSMT   WHERE   FID=160169
SELECT   COUNT(0)   FROM   TB_SMSMT_LOG   WHERE   FMSGID=160169
搜索到记录数:1
处理中:UPDATE   TB_SMSMT_LOG   SET   FRESULT= 'True ',FSENDTIME=NOW()   WHERE   FMSGID=160169
INSERT   INTO   TB_SMSMT_LOG   (FMSGID,FMOBILE,FMSG,FATTIME,FPROCESS)   VALUES   (160170, '15918706617 ', 'IbatisNet   是另外一种优秀的Java   O/R   mapping   框架,当前版本是1.2   。目前属于apache的一个子项目了。 ', '2007-3-27   9:56:56 ',2)
DELETE   FROM   TB_SMSMT   WHERE   FID=160170
SELECT   COUNT(0)   FROM   TB_SMSMT_LOG   WHERE   FMSGID=160170
搜索到记录数:0
处理中:UPDATE   TB_SMSMT_LOG   SET   FRESULT= 'True ',FSENDTIME=NOW()   WHERE   FMSGID=160170
INSERT   INTO   TB_SMSMT_LOG   (FMSGID,FMOBILE,FMSG,FATTIME,FPROCESS)   VALUES   (160171, '15918706626 ', 'IbatisNet   是另外一种优秀的Java   O/R   mapping   框架,当前版本是1.2   。目前属于apache的一个子项目了。 ', '2007-3-27   9:56:56 ',2)
DELETE   FROM   TB_SMSMT   WHERE   FID=160171
SELECT   COUNT(0)   FROM   TB_SMSMT_LOG   WHERE   FMSGID=160171
搜索到记录数:0

[解决办法]
GZ & UP
[解决办法]
ACCESS不支持多线程
[解决办法]
Access在Insert数据时,会有一定的延时,要及时关闭数据库连接,然后打开,然后才可以取出。
[解决办法]
access不能同时有超过一个的连接,a线程要打开数据库时,b必须关掉数据库,否则只有等待数据库被关闭
[解决办法]
xiaxilin(good good study, day day up!) ( ) 信誉:95 Blog 2007-03-27 11:36:23 得分: 0


access不能同时有超过一个的连接,a线程要打开数据库时,b必须关掉数据库,否则只有等待数据库被关闭


-------------
up
[解决办法]
MODE = Share,做共享可以多连接打开,但,小心INSERT与UPDATE的先后关系

还有,共享有多种共享,要做读写共享

热点排行