Prova a dichiarare istanziare ed aprire la connection prima di usare la funzione executereader del command (non mi fiderei della condizione che hai messo if connection.state = closed.... e se non e' closed ma non e' neanche open che fa?).
Il codice
e' sbagliato. Non e' cosi che si legge un datareader. Per limitare uno degli errori che vedo (MsgBox(dr("var"))), ti consiglio di scrivere in cima alla pagina (prima di ogni cosa) OPTION STRICT ON .Dim dr As Odbc.OdbcDataReader = cmd.ExecuteReader(CommandBehavior.CloseConnection)
dr.Read()
MsgBox(dr("var")) 'così accedi al valore della variabile Var.
Per leggere correttamente un datareader devi farlo dall'inizio alla fine anche se sai che c'e' un unico record. Quindi es.
codice:Dim dr As Odbc.OdbcDataReader = cmd.ExecuteReader While dr.Read If Not IsDBNull(dr("var")) Then MsgBox(dr.GetString(dr("SEDE"))) End While dr.Close()

Rispondi quotando