首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Access 2007 -插入和即时选择不检索插入的数据

Access 2007 -插入和即时选择不检索插入的数据
EN

Stack Overflow用户
提问于 2013-06-11 23:33:30
回答 1查看 276关注 0票数 2

我正在通过OleDB在一个表中插入几行,并立即选择插入的行。

我不能以这种方式检索行,我必须等待大约。3-5秒。然后,插入的行将出现在表格中。

我在数据库本身中观察到了这种行为,我通过OleDB插入了行,并观察了Access中打开的表。该行在3-5秒后出现在表中。

访问缓冲区行吗?我是否必须通过OleDB发送刷新或提交等?

任何建议都会非常有帮助。

(请不要问我为什么不通过我的业务逻辑或其他方式来解决这个问题……)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-12 18:47:08

我做了一些测试,OleDb似乎确实有一些缓冲。我发现

  1. 如果我执行了一些插入操作,然后立即对同一个OleDbConnection执行了SELECT操作,则新行立即可用。
  2. 如果我打开两个OleDbConnection对象,INSERTed on con1,然后立即SELECTed on con2,新行大约需要5秒钟才能在con2连接上可用。
  3. 如果我打开两个OleDbConnection对象,<代码>D9,执行con1.Close(),然后立即在<代码>D11上SELECTed,新行立即可用。

因此,关闭OleDbConnection似乎具有“刷新”写入的效果,并使它们更快地可用于其他连接。我的猜测是,OleDb隐式缓冲(或“批处理”)更新,因为ACE是一个共享文件数据库,它试图减少对数据库文件的争用。

(当我使用SQL Server执行相同的测试时,关闭con1时的用例与保持打开时的用例没有显着差异。在每种情况下,新记录都是即时可用的。)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17048114

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档