Dato che sto studiando come autodidatta Vb.Net,  cimentandomi in qualche programmino basato sui windows-forms,voglio condividere con voi, per tenerne traccia, un piccola funzione che ho creato per la gestione di un nuovo DataSet.

Public Function crea_dtset(ByVal sql As String, ByVal RiempiDataGrid As Boolean, ByVal SqlFilter As String) As DataSet
        Try

            Dim objAdapter As New SqlClient.SqlDataAdapter()
            Dim objDataSet As DataSet
            Dim objConnection As New SqlClient.SqlConnection
            Dim objCommand As SqlClient.SqlCommand
            Dim objDataView As New DataView()


            'Setto ed apro la connessione
            objConnection.ConnectionString = "Server=myServer\SQLEXPRESS;Database=mydb;User ID=myid;Password=mypwd;Trusted_Connection=False;"
            objConnection.Open()

            If (objConnection.State = ConnectionState.Open) Then

                'Creo un nuovo oggetto command a cui viene passata la nostra stringa
                'sql e i parametri di connessione
                objCommand = New SqlClient.SqlCommand(sql, objConnection)
                objCommand.CommandText = sql
                objCommand.CommandType = CommandType.Text


                'Viene Riempito il DataSet
                objAdapter = New SqlClient.SqlDataAdapter(objCommand)
                objDataSet = New DataSet()
                objAdapter.Fill(objDataSet)

                objConnection.Close()

                crea_dtset = objDataSet
                
                'Filtro i miei dati
                
                If RiempiDataGrid = True Then
                    'Riempio il dataview con l'intero contenuto della mia query
                    objDataView = objDataSet.Tables(0).DefaultView
                    objDataView.RowFilter = sqlFilter

                    'Assegno come datasource l'oggetto objdataview(filtrato)
                    frmMain.DGVDati.DataSource = objDataView
                End If

                'Svuoto gli oggetti per la prossima query
                objDataView = Nothing
                objAdapter = Nothing
                objCommand = Nothing
                objDataSet = Nothing
                objConnection = Nothing
            End If



        Catch ex As Exception

            MsgBox("Error!")

        End Try
    End Function

Scusate l’identazione del codice forse poco chiara, ma la dimensione delle colonna sinistra del blog me lo impone. Rimediate leggendo il Source dall’apposito pulsante.
Ogni suggerimento o critica è sempre ben accetta:

If you enjoyed this post, make sure you subscribe to my RSS feed!
Share

Comments

  1. 1
    Sanghino // March 26th, 2011 at 00:46

    La tua funzione è molto interessante. Ti suggerirei di restituire un valore anche nel caso di errore.

    E per migliorarla ancora la renderei un po’ più generica nel caso sia richiesto il riempimento del DataGrid. Nel senso che nella funzione non farei riferimento ad una form specifica e al suo oggetto GridView. Ma magari la funzione l’hai già modificata visto che è passato un anno da quando hai scritto questo post.

    Saluti.

  2. 2
    cirio // March 27th, 2011 at 20:54

    @sanghino: ciao, sisi più che altro mi era servita come tips, per renderla più generica avevo tolto il riempimento della grid; quest’ultimo veniva eseguito dopo la restituzione del dataset attraverso l’uso di una classe apposita.

Lascia un commento

You must be logged in to post a comment.