Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    573

    Errore su conessione in funzione

    Ho una funzione che mi fa un controllo su 2 campi del db:

    Public Function LinguaMax() As Boolean
    Dim sql As String = "Select LingueMax, Lingue From T_Config"
    Dim Cmd As New OleDbCommand(sql, Conn)
    Dim dr As OleDbDataReader

    Conn.Open()
    dr = Cmd.ExecuteReader
    dr.Read()
    If dr("LingueMax") - dr("Lingue") = 0 Then
    Return True
    Else
    Return False
    End If
    dr.Close()
    Conn.Close()
    End Function
    ora quando mando in esecuzione la pagina mi dice:

    System.InvalidOperationException: La connessione è già aperta (stato=Open, Fetching).

    Ma io non altre connessioni aperte! perchè può darmi quest'errore?

    Grazie Elisa

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    dimmi se sbaglio:

    1) dichiari Conn all'esterno della procedura

    2) richiami LinguaMax almeno due volte
    Pietro

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    573
    no linguamax la richiamo 1 volta buona la prima. perchè?

  4. #4
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    quando richiami LinguaMax, apri la connessione, ma non la chiudi. Forse tenti di riaprire la connessione in qualche altra procedura
    Pietro

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    573
    Non capisco proprio dove diavolo la vede aperta:

    Public DbObject As New DbObject
    Public ConnectionString As String = DbObject.ConnectionString()
    Dim Conn As New OleDbConnection(ConnectionString)
    Public Function LinguaMax() As Boolean
    Dim sql As String = "Select LingueMax, Lingue From T_Config"
    Dim Cmd As New OleDbCommand(sql, Conn)
    Dim dr As OleDbDataReader

    Conn.Open()
    dr = Cmd.ExecuteReader
    dr.Read()
    If dr("LingueMax") - dr("Lingue") = 0 Then
    Return True
    Else
    Return False
    End If
    dr.Close()
    Conn.Close()
    End Function
    ... e poi nel codebehind della pagina:
    Dim bool As Boolean = Language.ControlLingue()
    If bool = True Then
    ....
    End If
    non apro nessuna connessione
    ho altre funzioni che, scusa il gioco di parole, funzionano!
    non so perchè qui si ferma....

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    573
    ricontrolla e ricontrolla... avevi ragione tu!

    Grazie, ciao

  7. #7
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da elisa_rm74
    ricontrolla e ricontrolla... avevi ragione tu!

    Grazie, ciao
    Cioè, aveva ragione il Framework
    Pietro

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.