Ok, ho chiesto questo errore molto presto questa settimana e ho avuto alcune risposte molto utili e senza dubbio le cose sono drasticamente migliorate da quando ho iniziato a seguire i suggerimenti.ExecuteReader richiede una connessione aperta e disponibile. Lo stato attuale della connessione è chiuso
Tuttavia, ora sto utilizzando il metodo "corretto", best practice per accedere al database. Ricevo ancora questo errore su alcune funzioni e non riesco a farlo scomparire per quel blocco. Ecco il mio codice:
Public Shared Function doesBasketExist(ByVal baskethash As String) As Boolean
Dim _r As Boolean
Using db As New SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings("pitstopConnectionString").ConnectionString)
Using cmd As New SqlCommand("doGetBasketByHash", db)
cmd.CommandType = CommandType.StoredProcedure
cmd.Parameters.AddWithValue("@baskethash", baskethash)
Using dr As SqlDataReader = cmd.ExecuteReader()
If dr.HasRows() = True Then
_r = True
Else
_r = False
End If
dr.Close()
End Using
End Using
End Using
Return _r
End Function
Ora non importa quello che faccio ottengo: ExecuteReader richiede una connessione aperta e disponibile. Lo stato attuale della connessione è chiuso. su questa connessione. Ho delle funzioni con oggetti denominati la stessa cosa all'interno di questa classe (cmd, dr, ecc.) Ma Usando si chiude dopo se stesso no?
Suggerimenti benvenuti :)