2013-04-20 42 views
-1

我目前得到的錯誤:ExecuteReader需要一個開放且可用的Connection。連接的當前狀態是開放

ExecuteReader requires an open and available Connection. The connection's current state is open.

這裏是我的代碼:

班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) 
+0

請向我們展示更多代碼。你在哪裏打開連接? – 2013-04-20 14:11:25

+0

我添加了更多代碼。 – 2013-04-20 14:13:27

+0

在您顯示的連接未打開的代碼中。 – 2013-04-20 14:15:32

回答

-1

我不會聲明co nnections爲Shared

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

打開,當你需要它,之後將其關閉的連接。

-1

的getsqlconn方法只是返回sqlconnection對象的新實例,您需要通過調用open方法明確打開連接

+0

你能舉個例子嗎?我從php切換到.net。這對我來說是相當新的。 – 2013-04-20 14:19:04

相關問題