Access ADO多连接时数据延迟无法同步无法及时更新的解决办法
這個問題由來已久,由于不是非常影響項目進度,所以一直沒有重視。最近閑來,又遇到此問題,決心仔細研究一番。上網(wǎng)搜了半天,整整半天,沒有發(fā)現(xiàn)比較通俗易懂的文章,沒辦法,看看微軟的資料,自己動手吧,把這個解決過程記錄下來,以供大伙參考。
問題描述:
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 對更新的表進行查詢,發(fā)現(xiàn)剛剛m_pConnection1添加的數(shù)據(jù)根本沒法查出來,修改的數(shù)據(jù)也沒更新,刪除記錄也依舊乖乖的呆在數(shù)據(jù)庫里。
這種情況只有在使用兩個或兩個以上連接進行數(shù)據(jù)庫操作時才會出現(xiàn),只有一個連接是不會有這個問題的。但很多時候我們不得不使用多個連接同時操作數(shù)據(jù),所以問題必須解決。
解決辦法:
在執(zhí)行增刪改的 SQL語句時使用“事務Transaction” , 使用JRO引擎強制刷新 查詢連接的 數(shù)據(jù)緩存。
[cpp] view plaincopy總結(jié)
以上是生活随笔為你收集整理的Access ADO多连接时数据延迟无法同步无法及时更新的解决办法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 转载一篇开源http服务器(C语言)
- 下一篇: gsoap(C/C++调用webserv