以下两种关闭记录集的方式哪种更好一些呀?(用 adstateopen 还是用 adstateclosed 属性判断)


以下两种关闭记录集的方式哪种更好一些呀?(用 adstateopen 还是用 adstateclosed 属性判断)

if rs.state = adstateopen then
    rs.close
end if
set rs=nothing

if rs.state <> adstateclosed then
    rs.close
end if
set rs=nothing
以上两种写法有区别吗?
可是我看到msdn上的代码大多是第一种呀?

4 个解决方案

#1


有老师告我,用adstateclosed属性判断后关闭较好,因为记录集的属性并不只有 asstateopen和adstateclosed两种,我也同意这种说法.可是为什么msdn,和其他的帮助资料上,关闭记录集时,都是用adstateopen这个属性来判断的呢?
难道是这些设计者们想的不周道吗?按理说msdn上的代码应是很经典的呀.
我是初学者,请给明示.

#2


我用
if(rs->State & adStateOpen)
{
    rs->Close();
}

#3


我用
if(rs->State & adStateOpen)
{
    rs->Close();
}
==========================
谢谢,不仅你是这样用的,我也是这样用的.而且msdn上的示例代码也是这样写的.
可是我不明白的核心问题是,这样写真的对吗?如果当时这个记录集的状态不是adstateopen ,而是其他几种状态呢?
adStateConnecting 2 指示对象正在连接。 
adStateExecuting 4 指示对象正在执行命令。 
adStateFetching 8 指示正在检索对象的行。 
如果按你的代码,这种情况下就不会执行记录集的关闭操作,而实际上开发者的本意也是希望执行close的,但却执行不到close.这个问题如何办呢?

#4


我顶
智能推荐

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
© 2014-2019 ITdaan.com 粤ICP备14056181号  

赞助商广告