回 帖 发 新 帖 刷新版面

主题:ado.net连接关闭后发现连接仍存在

在vb.net中,用ado.net打开sql数据库连接,进行相关处理后,用myConn.close关闭该连接。

可是在第三方监控软件中,发现该连接仍然存在!

用vb6做相同操作后,一旦连接关闭,在第三方监控软件中就发现连接真正中断,这正常吗?求大家帮助!谢谢!

回复列表 (共5个回复)

沙发

你看看是不是又有别的连接在上面?可能是不经意时打开的连接,好好检查一下

板凳

绝对不是不经意间打开的连接。

其实,我的应用软件很简单,不是一个系统,而只是一个窗体加一个按钮和一个text框,是一个例程而已。

也就是点一下按钮以后,执行如下代码:

        Dim SqlConn As SqlConnection
        Dim mySqlCommand As SqlCommand
        Dim myRead As SqlDataReader

        Dim SqlQueryString As String

        SqlConn = New SqlConnection(sConnString_remote)
        SqlConn.Open()

        SqlQueryString = "select * from t_list"
        mySqlCommand = New SqlCommand(SqlQueryString, SqlConn)
        myRead = mySqlCommand.ExecuteReader()
        If myRead.HasRows Then
            myRead.Read()
            textbox1.Text = myRead.Item("f_abc")
        Else
            textbox1.Text = ""
        End If
        myRead.Close()

        SqlConn.Close()

表中只有一条记录,提取出来后显示在text框中,然后关闭连接。但是,执行后,用第三方监控软件发现连接仍然维持着,用VB6做相同的事情,却不是这样。

我们也做了测试,如果在sqlconn.close()后面在不重新打开连接的情况下再去操作,数据库,显示出错信息。

3 楼

你把数据适配器给清空试试呢。

4 楼

Try
    myconnect.Open()
    ......
    ......
 Catch ex As Exception
        Finally
            myconnect.Close()
        End Try

试下

5 楼

程序有异常!

我来回复

您尚未登录,请登录后再回复。点此登录或注册