Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    There is already an open DataReader associated with this Connection which must be clo

    ecco il codice che provoca l'errore presente nel titolo


    dim controlloStat as ODBCCommand = New ODBCCommand("Select DISTINCT catappartenenza FROM tbsquadre WHERE catappartenenza = 'Serie A' OR catappartenenza = 'Serie B' OR catappartenenza = 'Serie C1 A' OR catappartenenza = 'Serie C1 B' OR catappartenenza = 'Serie C2 A' OR catappartenenza = 'Serie C2 B' OR catappartenenza = 'Serie C2 C'", objConn)
    Dim ReaderControlloStat as ODBCDataReader
    ReaderControlloStat = controlloStat.ExecuteReader()

    While ReaderControlloStat.Read()
    dim controlloStatInterno as ODBCCommand = New ODBCCommand("Select nome,gf,catappartenenza FROM tbsquadre WHERE catappartenenza = '"& ReaderControlloStat("catappartenenza") &"' ORDER BY gf DESC", objConn)
    Dim ReaderControlloStatInterno as ODBCDataReader
    ReaderControlloStatInterno = controlloStatInterno.ExecuteReader()

    While ReaderControlloStatInterno.Read()
    sentillona = sentillona + 1
    IF ReaderControlloStatInterno("catappartenenza") = "Serie A" THEN
    nomeCampionatoSelezionato = ReaderControlloStatInterno("catappartenenza")
    miglioreAttaccoSerieA = ReaderControlloStatInterno("nome")
    golMiglioreAttaccoSerieA = ReaderControlloStatInterno("gf")
    DataBind()
    ELSEIF ReaderControlloStatInterno("catappartenenza") = "Serie B" THEN
    nomeCampionatoSelezionato = ReaderControlloStatInterno("catappartenenza")
    miglioreAttaccoSerieB = ReaderControlloStatInterno("nome")
    golMiglioreAttaccoSerieB = ReaderControlloStatInterno("gf")
    DataBind()
    ELSEIF ReaderControlloStatInterno("catappartenenza") = "Serie C1 A" THEN
    nomeCampionatoSelezionato = ReaderControlloStatInterno("catappartenenza")
    miglioreAttaccoSerieC1A = ReaderControlloStatInterno("nome")
    golMiglioreAttaccoSerieC1A = ReaderControlloStatInterno("gf")
    DataBind()
    ELSEIF ReaderControlloStatInterno("catappartenenza") = "Serie C1 B" THEN
    nomeCampionatoSelezionato = ReaderControlloStatInterno("catappartenenza")
    miglioreAttaccoSerieC1B = ReaderControlloStatInterno("nome")
    golMiglioreAttaccoSerieC1B = ReaderControlloStatInterno("gf")
    DataBind()
    ELSEIF ReaderControlloStatInterno("catappartenenza") = "Serie C2 A" THEN
    nomeCampionatoSelezionato = ReaderControlloStatInterno("catappartenenza")
    miglioreAttaccoSerieC2A = ReaderControlloStatInterno("nome")
    golMiglioreAttaccoSerieC2A = ReaderControlloStatInterno("gf")
    DataBind()
    ELSEIF ReaderControlloStatInterno("catappartenenza") = "Serie C2 B" THEN
    nomeCampionatoSelezionato = ReaderControlloStatInterno("catappartenenza")
    miglioreAttaccoSerieC2B = ReaderControlloStatInterno("nome")
    golMiglioreAttaccoSerieC2B = ReaderControlloStatInterno("gf")
    DataBind()
    ELSEIF ReaderControlloStatInterno("catappartenenza") = "Serie C2 C" THEN
    nomeCampionatoSelezionato = ReaderControlloStatInterno("catappartenenza")
    miglioreAttaccoSerieC2C = ReaderControlloStatInterno("nome")
    golMiglioreAttaccoSerieC2C = ReaderControlloStatInterno("gf")
    DataBind()
    END IF

    End While
    ReaderControlloStatInterno.Close()
    controlloStatInterno.Cancel()
    End While
    ReaderControlloStat.Close()
    controlloStat.Cancel()

  2. #2
    ah già dimenticavo l'errore è relativo a questa riga

    ReaderControlloStatInterno = controlloStatInterno.ExecuteReader()

  3. #3
    mica siamo cani che ci butti il codice e noi ti si risolve il problema.

    io passo non ti rispondo.
    la prox volta poni meglio le domande ciao

  4. #4
    ma so che solitamente viene postato il codice e il tipo dell'errore !
    non mi pare di aver trattato nessuno come un cane !

    e comunque ti chiedo scusa

  5. #5
    anche secondo me non hai mancato di rispetto a nessuno
    hai soltanto chiesto di controllare cosa c'è che non va nel codice che hai scritto non come a volte che molti chiedono codici dal nulla senza mettere una virgola di suo....come me :gren:
    se avessi la risposta ti risponderei brutusin ciao

  6. #6
    Suvvia stiamo calmi( bello il nuovo avatar _JC !) . Il fatto vedi è che se posti un pacco di codice poi vuoi la soluzione, devi trovare anche l'anima pia che ha la pazzienza una volta sbrogliate le sue rogne, di risulvere pure le tue, armandosi di pazienza e controllando un'pò il codice da tè inviato.

    comunque secondo mè è dato dal fatto che hai aperto 2 datareader

    il 1° poi lo devi chiudere se vuoi aprire il 2°

    es.
    di str as string
    di str2 as string

    str="select * from cagate"
    str2="select * from cazzate"

    dim cmd as new sqlcommand(str, connessione)
    dim cmd2 as new sqlcommand(str2, connessione)

    dim rid as sql datareader
    connessione.open()
    rid=cmd.executereader

    datagrid1.datasurce=rid
    datagrid1.databind
    rid.close()

    datagrid2.datasurce=cmd2.executereader
    datagrid2.databind

    connessione.close()
    Frate Priore: "È Lucifero in persona!"
    Trinità: "Lo conosci?"
    Bambino: "Mai sentito nominare, deve essere un professionista dell'est"

  7. #7
    il problema è che devo con i dati del primo datareader ciclare e utilizzare il dato presente nel datareader nella query che creerà il secondo datareader!

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.