【发布时间】:2023-03-08 14:11:01
【问题描述】:
我想为我的整个项目编写一个全局函数,以便在各种形式中使用。我尝试创建一个公共模块并创建一个公共函数,但是当我将它调用到我的表单时,它会产生错误。
假设我的全局函数是关于连接到数据库的。然后当我调用它时,它说连接属性没有初始化。
在我的函数文件中,我使用了:
Imports System.Data.SqlClient
Public Module Connection
Dim myConnection As SqlConnection
Public Sub ConnectToDatabase()
myConnection = New SqlConnection(".............")
myConnection.Open()
End Sub
End Module
在我的表格中,我使用了:
Private Sub Form_Load(...........) Handles MyBase.Load
ConnectToDatabase() 'I call the function here
...............................................
End Sub
这不起作用。 谢谢。
【问题讨论】:
-
你能提供一些代码来显示什么不起作用吗?
-
当你说“这不起作用”时,它怎么不起作用?我猜“ConnectToDatabase()”没有被识别?这里可能还有一个设计问题——SqlConnections 实现 IDisposable;通常最好用“使用语句”围绕它们。此外,保持连接打开的时间超过必要的时间通常是不好的。只是需要考虑的小观察 - 让我们知道异常/编译器警告是什么
-
它的错误是
the connection property has not been initialized。 -
在哪一行?您提供的所有行都没有消耗连接,所以我猜是一些不同的代码?
-
ConnectToDatabase()下面的行。它们例如myCommand = New SqlCommand(".....",myConnection) myCommand.ExecuteScalar。因此它拒绝最后一条语句