共用一个Connection连接到一个MDB文件时出现问题

cyberkit 2007-07-14 01:27:09
有一个全局变量g_Conn,她负责连接到MDB文件,所有的Recordset都使用该Connection,而且该连接永不断开。但好像存在一些问题,当该连接被多个Recordset使用时,写入和查询的数据好像不正常了,具体症状是插入记录的时候根本没写进去,查询的时候,表里面是有记录的,但Recordset的eof属性为真!程序并不报错,请问各位遇到过这样的问题吗?
...全文
157 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tiger_Zhao 2007-07-16
  • 打赏
  • 举报
回复
原因是更新和查询 recordset 的数据没有同步。
更新 recordset 插入新纪录后要调用 update 更新到数据库,最好是马上 close 以避免缓冲池之类的问题;
然后查询的 recordset 要调用 requery 重新从数据库取数。
lcsfxs 2007-07-15
  • 打赏
  • 举报
回复
Option Explicit
Public gsOdbcName As String '主数据库连接参数
Public ADOsdb As new ADODB.Connection

gsOdbcName = "PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source=" _
& app.Path & "\db.mdb" & ";"

With ADOsdb
If .State <> adStateOpen Then
.CursorLocation = adUseClient
.ConnectionString = gsOdbcName
.Open
End If
End With
cyberkit 2007-07-14
  • 打赏
  • 举报
回复
我在网上也找到类似的状况......但好像也没有解决的方法
如果我的代码用SQL Server做数据库(我的程序同时支持两种数据库),则没有任何问题,为什么会这样?
guyehanxinlei 2007-07-14
  • 打赏
  • 举报
回复
在用时判断是否被关闭了,没有的话就将其关闭,使用时再打开,我一直这样用的,没出现楼主所述那种情况。
eg
if cn.state=adstateopen then cn.close
.......

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧