0
例如在窗體加載事件:如何在表單關閉後處理非託管資源?
Dim Conn As New OleDbConnection(ConnectionString)
Dim dataAdapter As New OleDb.OleDbDataAdapter
Dim dt As New Datatable
Dim Command As New OleDbCommand
Try
Command.CommandText = "select agentName from agents order by agentName"
dataAdapter = New OleDb.OleDbDataAdapter(Command.CommandText, Conn)
dataAdapter.Fill(dt)
agentsV.DataSource = dt
agentsV.ValueMember = "agentName"
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Exclamation + MsgBoxStyle.MsgBoxRight)
Finally
Conn.Dispose()
dataAdapter.Dispose()
Command.Dispose()
End Try
有是沒有設置一個對象,它是DT數據表,因此,如果化妝處置,代理組合框的數據源將被清除!
一般情況下,如何爲這些情況進行處理?
謝謝。
您不必Dispose DataTables。 檢查瞭解更多細節:http://stackoverflow.com/questions/913228/should-i-dispose-dataset-and-datatable – Learner
我應該理解你的問題,創建並分配FormClosing事件處理程序。在事件處理程序中,添加myDataTable.Dispose()。 – Tebc
謝謝你,在你的鏈接中,作者說「system.data命名空間不會擁有非託管資源」,因此不需要配置!任何機構都可以多說一點? –