Cerca

VB.NET – Tutti i metodi per eseguire una query su SQL

Indice Articolo

Ultimi articoli pubblicati

Ieri ho scritto un articolo in cui spiegavo come creare una connessione verso un database SQL Server Compact Edition e come definire una variabile di tipo SqlCeCommand. Oggi sono qua di nuovo a spiegarvi tutti i metodi per l’esecuzione di una query su un Database Sql (Sia Compact Edition che non).

In generale i metodi di esecuzione di una query sono:

  • ExecuteNonQuery – Esegue la query e ritorna il numero di righe affette dalla query. Molto utile da utilizzare in caso di update o insert in tabelle.
  • ExecuteReader – Questo metodo ritorna un oggetto di tipo SqlCeDataReader o SqlDataReader. Questi oggetti ci permettono di navigare tra le varie righe e colonne della nostra query.
  • ExecuteScalar – Questo metodo ritorna il valore che si trova nella colonna 1 e riga 1 del risultato della query. Questo metodo è molto utile quando dobbiamo ricavare un valore secco da una tabella.

Vediamo qualche pezzo di codice con degli esempi (Se avete qualche domanda scrivetela nei commenti che proverò a rispondervi il prima possibile):

Dim cmdSql As SqlCeCommand (oppure SqlCommand)
Try
‘Dopo l’apertura della connessione sqlCon
cmdSql = new SqlCeCommand( INSERT INTO TB1 (campo1, campo2, campo3) VALUES ( ‘3SulBlog’, ‘Lettori’, ‘Grazie’)”)
Dim righe As Integer = cmdSql .ExecuteNonQuery()
MessageBox.Show(“Le righe interesate sono = ” & righe.ToString())
Catch ex As Exception
Finally
End Try

Per quanto riguarda il prossimo esempio useremo ExecuteReader per riempire un oggetto SqlCeDataReader:

Dim r As SqlCeDataReader
r = sqlCom.ExecuteReader()
While r.Read()
MessageBox.Show(r(“nomecolonna”).ToString())
End While

Per accedere al contenuto del oggetto DataReader potete utilizzare il nome della colonna oppure anche l’indice della colonna nella vostra query. Naturalmente la query SQL che viene creata deve essere una select.

L’ultimo metodo è l’ExecuteScalar il quale è il più utilizzato visto che prendere un valore secco all’interno di un Database è molto più comune nella applicazioni di un certo rilievo.

sqlCom = New SqlCeCommand(“SELECT Valore1 FROM tbImpostazioni WHERE id = 1”)
Dim myValue As String = sqlCom.ExecuteScalar().ToString()

In questo modo io prendo direttamente il valore1 e lo assegno alla mia variabile di tipo stringa. Il metodo ExecuteScalar come variabile di ritorno ha un oggetto quindi prima di assegnarlo vi conviene fare il cast giusto per non incombere in errori a RunTime.

Spero di essere stato utile e chiaro anche in questa spiegazione. Per qualsiasi dubbio lasciate pure un commento.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

8 + 3 =