【问题标题】:Global database connection in .net.net 中的全局数据库连接
【发布时间】:2011-09-02 18:22:33
【问题描述】:

我继承了一个使用全局数据库 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 对象添加参数。

【问题讨论】:

    标签: vb.net sqlconnection


    【解决方案1】:

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

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

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

    有些人还在命令周围放置了另一个 using,因此命令被处理,在 using 用于连接...

    【讨论】:

    • For the parameters you can simply pass a list of names and values and add the parameters in your class above and not in the 100.000 places where you call this code.我不知道该怎么做,你有没有机会给我举个例子?
    • @rfc1484:这是您的链接和示例 :) sharpdeveloper.net/content/archive/2007/05/25/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-01
    • 1970-01-01
    • 2013-09-29
    • 1970-01-01
    • 2022-07-26
    • 1970-01-01
    相关资源
    最近更新 更多