【发布时间】:2014-12-05 04:52:08
【问题描述】:
我们知道,如果连接尚未打开,DataAdapter 会打开和关闭连接。但是使用我的代码它打开但不关闭..我正在使用 MySql.Data.MySqlClient.MySqlDataAdapter,不确定我做错了什么。下面是我的代码
Public Function GetDT(ByVal SqlQuery As String, ByVal ConString As String) As DataTable
Dim da As New MySql.Data.MySqlClient.MySqlDataAdapter(SqlQuery, ConString)
Dim ds As New DataSet
da.Fill(ds)
GetDT = ds.Tables(0)
da.Dispose()
ds.Dispose()
da = Nothing
ds = Nothing
End Function
我正在使用这个连接字符串:"server=localhost;port=3306;user=someuser;pwd=somepassword;database=mydatabasename;Allow Zero Datetime=True;"
在调试代码时,我在 DataAdapter.fill 执行它时立即启动了一个连接线程,但是由于线程保持在 SLEEP 状态,因此连接没有关闭。请检查下图。
谁能帮我解决这个问题?
谢谢
【问题讨论】:
-
不确定这是否是解决办法,但您应该在处理
da之前处理掉ds。否则,您将在关闭其父连接后关闭ds。 -
我试过了,但如果我在 da 之前处理 ds 没有任何改变
标签: mysql database-connection dataadapter