Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2005
    Messaggi
    139

    Datareader connessione aperta

    Volevo avere da voi un chiarimento.
    Io ho una serie di eventi TextChanged e non faccio altro che verificare che la parte di testo che è stata inserita (codice) esista nella tabella del DB prelevandomi così sia il codice che la descrizione.
    Quindi eseguo per molti campi la stessa procedura che è la seguente:
    Try
    cmd = New MySqlCommand(sql, conn)
    conn.Open()
    Dim dr As MySqlDataReader = cmd.ExecuteReader()
    If dr.HasRows Then
    dr.Read()
    .....
    dr.Close()
    Else
    ...
    End If
    Catch exc As MySqlException
    Finally
    conn.Close()
    End Try
    sperro però quando eseguo cmd.ExecuteReader() non mi trova nulla perchè dice...connessione già aperta.
    Ma la sintassi che uso io è corretta?

  2. #2
    si puo' migliorare. Ad esempio potresti evitare di ricorrere al datareader per verificare che un certo dato esista o meno sul db. Per fare questa verifica, puoi utilizzare una query che ritorna un unico valore (es. select COUNT(*) from nometabella where ....) e invece del datareader usi direttamente il command e in particolare la funzione command.executescalar che se ritorna 0 non ha trovato niente > 0 ha trovato qualcosa.
    Per il resto, vedo che l'oggetto conn non e' dichiarato nel codice che hai postato e visto l'errore sulla connessione potresti dichiarare, istanziare, usare e chiudere la connection nella stessa procedura.
    Saluti a tutti
    Riccardo

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2005
    Messaggi
    139
    la conn l'avevo dichiarata prima.
    Ho scoperto che l'errore era dovuto al fatto che chiudevo il dr se trovava elementi mentre se non trovava elementi rimaneva aperta.

    Grazie mille comunque per l'aiuto.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.