【发布时间】:2014-01-04 10:38:31
【问题描述】:
我有一个全局类设置
Public Class ReqGlobal
Private Shared _sqlConn As SqlClient.SqlConnection
Public Shared Property SqlConnection As SqlClient.SqlConnection
Get
Return _sqlConn
End Get
Set(value As SqlClient.SqlConnection)
_sqlConn = value
End Set
End Property
Private Sub New()
' Prevents users from making this an instance
End Sub
End Class
然后在我的表单上运行以下代码:
Dim sqlConn as SqlConnection = ReqGlobal.SqlConnection
Using conn As SqlClient.SqlConnection = sqlConn
conn.Open()
Using bulkCopy As SqlClient.SqlBulkCopy = New SqlClient.SqlBulkCopy(conn)
bulkCopy.DestinationTableName = "tableName"
bulkCopy.WriteToServer(dt)
End Using
End Using
现在,当它到达 End Using 时,它应该清除 conn 中的连接字符串,但它也是如何清除 ReqGlobal.SqlConnection 中的连接字符串的一些方法/p>
有人可以解释一下我在这里做错了什么以及为什么要清除这两个地方的连接字符串吗?如果重要的话,这是一个类库。
【问题讨论】:
-
shared连接?啊!默认情况下,您有一个连接池,它在后台管理物理连接。不需要shared连接,这会导致几个问题。
标签: vb.net class using sqlconnection class-library