【发布时间】:2010-01-26 22:17:03
【问题描述】:
我有这个子程序设置来连接到 MS Access 数据库:
Public Sub MakeDBConnection(ByVal source As String)
Try
cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & source & ";")
cn.Open()
Catch e As Exception
ReportError("CRITICAL", e.Message)
End Try
End Sub
它在一个模块中,并且在它使用的模块中使用它的任何函数,但是,当我尝试从 Main.vb (我的主要形式)使用它时,它似乎没有做任何事情,就像任何尝试执行 SQL 查询返回错误,提示我必须初始化连接。
我尝试将它使用的所有变量都设置为 Public,但它不起作用。也许我需要退货?我不知道。
感谢任何帮助,谢谢。
【问题讨论】:
-
CN在哪里定义?如果它是一个全局变量,那么这是一种非常糟糕的方法,它要求您打开与数据库的连接。
-
但 Jet 更喜欢重复使用的单个连接,特别是因为在打开连接时创建 LDB 文件的开销很大。当然,这不是不仔细管理连接的理由,但使用单个持久连接实际上是 Jet 的性能增强器,也是一种完全有效的做法。
标签: vb.net ms-access subroutine