多个连接connection使用ADO写入再读取数据延迟的一种解决办法
时 间:2017-12-22 13:06:03
作 者:老季 ID:64085 城市:南通
摘 要:多个连接connection使用ADO分别写入再读取,存在数据缓存的问题,这里是一种解决办法
正 文:
之前我们公司的资料是用excel做的,随着资料的增加,运行越来越慢,而且同事用的时候,数据录入比较随意,造成很多错误。
9月底,百度了一些资料,决定用access来解决,在淘宝买了本书开始学习access
10月国庆假过后,开始看书,翻了一遍,再看看access自带的帮助文件,发现我白买了,那个书写的真基础,书名是
然后继续百度,找到了access软件网,进而发现了MV软件平台。
因此顺利完成了整个系统的设计.数据可以进行有效性的验证,而且非常方便,比excel填表格快速,还方便多人共享
昨日一个同事抱怨,做完系统的资料,还要把数据导出到我们另外一个打印系统
因此决定在我的系统内解决数据同步的问题,ado连接到SqlServer
结果发现,系统自动获得的连接是后台数据库的,rst在update后
再打开前台数据库的连接去读取保存的查询获得rst2
再把rst2 循环赋值给SqlServer的SQLrst
Dim r As ADODB.Field For Each r In rst2.Fields sql_rst(r.Name) = r.Value Next r
然后在SqlServer中看,发现数据是update之前的
在本网站也找了文章,说就是有这个延迟
[用ADO写入数据时,确实存在延迟问题]
http://www.accessoft.com/article-show.asp?id=10162
照着这篇文章用sleep,可以解决
可是我就想知道有没有其他解决办法
然后百度各种资料,在微软网站发现一篇文章
[How To Synchronize Writes and Reads with the Jet OLE DB Provider and ADO]
解决方法就有了,和大家分享下:
代 码:
Dim JRO As New JRO.JetEngine'先添加这个引用 Dim cnn As ADODB.Connection Set cnn = GetADOConnection()'平台是用这个获得后台数据库连接 Dim cnn2 As ADODB.Connection Set cnn2 = CurrentProject.Connection'这个活动前端的连接 Dim rst As New ADODB.Recordset dim strSQL strSQL="你的sql语句,修改增加等" dim strSQL2 strSQL2="你的sql语句2,查询" Set rst = ado.OpenRecordset(strSQL, adLockOptimistic, cnn) cnn.BeginTrans 'rst.update addnew等操作 cnn.CommitTrans rst.Close JRO.RefreshCache cnn2'刷新 set rst=ado.OpenRecordset(strSQL2, adLockOptimistic, cnn2)'获得新的rst,内容已经更新了
Access软件网官方交流QQ群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 通过命令按钮让Access列表...(04.24)
- 统计当月之前(不含当月)的记录...(03.11)
- 【Access Inputbo...(03.03)
- 按回车键后光标移动到下一条记录...(02.12)
- 【Access Dsum示例】...(02.07)
- Access对子窗体的数据进行...(02.05)
- 【Access高效办公】上月累...(01.09)
- 【Access高效办公】上月累...(01.06)
- 【Access Inputbo...(12.23)

学习心得
最新文章
- 仓库管理实战课程(15)-月度库存...(04.30)
- Access选择打印机、横纵向、纸...(04.29)
- 仓库管理实战课程(14)-出库功能...(04.26)
- 通过命令按钮让Access列表框指...(04.24)
- 仓库管理实战课程(13)-入库功能...(04.21)
- Access控件美化之--美化按钮...(04.19)
- Access多行文本按指定字符筛选...(04.18)
- Microsoft Access数...(04.18)
- 仓库管理实战课程(12)-月度结存...(04.16)
- 仓库管理实战课程(11)-人性化操...(04.15)