,有一些應用程序使用adodb來訪問mysql服務器。在vb.net中正確關閉了vb.net中的adodb連接
private adoconnect as new adodb.connection
public adors as new adodb.recordset
public function returnadors(byval column as string) as string
return adors.fields(column).value.tostring
end function
Public Function ReadData(ByVal strQuery As String, Optional ByVal strWhere As String = vbNullString) As Boolean
Try
If ADOConnect.State = ConnectionState.Open Then Call CloseConnection()
ADOConnect.Open(dsn, user, pass)
ADORS.Open(strQuery, ADOConnect, ADODB.CursorTypeEnum.adOpenDynamic)
If not ADORS.EOF Then Return True
Catch ex As Exception
msgbox(ex)
End Try
Return False
End Function
public sub closeconnection()
if adoconnect.state = connectionstate.open then adoconnect.close
end sub
現在可以說,我們要填充一個文本框與數據庫中的東西:
if readdata("SELECT NAME FROM USERS WHERE ID = 1") then
me.textbox1.text = returnadors("NAME")
end if
call closeconnection
重新編寫這些功能是一項艱鉅的任務 - 我沒有興趣這樣做,除非絕對必要的。
雖然這是我的問題。
即使連接被關閉(我已經通過代碼加強,它關閉) 連接仍然是在SQL Server上可見睡眠狀態
爲什麼呢?以及如何確保連接已關閉。
感謝
這聽起來太簡單了,但如果你改變你的代碼是什麼,收之前,關閉您的連接ADORS? – Smudge202 2011-04-19 21:59:25
你的意思是關閉readdata()函數中的adoconnect嗎? – Jeff 2011-04-19 22:02:51
不,我的意思是[adors.Close](http://www.devguru.com/technologies/ado/quickref/recordset_close.html)在closeconnection函數中?編輯 - 此外,將其設置爲無。 – Smudge202 2011-04-19 22:10:19