Solved

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

Posted on 2009-05-11
2
1,891 Views
Last Modified: 2012-05-06
Server Error in '/' Application.
--------------------------------------------------------------------------------

ExecuteReader requires an open and available Connection. The connection's current state is connecting.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.InvalidOperationException: ExecuteReader requires an open and available Connection. The connection's current state is connecting.

Source Error:

Line 62:             cmd.Parameters.Add("@userid", SqlDbType.VarChar, 50).Value = TBUserName.Text
Line 63:             cmd.Parameters.Add("@password", SqlDbType.VarChar, 50).Value = TBPassword.Text
Line 64:             rd = cmd.ExecuteReader()
Line 65:             cmd.Parameters.Clear()
Line 66:             If rd.Read() Then
 

Source File: F:\hshome\hello5\testmylogic.com\default.aspx.vb    Line: 64

Stack Trace:
0
Comment
Question by:logicslab
2 Comments
 
LVL 142

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 24362415
>Exception Details: System.InvalidOperationException: ExecuteReader requires an open and available Connection. The connection's current state is connecting.

the error message tells you that you did not assign a connection object to the command, resp that the connection is not open.
the problem is in the code above what you posted.
0
 
LVL 5

Accepted Solution

by:
aternex earned 500 total points
ID: 25104253
Try something like below, this will assign the connection to the command object and open it.

Using oConn As New SqlConnection(connectionString)
  Using oCmd As New SqlCommand()
    With oCmd
      .Connection = oConn
      .CommandType = CommandType.StoredProcedure
      .CommandText = "storedProcedureName"
      .Parameters.Clear()
      .Parameters.AddWithValue("@userid", TBUserName.Text)
      .Parameters.AddWithValue("@password", TBPassword.Text)
      .Connection.Open()
    End With
 
    Using oRs As SqlDataReader = oCmd.ExecuteReader(CommandBehavior.CloseConnection)
      If oRs.HasRows() Then
        ' Do whatever you need with the reader here.
      End If
 
      oRs.Close()
    End Using
  End Using
End Using

Open in new window

0

Featured Post

Best Practices: Disaster Recovery Testing

Besides backup, any IT division should have a disaster recovery plan. You will find a few tips below relating to the development of such a plan and to what issues one should pay special attention in the course of backup planning.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Foreword (May 2015) This web page has appeared at Google.  It's definitely worth considering! https://www.google.com/about/careers/students/guide-to-technical-development.html How to Know You are Making a Difference at EE In August, 2013, one …
Introduction A frequently used term in Object-Oriented design is "SOLID" which is a mnemonic acronym that covers five principles of OO design.  These principles do not stand alone; there is interplay among them.  And they are not laws, merely princ…
This video teaches viewers how to create their own website using cPanel and Wordpress. Tutorial walks users through how to set up their own domain name from tools like Domain Registrar, Hosting Account, and Wordpress. More specifically, the order in…
This video teaches users how to migrate an existing Wordpress website to a new domain.

810 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question