注册 登录
编程论坛 VB6论坛

关于Set cn = New ADODB.Connection的声明

wxflw 发布于 2020-01-20 15:48, 2023 次点击
使用连接数据库,每个窗体中的操作经常要打开关闭连接,类似于CN,RS,
我是否可以将Set cn = New ADODB.Connection直接在模块中如下声明
Public Set cn = New ADODB.Connection
Public Set rs = New ADODB.Recordset
然后直接在窗体中直接使用?
还有声明
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
是否可以使用Public在模块中声明,在窗体中使用。这样做有什么缺点?
另外,是否可以如下语句关闭和清空
If cn.State = adStateOpen Then cn.Close: Set cn = Nothing
If rs.State = adStateOpen Then rs.Close: Set rs = Nothing
2 回复
#2
风吹过b2020-01-20 19:39
Connection 建议在公共模块里申明,在应用程序运行后第一时间就连接数据库,如果连接失败,则提示。
在应用程序退出之前关闭连接。在整个程序运行过程中,都保持连接不断开。

对 Recordset 来说,建议使用 窗体或过程定义为好,使用完后就关闭。

这样对于整个工程来说,
Connection  在整个程序运行过程中都是可用的,所有的 Recordset  都可以基于这个 Connection   来打开,
对于数据引擎来说,不会产生过多的数据连接,也利用维护。最少打开数据连接的代码只需要初始化时运行一次就可以了。

关闭可以用这样的语句,但顺序应该是 先关闭 Recordset 后,Connection   。与打开时顺序相反。



#3
wxflw2020-01-21 07:25
明白了,谢谢!
1