记录集更新如果没有完成,为何就无法close呀?如何做到强制关闭记录集?
今天发现一个很怪的问题,现象是无法获取最新记录,记录集总显示以前已经删除了的记录,这条记录在后台数据库中已经没有了,为何呢?最后找到原因,原来是一上次记录集没有更新成功.所以这个记录集也无法close后再装纳新的数据.
If rsdata.State = adStateOpen Then
rsdata.CancelUpdate-----加上这一句就可以了.
rsdata.Close
End If
rsdata.CursorLocation = adUseClient '使用本地游标
rsdata.Open strsql, conn, adOpenDynamic, adLockOptimistic
原来代码中没有rsdata.cancelupdate这一句,导致记录集无法close
加上这一句就可以了,可是我并不是解决办法呀?因为更新不成功的情况会很常见.总不能每次close之前总要执行一次rsdata.cancelupdate吧.
今天发现一个很怪的问题,现象是无法获取最新记录,记录集总显示以前已经删除了的记录,这条记录在后台数据库中已经没有了,为何呢?最后找到原因,原来是一上次记录集没有更新成功.所以这个记录集也无法close后再装纳新的数据.
If rsdata.State = adStateOpen Then
rsdata.CancelUpdate-----加上这一句就可以了.
rsdata.Close
End If
rsdata.CursorLocation = adUseClient '使用本地游标
rsdata.Open strsql, conn, adOpenDynamic, adLockOptimistic
原来代码中没有rsdata.cancelupdate这一句,导致记录集无法close
加上这一句就可以了,可是我并不是解决办法呀?因为更新不成功的情况会很常见.总不能每次close之前总要执行一次rsdata.cancelupdate吧.
解决方案 »
- 统计msflexgrid的行数?
- sp测试问题:用vb调用c生成的dll,出现 DLL 调用约定错误,请问怎么解决阿,谢谢!
- 浏览器主页设定
- VB的数据报表(Data Report)怎么用阿?
- 模式窗体如何在进程外运转(100分,在线等待,先来先得)---急
- 大家来帮我看看这段代码怎么修改阿!!!急
- 送您50分。。。。。。。各位大侠可不可以帮我看看这段代码有什么错误。当我单击LstCity(listbox)控件时。显示错误:未找到方法或数据成员
- 请教API高手,如何得到注册表中某一设置值的值?
- 谁有cgi32.bas,请贴出来!
- 如何将listbox中的内容输出到文本框?
- MSHFlexGrid 最多可以有多少行
- 如何能保证ado记录集可以正常close呀?因为如果有未完成的更新时,则进行close就报错.
2.或者如何检则update没有成功.如果没有成功就取消这个更新.
还有什么好办法呀?
感觉更新是很难的问题.
rsdata.Open strsql, conn, adOpenKeyset, adLockOptimistic
rsdata.CursorLocation = adUseClient '使用本地游标
rsdata.Open strsql, conn, adOpenDynamic, adLockOptimistic
==============================
谢谢,我想问,在进行close的时,如何判断出这个记录集是否处于更新模式呢?因为如果是更新模式,则要先执行cancelupdate,再执行close,如果不是更新模式,则要直接进行close,如果这时调用cancelupdate,也会报错的.
也就是说:在关闭一个记录集时,如何保证close时不出错呢???