正确关闭vb.net中的adodb连接

时间:2011-04-19 21:51:51

标签: vb.net ado.net adodb mysql-management

在vb.net中,有些应用程序使用adodb来访问mysql服务器。

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上仍然可以看到该连接

为什么呢?以及如何确保连接已关闭。

感谢

2 个答案:

答案 0 :(得分:1)

我对您正在做的事情没有多少经验,但这通常是我使用sqlserver连接的路径。 Using会自动关闭您的连接。

Using ADOconnect
   'operations
End Using

答案 1 :(得分:1)

将以下内容添加到ConnectionString

Pooling=False;