04/04/12

Riempire un datatable con una query SQL

Stamattina vi regalo una comodissima funzione chiamata FillDatatable, che utilizzeremo per riempire un datatable partendo da una semplice query sql.
In pratica basta passare come parametri di input alla funzione la query che desideriamo lanciare (ovviamente una istruzione select) e la stringa di connessione che desideriamo utilizzare. L’ultimo parametro opzionale SqlServer indica se stiamo lavorando con Sql o con un database con connessione Ole Db come può essere ad esempio un database Access.
Se avete dei dubbi sulla costruzione della stringa di connessione vi rimando a questo fantastico sito sulle stringhe di connessione.

Public Shared Function FillDatatable(ByVal Query As String, ByVal StringaConnessione As String, Optional SqlServer as boolean=True) As DataTable
       If SqlServer Then
           Dim cnDb As New SqlClient.SqlConnection(StringaConnessione)
           Dim cmdOggetti As New  _
               SqlClient.SqlCommand(Query, cnDb)
           Dim daGetOggetti As New SqlClient.SqlDataAdapter(cmdOggetti)
           Dim dsOggetti As New DataSet()
           daGetOggetti.Fill(dsOggetti, Query)
           FillDatatable = dsOggetti.Tables(0)
           cnDb.Close()
       Else
           Dim cnDb As New OleDb.OleDbConnection(StringaConnessione)
           Dim cmdOggetti As New  _
               OleDb.OleDbCommand(Query, cnDb)
           Dim daGetOggetti As New OleDb.OleDbDataAdapter(cmdOggetti)
           Dim dsOggetti As New DataSet()
           daGetOggetti.Fill(dsOggetti, Query)
           FillDatatable = dsOggetti.Tables(0)
           cnDb.Close()
       End If

   End Function

Nessun commento:

Posta un commento

Cosa ne pensi?