VB.NET中的公共函数
我想为我的整个项目编写一个全局函数,用于各种形式。我尝试创建一个公共模块并创建一个公共函数,但当我将其调用到表单时,它会生成错误 假设我的全局函数是关于连接到数据库的。然后当我调用它时,它说连接属性没有初始化 在我的函数文件中,我使用了:VB.NET中的公共函数,vb.net,function,Vb.net,Function,我想为我的整个项目编写一个全局函数,用于各种形式。我尝试创建一个公共模块并创建一个公共函数,但当我将其调用到表单时,它会生成错误 假设我的全局函数是关于连接到数据库的。然后当我调用它时,它说连接属性没有初始化 在我的函数文件中,我使用了: Imports System.Data.SqlClient Public Module Connection Dim myConnection As SqlConnection Public Sub ConnectToDatabase()
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
这是行不通的。
谢谢。我怀疑这与这是一个公共模块或公共函数无关,而与您没有正确初始化连接有关 请尝试以下代码:
Imports System.Data.SqlClient
Imports System.Data
Public Sub ConnectToSQL()
Dim con As New SqlConnection
Dim cmd As New SqlCommand
Try
con.ConnectionString = "Data Source=atisource;Initial Catalog=BillingSys;Persist Security Info=True;User ID=sa;Password=12345678"
con.Open()
Catch ex As Exception
MessageBox.Show("Error while connecting to SQL Server." & ex.Message) Finally
con.Close() 'Whether there is error or not. Close the connection.
End Try
End Sub
我怀疑这与这是一个公共模块或公共函数这一事实无关,而与您没有正确初始化连接这一事实有关 请尝试以下代码:
Imports System.Data.SqlClient
Imports System.Data
Public Sub ConnectToSQL()
Dim con As New SqlConnection
Dim cmd As New SqlCommand
Try
con.ConnectionString = "Data Source=atisource;Initial Catalog=BillingSys;Persist Security Info=True;User ID=sa;Password=12345678"
con.Open()
Catch ex As Exception
MessageBox.Show("Error while connecting to SQL Server." & ex.Message) Finally
con.Close() 'Whether there is error or not. Close the connection.
End Try
End Sub
你能提供一些代码来说明什么不起作用吗?当你说“这不起作用”时,它怎么不起作用?我猜“ConnectToDatabase()”未被识别?这里可能还有一个设计问题——SqlConnections实现IDisposable;通常最好用“使用语句”来围绕它们。此外,保持连接打开的时间过长通常是不好的。只需稍加考虑,让我们知道异常/编译器警告是什么错误,它是代码>连接属性尚未初始化< /代码>。在哪条线上?您提供的任何一行都不使用连接,因此我猜测使用的是不同的代码?下面的
ConnectToDatabase()
。例如myCommand=newsqlcommand(“…”,myConnection)myCommand.ExecuteScalar
。因此,它拒绝了最后一句话。你能提供一些代码来说明什么不起作用吗?当你说“这不起作用”时,它怎么不起作用?我猜“ConnectToDatabase()”未被识别?这里可能还有一个设计问题——SqlConnections实现IDisposable;通常最好用“使用语句”来围绕它们。此外,保持连接打开的时间过长通常是不好的。只需稍加考虑,让我们知道异常/编译器警告是什么错误,它是代码>连接属性尚未初始化< /代码>。在哪条线上?您提供的任何一行都不使用连接,因此我猜测使用的是不同的代码?下面的ConnectToDatabase()
。例如myCommand=newsqlcommand(“…”,myConnection)myCommand.ExecuteScalar
。因此,它拒绝了最后一项声明