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

    Al comando è già associato un DataReader aperto, che deve essere chiuso

    Cosa sbaglio? pensavo qualcosa come cmd.close tra le due istruzioni, ma non si può fare, come risolvo?

    codice:
                cn.Open()
                
                cmd = New SqlCommand("select * from Province ORDER BY Capoluogo", cn)
                Provincia.DataSource = cmd.ExecuteReader()
                Provincia.DataTextField = "Capoluogo"
                Provincia.DataValueField = "IDProvincia"
                Provincia.DataBind()
                Provincia.Dispose()
                Provincia.SelectedValue = 1
                
                
                cmd = New SqlCommand("select * from Categorie", cn)
                Categoria.DataSource = cmd.ExecuteReader()
                Categoria.DataTextField = "Categoria"
                Categoria.DataValueField = "IDCategoria"
                Categoria.DataBind()
                Categoria.Dispose()
                Categoria.SelectedValue = 1
                cn.Close()

  2. #2
    Utente di HTML.it L'avatar di JAEP
    Registrato dal
    Jan 2004
    residenza
    Treviso
    Messaggi
    421
    Provo a dire una stupidaggine. Hai provato a impostare cmd = null ( cmd = nothing se usi vb.net), prima di cmd = New SqlCommand("select * from Categorie", cn) ?
    Tutte le leggi umane, non quelle divine, sono il risultato di uno sforzo di uomini. Altri uomini vengono, modificano, aboliscono, perfezionano. Non ci vuole nulla ad abolire. Distruggere è facile, ma ricostruire è difficile.

  3. #3
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    "cmd.executereader"
    produce un Datareader che diventa la sorgente di Provincia.

    Devi associare un datareader alla execute, fare le tue operazioni, chiuderlo e poi associargli un secondo comando. Oppure usare due Datareader.

    Oppure, se non ricordo male, fare la Dispose del Command.

  4. #4
    Ragazzi ho risolto così:


    cmd = New SqlCommand("select * from Province ORDER BY Capoluogo", cn)
    Provincia.DataSource = cmd.ExecuteReader()
    Provincia.DataTextField = "Capoluogo"
    Provincia.DataValueField = "IDProvincia"
    Provincia.DataBind()
    Provincia.DataSource.close()
    Provincia.Dispose()
    Provincia.SelectedValue = 1


    inserendo questa rga:
    Provincia.DataSource.close()

  5. #5
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    appunto, hai chiuso il reader sorgente.

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.