.net中的全局数据库连接

时间:2011-09-02 10:17:33

标签: vb.net sqlconnection

我继承了一个使用全局数据库sqlconnection对象的应用程序,以便从应用程序中的每个表单访问数据库。应用程序启动时建立连接。

我认为连接始终是打开的,这不是一个好习惯,我宁愿改变它,所以我会打开数据库连接并在每次需要访问数据库时关闭它。

所以我想知道我是不是在这里。

我会使用这个,欢迎任何改进建议:

Public Sub UpdateDatabase(ByVal command As SqlCommand, ByRef NumError As Double, ByRef DescError As String)
    Using connection As New SqlConnection(connectionString)
        Try
            command.ExecuteNonQuery()
            command.Dispose()
            NumError = 0
            DescError = ""
        Catch ex As Exception
            NumError = Err.Number
            DescError = Err.Description
        End Try
    End Using
End Sub

我将SqlCommand对象发送给方法而不是查询字符串,因为我可以将参数添加到SqlCommand对象。

1 个答案:

答案 0 :(得分:1)

您使用using处理连接的方式很好,连接将始终关闭并为您处理。

从调用者传递命令的方式并不是很好,没有数据库引擎隔离。对于参数,您只需传递一个名称和值列表,并在上面的类中添加参数,而不是在您调用此代码的100.000个地方。

不要忘记将新打开的连接与命令关联起来,否则它将无效。

有些人还使用了另一个命令,因此命令被释放,在用于连接的内部......

相关问题