Access ADO多连接时数据延迟无法同步无法及时更新的解决办法
来源:互联网 发布:淘宝网安全地垫 编辑:程序博客网 时间:2024/05/05 16:09
这个问题由来已久,由于不是非常影响项目进度,所以一直没有重视。最近闲来,又遇到此问题,决心仔细研究一番。上网搜了半天,整整半天,没有发现比较通俗易懂的文章,没办法,看看微软的资料,自己动手吧,把这个解决过程记录下来,以供大伙参考。
问题描述:
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引擎强制刷新 查询连接的 数据缓存。
#import "c:\program files\common files\system\ado\msjro.dll"//开始事务m_pConnection->BeginTrans();//inster update delete操作 代码省略//提交m_pConnection->CommitTrans();//在查询前刷新缓存 刷新过后进行查询操作,数据就不会有延迟现象了。BOOL CDBOperate::RefreshData(){JRO::IJetEnginePtr jet(__uuidof(JRO::JetEngine));jet->RefreshCache(m_pConnection);return TRUE;}
通过上述代码,实现ACCESS多连接数据同步。参考文章
http://support.microsoft.com/kb/200300
- Access ADO多连接时数据延迟无法同步无法及时更新的解决办法
- Access ADO多连接时数据延迟无法同步无法及时更新的解决办法
- ADO连接ACCESS 无法写入
- 解决ExpandableListView数据无法及时更新
- ADO recordset无法更新excel数据表的解决办法(VBS)
- Xmarks 无法同步的暂时解决办法 ip更新
- Lync 客户端无法及时更新!
- angular数据获取后,无法及时更新到页面
- 如何解决程序中新插入ACCESS数据库表的记录无法及时在数据库中更新的问题。
- Access使用参数化UPDATE数据时,数据无法更新的问题
- Access用OleDbParameter无法更新数据解决方案
- 使用复制存储过程执行解决“事务复制中的表大量更新导致无法及时同步”的问题
- 使用复制存储过程执行解决“事务复制中的表大量更新导致无法及时同步”的问题
- C#连接Access数据库,Update更新数据时出现“不能打开数据库,应用程序可能无法识别该数据库。。。”错误
- windows无法更新的解决办法
- Android SDK Manager无法更新,无法连接GOOGLE服务器解决办法
- 错误711:操作无法完成,因为它无法及时启动远程访问连接管理服务 宽带连接提示错误711的解决办法
- 无法连接网络的解决办法
- Android学习笔记--提示信息(Toast)
- 下属翅膀硬了就跳槽,咋办?
- SQL Server BI Step by Step系列总结----学习收藏
- 利用Python抓取和解析网页(下)
- Jquery学习笔记——插件编写
- Access ADO多连接时数据延迟无法同步无法及时更新的解决办法
- 关于SQL SERVER 中的CASE WHEN 返回值
- u-boot编译过程二
- VBA 生成新的表格
- JXL实例(二)
- 剖析java中的String(本文章是对网上资料的搜集)
- PowerDesigner15破解补丁
- Java IO _合并流
- arm linux 启动流程之 ppcboot