Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di SPEED78
    Registrato dal
    Jan 2003
    Messaggi
    358

    problema assurdo su reader

    ragazzi sto facendo due reader annidati....
    mi da un errore assurdo sapete dirmi dove posto il codice

    codice:
     Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim sql As String
            sql = "select * from foto where cartella='frontale_a' "
            Dim di As New IO.DirectoryInfo(Server.MapPath("obliqua_r"))
            Dim myconnection As OleDbConnection
            Dim mycommand As OleDbCommand
            Dim myreader As OleDbDataReader
            myconnection = New OleDbConnection
            myconnection.ConnectionString = ConfigurationManager.ConnectionStrings("fotoConnectionString").ConnectionString
            mycommand = New OleDbCommand
            mycommand.CommandText = sql
            mycommand.CommandType = CommandType.Text
            mycommand.Connection = myconnection
            mycommand.Connection.Open()
            myreader = mycommand.ExecuteReader()
            'mycommand.Connection.Close()
            Do While myreader.Read
                Response.Write("pipoo")
                Dim sql1 As String = "select top 1 * from foto where cartella='frontale_r' and eseguito=0 order by idfoto desc"
                'Dim myconnection1 As OleDbConnection
                Dim mycommand1 As OleDbCommand
                Dim myreader1 As OleDbDataReader
                'myconnection1 = New OleDbConnection
                'myconnection1.ConnectionString = ConfigurationManager.ConnectionStrings("fotoConnectionString").ConnectionString
                mycommand1 = New OleDbCommand
                mycommand1.CommandText = sql1
                mycommand1.CommandType = CommandType.Text
                mycommand1.Connection = myconnection
                mycommand1.Connection.Open()
                myreader1 = mycommand1.ExecuteReader()
                mycommand1.Connection.Close()
            Loop
    end sub

    errore:

    codice:
    La connessione non è stata chiusa. Lo stato attuale della connessione è aperto. 
    Descrizione: Eccezione non gestita durante l'esecuzione della richiesta Web corrente. Per ulteriori informazioni sull'errore e sul suo punto di origine nel codice, vedere l'analisi dello stack. 
    
    Dettagli eccezione: System.InvalidOperationException: La connessione non è stata chiusa. Lo stato attuale della connessione è aperto.
    
    Errore nel codice sorgente: 
    
    
    Riga 35:             mycommand1.CommandType = CommandType.Text
    Riga 36:             mycommand1.Connection = myconnection
    Riga 37:             mycommand1.Connection.Open() 
    Riga 38:             myreader1 = mycommand1.ExecuteReader()
    Riga 39:             'mycommand1.Connection.Close()
    aiutooooooo

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    151
    Non puoi usare la stessa connessione per 2 datareader contemporaneamente.
    Il primo reader "blocca" la connessione e sino a quando non viene chiuso il primo reader non puoi usare quella connessione.
    Crea un'altra connessione per il secondo reader e risolverai il problema

  3. #3
    Utente di HTML.it L'avatar di SPEED78
    Registrato dal
    Jan 2003
    Messaggi
    358
    cioè scusa non ho capito

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    151
    Non puoi usare la stessa connection di un reader ancora aperto

    E quindi devi aggiungere

    Dim myconnection1 As OleDbConnection

    e sostituire

    mycommand1.Connection = myconnection

    con

    mycommand1.Connection = myconnection1

  5. #5
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    la soluzione che ti è stata data è corretta,cmq se usi sql2005 puoi usare il MARS ,vedi msdn per le delucidazioni.

  6. #6
    Utente di HTML.it L'avatar di SPEED78
    Registrato dal
    Jan 2003
    Messaggi
    358
    grazie ragazzi avrei una domanda:
    se dovessi fare una queri che mi restituisce un solo record come lo recupero? avete per caso un esempio?

  7. #7
    con il metodo ExecuteScalar()

    msdn.microsoft.com
    xxx

  8. #8
    mi sono trovato nello stesso problema e sono impazzito.

    come è possibile che con ACCESS e ASP si poteva fare tranquillamente e con SQL e ASP.NET no ?!?!?!? sono impazzito per giorni
    =MaRk0n3=


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.