Se connecter a access et retourner dateset

Contenu du snippet

Permet de se connecter a une base de donnee access, de retourner un dataset ou un datareader. Ceci est une class

Source / Exemple :


Public Class Connection

    Private MyConnection As OleDbConnection

    Public Function OpenConnection(ByVal MyConn As OleDbConnection) As OleDbConnection
        '///<summary>
        'Permet d'ouvrir la connection
        '///</summary>

        Dim MyDsConfig As New DataSet

        MyConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & Chemin_Base_De_Donnee

        Try

            MyConn.Open()  'ouverture de la connection

            If MyConn.State = ConnectionState.Open Then
                Return MyConn
            End If

        Catch ex As Exception 'probleme à l'ouverture de la connection, le probleme peut venir du chemin ConnectionString
            MsgBox("Probléme d'ouverture de la connection" & vbCrLf & ex.Source & " " & ex.Message)
        End Try

    End Function

    Public Function ClosedConnection(ByVal MyConn As OleDbConnection) As OleDbConnection
        '///<summary>
        'Permet de fermer la connection
        '///</summary>

        If MyConn.State = ConnectionState.Open Then 'Si la connection est ouverte

            Try

                MyConn.Close()  'On ferme la connection

            Catch ex As Exception  'Probleme lors de la fermeture de la connection
                MsgBox("Probléme de fermeture de la connection" & vbCrLf & ex.Source & " " & ex.Message)
            End Try

        End If

    End Function

    Public Function RenvoieDS(ByVal Requete As String) As DataSet
        '///<summary>
        'Permet de remplir un dataset grâce à une requete, sert pour les SELECT
        '///</summary>

        Try

            MyConnection = New OleDbConnection 'Declaration d'une nouvelle connection

            If Me.OpenConnection(MyConnection).State = ConnectionState.Open Then 'on verifie que la connection soit ouverte

                Dim MyAdapter As New OleDbDataAdapter 'declaration d'un nouveau OledbDataAdapter
                Dim MyDs As New DataSet 'declaration d'un dataset
                MyAdapter.SelectCommand = New OleDbCommand(Requete, MyConnection) 'on passe le selectcommand dataadapter
                MyAdapter.Fill(MyDs) 'on remplit le dataset
                Me.ClosedConnection(MyConnection) 'on ferme la connection
                Return MyDs 'on retourne le dataset

            End If

        Catch ex As Exception
            MsgBox(ex.Message & " " & ex.Source)
        End Try

    End Function

    Public Function Remplir_DataReader(ByVal Requete As String) As OleDbDataReader
        '///<summary>
        'Permet de remplir un DataReader grâce à une requete, sert pour les SELECT
        '///</summary>

        Try

            MyConnection = New OleDbConnection 'Declaration d'une nouvelle connection

            If Me.OpenConnection(MyConnection).State = ConnectionState.Open Then 'on verifie que la connection soit ouverte

                Dim myCommand As New OleDbCommand(Requete, MyConnection) 'Declaration du commande
                Dim myReader As OleDbDataReader 'Declaration du datareader
                myReader = myCommand.ExecuteReader() 'Liaison du datareader avec la commande
                'Me.ClosedConnection(MyConnection) 'on ferme la connection
                Return myReader 'on retourne le datareader

            End If

        Catch ex As Exception
            MsgBox(ex.Message & " " & ex.Source)
        End Try

    End Function

    Public Function ExecuteRequete(ByVal Requete As String) As Integer
        '///<summary>
        'sub permettant de faire un insert, update et delete
        'elle renvoie le nombre de ligne ce qui permet de savoir si ça s'est bien passé
        '///</summary>

        Try

            Dim MyConnection As New OleDbConnection 'declaration d'une nouvelle connection
            Dim MyOleCommand As OleDbCommand 'declaration d'une nouvelle commande

            If Me.OpenConnection(MyConnection).State = ConnectionState.Open Then 'si la connection est ouverte

                MyOleCommand = New OleDbCommand(Requete, MyConnection) 'je passe les parametres a ma command
                Dim Resultat As Integer = MyOleCommand.ExecuteNonQuery() 'j'execute la requete
                Me.ClosedConnection(MyConnection) 'je ferme la connection

                Return Resultat

            End If

        Catch ex As Exception 'probleme d'execution de la requete
            MsgBox(ex.Message & " " & ex.Source)
        End Try

    End Function

End Class

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.