Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Lttura record da una tabella Sql Server
domenica 26 marzo 2006 - 11.05
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
max1850
Profilo
| Junior Member
142
messaggi | Data Invio:
dom 26 mar 2006 - 11:05
Salve. Uso VB NET 2005, e, da pochissimo, SQL Server Express 2005.
Ho provato a fare una ricerca dei record presenti in una tabella, più o meno adattando il codice che usavo per le tabelle di Access, ma mi esce il seguente errore:
"Errore 91: Object reference not set to an instance of an object."
Cosa significa?
Vi posto il codice di un bottone che dovrebbe leggere i record di una tabella e stamparli a video in delle label:
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
' Controlliamo che il database sia aperto
If Db.State = ConnectionState.Closed Then Db.Open()
' Dichiariamo un'istanza del command sql
Dim SqlCmd As New SqlCommand()
' Creiamo l'istanza che contiene i dati caricati dalla query
Dim SqlLeggi As SqlDataReader
Try
' Assegniamo il database al command
SqlCmd.Connection = Db
' Specifico il tipo di comando
SqlCmd.CommandType() = CommandType.Text
' Assegniamo la query al command
SqlCmd.CommandText = "SELECT * FROM Condomini"
' Eseguiamo la query sql tramite il metodo ExecuteReader
SqlCmd.ExecuteReader()
' Leggiamo i records dal database
While SqlLeggi.Read()
Label1.Text = SqlLeggi.Item("Nome")
Label2.Text = SqlLeggi.Item("Cognome")
Label3.Text = SqlLeggi.Item("Telefono")
End While
'Chiudiamo le istanze
SqlCmd.Dispose()
SqlLeggi.Close()
' Chiudiamo il database
Db.Close()
Catch
appErr.errcode = CType(Err.Number, String)
appErr.errmsg = Err.Description
MessageBox.Show(appErr.errmsg, "Errore N°" + CType(appErr.errcode, String), MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1)
End Try
End Sub
---------------------
Sembra che sia tutto giusto ma non va, come mai?
Grazie
Max!
P.S.: se può aiutare, nel codice mi esce un "Warning": "Variable 'SqlLeggi' is used before it has been assigned a value. A null reference exception could result at runtime".
Max!
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
dom 26 mar 2006 - 11:59
ciao,
l'errore sta qui:
>SqlCmd.ExecuteReader()
>While SqlLeggi.Read()
perche l'executereader ti torna 1 reader che tu appoggi sulla variabile SqlLeggi per poi girare.
Se non lo fai,ExecuteReader ti torna 1 reader in memoria e SqlLeggi non è mai inizializzata sul reader che ti torna il Command...
Percio ti basta questa correzione:
SqlLeggi = SqlCmd.ExecuteReader()
While SqlLeggi.Read()
....
ciao.
Matteo Raumer
MCAD ... .net addicted :-)
http://blogs.dotnethell.it/freeteo
max1850
Profilo
| Junior Member
142
messaggi | Data Invio:
dom 26 mar 2006 - 13:11
Ottimo!
Funziona!
Grazie mille!
Max!
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
dom 26 mar 2006 - 13:43
bene dai,diciamo che era praticamente 1a svista...
ps: accetta la risposta di prima che cosi' marchiamo il thread come risolto...
grazie
ciao.
max1850
Profilo
| Junior Member
142
messaggi | Data Invio:
dom 26 mar 2006 - 18:24
Ciao!
OK! ho risolto!
Grazie della disponibilità!
Ciao
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !