我有这个奇怪的错误,我还找不到解决方案。每当我必须在数据库中插入数据时,我都有一个函数。它的实际工作,因为当我检查数据库条目,他们实际上在那里。数据阅读器与连接必须关闭错误
但是我有这个烦人的错误“已经有一个打开的数据阅读器与连接必须关闭”。我找不到一个方法来阅读它。
这是函数:
Sub InputDataValues(ByVal StrQwery As String)
Try
myconn.Open()
Dim stquery As String = StrQwery
Dim smd As MySqlCommand
smd = New MySqlCommand(stquery, myconn)
smd.ExecuteReader()
smd.ExecuteReader().Close()//I added this when I wanted to get rid if the mistake
myconn.Close()
Catch ex As Exception
Dim ErrorMessage As String = "alert('" & ex.Message.ToString() & "');"
Page.ClientScript.RegisterStartupScript(Me.GetType(), "ErrorAlert", ErrorMessage, True)
myconn.Close()
End Try
myconn.Close()
End Sub
这是我怎么称呼它几次下来代码:
InputDataValues(StrQwery)
如果有人凸轮给我一个提示,我将不胜感激。
这是怎么看当我把它改成的ExecuteNonQuery
Sub InputDataValues(ByVal StrQwery As String)
Try
myconn.Open()
Dim stquery As String = StrQwery
Dim retValue As Integer
Dim smd As MySqlCommand
smd = New MySqlCommand(stquery, myconn)
retValue = smd.EndExecuteNonQuery()
myconn.Close()
Catch ex As Exception
Dim ErrorMessage As String = "alert('" & ex.Message.ToString() & "');"
Page.ClientScript.RegisterStartupScript(Me.GetType(), "ErrorAlert", ErrorMessage, True)
myconn.Close()
End Try
myconn.Close()
End Sub
尝试'smd.ExecuteNonQuery',而不是'smd.EndExecuteNonQuery'。第二个是异步操作。 'EndExecuteNonQuery'需要一个参数,'ExecuteNonQuery'不需要。 – Tim 2013-04-28 02:38:26