这个问题由来已久,由于不是非常影响项目进度,所以一直没有重视。最近闲来,又遇到此问题,决心仔细研究一番。上网搜了半天,整整半天,没有发现比较通俗易懂的文章,没办法,看看微软的资料,自己动手吧,把这个解决过程记录下来,以供大伙参考。

问题描述:ADODB::_ConnectionPtr    m_pConnection1;ADODB::_ConnectionPtr    m_pConnection2;ADODB::_RecordsetPtr    m_pRecordset1;ADODB::_RecordsetPtr    m_pRecordset2;初始化过程略去。。。。。。

当使用m_pRecordset1->Open(pSql ,m_pConnection1.GetInterfacePtr(),ADODB::adOpenDynamic,ADODB::adLockOptimistic,ADODB::adCmdText);进行INSERT、UPDATE、Delete 操作后,立即用m_pConnection2 和m_pRecordset2 对更新的表进行查询,发现刚刚m_pConnection1添加的数据根本没法查出来,修改的数据也没更新,删除记录也依旧乖乖的呆在数据库里。这种情况只有在使用两个或两个以上连接进行数据库操作时才会出现,只有一个连接是不会有这个问题的。但很多时候我们不得不使用多个连接同时操作数据,所以问题必须解决。

解决办法:在执行增删改的 SQL语句时使用“事务Transaction” , 使用JRO引擎强制刷新 查询连接的 数据缓存。
[cpp] view plaincopy
  1. #import "c:\program files\common files\system\ado\msjro.dll"
  2. //开始事务
  3. m_pConnection->BeginTrans();
  4. //inster update delete操作 代码省略
  5. //提交
  6. m_pConnection->CommitTrans();
  7. <pre name="code" class="cpp">//在查询前刷新缓存 刷新过后进行查询操作,数据就不会有延迟现象了。
  8. BOOL CDBOperate::RefreshData()
  9. {
  10. JRO::IJetEnginePtr jet(__uuidof(JRO::JetEngine));
  11. jet->RefreshCache(m_pConnection);
  12. return TRUE;
  13. }</pre><br>
  14. <pre></pre>
  15. 通过上述代码,实现ACCESS多连接数据同步。
  16. <p></p>
  17. <p></p>
  18. <p>参考文章</p>
  19. <p><a href="http://support.microsoft.com/kb/200300">http://support.microsoft.com/kb/200300</a></p>
  20. <p></p>
  21. <pre></pre>

Access ADO多连接时数据延迟无法同步无法及时更新的解决办法相关推荐

  1. tcp连接时,BROKEN PIPE错误的原因以及解决方法

    tcp连接时,BROKEN PIPE错误的原因以及解决方法 参考文章: (1)tcp连接时,BROKEN PIPE错误的原因以及解决方法 (2)https://www.cnblogs.com/ctho ...

  2. 台达触摸屏和电脑连接通讯时出现no reponse from HMI报警的解决办法

    台达触摸屏和电脑连接通讯时出现no reponse from HMI报警的解决办法 台达触摸屏(B10S411)在上载程序时(显示No response from HMI)我以前的电脑是WIN7的,从 ...

  3. [转]Silverlight在调用wcf时传输数据过大返回Not Found的解决办法

    原文地址:http://www.cnblogs.com/gavinyao/archive/2012/04/17/2454495.html Silverlight在调用wcf时传输数据过大返回Not F ...

  4. win8 远程桌面时提示凭证不工作问题的终极解决办法

    原文 win8 远程桌面时提示凭证不工作问题的终极解决办法 环境说明 远程办公电脑(放置于公司.自用办公电脑.win8系统) 远程连接客户机(放置于家中.家庭日常所用.win8系统) 故障现象 最近在 ...

  5. 本地计算机无法启动wireless,win7系统使用无线时提示:“windows无法启动wireless”的解决办法...

    此文约为506字,阅读需要3分钟 如果在连接无线网络时连接不上,而系统提示了"Windows无法启动Wireless PAN DHCP Server服务(位于本地计算机上).错误1067:进 ...

  6. win11系统安装oracle11g时遇到INS-13001环境不满足最低要求解决办法

    1.点击setup后稍等弹出此窗口,关闭掉: 2.找到文件中红笔画出的两个文件,用记事本打开 3.将以下代码粘贴到在<CERTIFIED_SYSTEMS>标签最后,如图 <OPERA ...

  7. 连接远程服务器CredSSP加密Oracle修正报错解决办法

    连接远程服务器CredSSP加密Oracle修正报错解决办法: 打开注册表,快捷输入 "regedit"(类似找命令提示符 输入 cmd 一样)找文件夹 路径:HKLM(缩写)\S ...

  8. mac rails mysql_MAC下Rails连接mysql出现 dyld: Symbol not found: _mysql_get_client_info 的解决办法...

    MAC下Rails连接mysql出现 dyld: Symbol not found: _mysql_get_client_info 的解决办法 2014-2-12 / 阅读数:5471 / 分类: R ...

  9. sqlplus登录时遇到的ORA-12560: TNS: 协议适配器错误解决办法

    sqlplus登录时遇到的ORA-12560: TNS: 协议适配器错误解决办法 在windows下使用lsnrctl start启动监听之后,然后使用sqlplus登录的时候遇到了ORA-12560 ...

最新文章

  1. git idea 分支合并到另一个分支_idea如何在Git上将分支代码合并到主分支
  2. WX公众号授权登录的简单应用
  3. SAP ABAP收货或者货物移动(MIGO,MB11,MB1A)在保存时候的增强点
  4. 【问链-Eos公开课】第二课 EOS环境搭建(Ubuntu系统下)
  5. 推荐25个非常优秀的网页表单设计案例
  6. 适用于android 4.0以上版本的子线程网络图片查看器
  7. 通过图注意力神经网络进行多智能体游戏抽象_[读论文] AttnPath: 将图注意力机制融入基于深度强化学习的知识图谱推理中...
  8. 启动两个tomcat,两个端口,两个tomcat都启动时回显示端口被占用
  9. 190329每日一句
  10. 分享积累5年的人工智能网站,很大帮助
  11. 百面机器学习(5)——非监督学习
  12. 北京上空出现三个太阳?专家:冰晶云对太阳光散射形成“幻日”
  13. 安装torch 时,bash install-deps错误
  14. Windows10开机自动登录账号,设置指定账户自动登录系统
  15. 音视频开发(四)——编码音频
  16. STM32分别实现温湿度的采集和OLED显示屏显示数据
  17. MFC软件常见问题解决
  18. 数字图像处理 第三章 灰度变换与空间滤波
  19. 微信公众平台开发接口配置URL index.php和token
  20. 自然语言处理--文档集数据处理 gensim corpora.Dictionary

热门文章

  1. Block相关内容梳理
  2. python服务器搭建nginx_Nginx简单快速搭建文件服务器
  3. php5时区,[摘]PHP5.1时区设置
  4. 【c++】13.必须用指针取值的情况.md
  5. Caffe代码导读(1):Protobuf例子
  6. Vue.js Class 与 Style 绑定
  7. JBoss Modules 模块描述文件解析
  8. 对象在JVM中的表示: OOP-Klass模型
  9. Java访问指示符 访问修饰符
  10. Python numpy生成矩阵、串联矩阵