社区
数据库
帖子详情
_RecordsetPtr 的问题
冰杰007
2009-12-23 09:58:28
大家好,我在用_RecordsetPtr m_pRecordset操作ACCESS数据库的时候,如果同时打开两个软件,其中一个软件增加或删除了一条记录,这样另一个软件操作数据库的时候就会出现错误,请问是怎么回事,我该怎么处理
...全文
108
8
打赏
收藏
_RecordsetPtr 的问题
大家好,我在用_RecordsetPtr m_pRecordset操作ACCESS数据库的时候,如果同时打开两个软件,其中一个软件增加或删除了一条记录,这样另一个软件操作数据库的时候就会出现错误,请问是怎么回事,我该怎么处理
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
BlueMap
2010-07-07
打赏
举报
回复
涉及的东西挺多。。。学习。。。基本点是你操作的数据一定要是最新的数据。我想一个比较傻的办法是先关闭你当前操作的记录集然后重新生成记录集,这样能得到最新的数据。理论上你说的情况是要将需要操作的数据加锁的,但是具体我还不会,友情帮顶。
czh604
2009-12-23
打赏
举报
回复
你的担心本来就是个问题。
有对数据库进行修改的时候,数据表都必须加锁。
也就是说一个用户要修改一个表的时候,另外一个用户就得等待。这是不可避免的,无法同时修改,会出错的。
我觉得Access自己在有人修改表时会自动上锁,所以你第二个软件修改的时候就出错了。
你应该在你的程序中去捕获这个异常(你出错就是因为你没有实现捕获异常),然后对异常进行处理。
比如:当捕获的异常表示当前有人在修改表的时候,你让程序休息一小段时间再去修改那表。
冰杰007
2009-12-23
打赏
举报
回复
你好,加锁以后会不会别的程序不能修改数据库?
m_pRecordset->Open("SELECT * FROM datefile",
m_pConnection.GetInterfacePtr(),adOpenStatic,adLockOptimistic,adCmdText);
我是这样打开的
yschenwei
2009-12-23
打赏
举报
回复
数据库数据同步问题。
一般如果多个程序同时访问相同数据的时候都要加锁。
或是干脆以独占方式打开数据库。
冰杰007
2009-12-23
打赏
举报
回复
上面说的有误,增加是不会出现错误的,只是在另一个软件中删除一条记录后在用这个软件操作数据库就出现问题,m_pRecordset被移动到被删除记录的时候出现错误,请问我该怎么避免?
尘雨
2009-12-23
打赏
举报
回复
你用的是动态游标,还是静态游标,或者是键集游标,其次锁定类型,是悲观锁定,还是乐观锁定,还是只读锁定
按照你的要求,你应该使用客户端游标类型,静态游标,悲观锁定
adOpenStatic, adLockPessimistic.
这样你的记录集打开之后,其他ADO会话不能编辑,防止冲突
冰杰007
2009-12-23
打赏
举报
回复
我用了CursorLocation=adUseClient,不起作用啊
我现在要的结果是用别的软件删除了数据库中的某些记录,在我的这个软件中就不能读取数据库了
到m_pRecordset->MoveNext()运动到已经删除的记录时就出错了
尘雨
2009-12-23
打赏
举报
回复
使用客户端游标CursorLocation=adUseClient
_
Recordset
Ptr
使用方法
_
Recordset
Ptr
使用方法,主要用于数据库的查询,返回数据集。
_
Recordset
Ptr
这是一个关于mfc中_
Recordset
Ptr
的比较详尽的参考文档
Record-set-
Ptr
.rar_
Recordset
Ptr
使用_
Recordset
Ptr
接口开发ACCESS数据库,
Recordset
Ptr
智能指针,通过该接口可以对数据库的表内的记录、字段等进行各种操作。
khAcon_
Recordset
Ptr
.rar_C++_
HICON m_hIcon _Connection
Ptr
m_pCon 连接对象 _
Recordset
Ptr
m_pRs
ADO数据库连接类(C++实现)
ADO(ActiveX Data Objects)一种程序对象,用于表示用户数据库中的数据结构和所包含的数据。在Microsoft Visual Basic编辑器中,可以使用ADO对象以及ADO的附加组件(称为Microsoft ADO Extensions for DLL and Security(ADOX))来创建或修改表和查询、检验数据库、或者访问外部数据源。还可在代码中使用ADO来操作数据库中的数据。
数据库
4,011
社区成员
39,816
社区内容
发帖
与我相关
我的任务
数据库
VC/MFC 数据库
复制链接
扫一扫
分享
社区描述
VC/MFC 数据库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章