ExecuteReader需要一个开放且可用的连接。连接的当前状态是打开的

时间:2013-04-20 14:09:29

标签: sql vb.net connection

我目前收到错误:

  

ExecuteReader需要一个开放且可用的连接。连接的当前状态是打开的。

这是我的代码:

db.conn的类

Public Class db
    Public Shared conn As SqlConnection = db.getsqlconn("ezondb")



    Public Shared Function getsqlconn(ByVal whichdb As String) As SqlConnection
        Dim connstring As String = ConfigurationManager.ConnectionStrings(whichdb).ConnectionString
        Return New SqlConnection(connstring)
    End Function



Dim Macomm = db.selectcommand(db.conn, "*", "categories", "idparentcategory=1")
Dim Mada As New SqlDataAdapter(Macomm)
Dim Mat As New DataTable
Mada.Fill(Mat)

2 个答案:

答案 0 :(得分:-1)

getsqlconn方法只是返回一个新的sqlconnection对象实例,你需要通过调用open方法显式打开连接

答案 1 :(得分:-1)

我不会将连接声明为Shared

Public Shared conn As SqlConnection = db.getsqlconn("ezondb")

在需要时打开连接,然后立即关闭。