All pastes #254480 Raw Edit

Sans titre

public text v1 · immutable
#254480 ·published 2006-11-21 22:20 UTC
rendered paste body
Public Class AdoNet
    Implements IDisposable
    Private con As SqlClient.SqlConnection
    Private com As SqlClient.SqlCommand
    Private DatRead As SqlClient.SqlDataReader
    Private P_SourceDonnee As String
    Private P_NomBD As String
    Private P_ConnectionString As String
    Private P_Action As String
    Private P_SqlSelect As String
    Private P_SqlInsert As String
    Private P_SqlUpdate As String
    Private P_SqlDelete As String
    Public ReadOnly Property GetSourceDeDonnee()
        Get
            Return P_SourceDonnee
        End Get
    End Property
    Public ReadOnly Property GetNomBD()
        Get
            Return P_NomBD
        End Get
    End Property
    Public ReadOnly Property GetAction()
        Get
            Return (P_Action)
        End Get
    End Property
    Public Property SqlSelect() As String
        Get
            Return P_SqlSelect
        End Get
        Set(ByVal Value As String)
            P_SqlSelect = Value
        End Set
    End Property
    Public Property SqlInsert() As String
        Get
            Return P_SqlInsert
        End Get
        Set(ByVal Value As String)
            P_SqlInsert = Value
        End Set
    End Property
    Public Property SqlUpdate() As String
        Get
            Return P_SqlUpdate
        End Get
        Set(ByVal Value As String)
            P_SqlUpdate = Value
        End Set
    End Property
    Public Property SqlDelete() As String
        Get
            Return P_SqlDelete
        End Get
        Set(ByVal Value As String)
            P_SqlDelete = Value
        End Set
    End Property
    Public Sub New(ByVal SourceDeDonnee As String, _
                    ByVal NomBD As String, _
                    Optional ByVal SqlSelect As String = "", _
                    Optional ByVal SqlInsert As String = "", _
                    Optional ByVal SqlUpdate As String = "", _
                    Optional ByVal SqlDelete As String = "")
        If SqlSelect = "" And SqlInsert = "" And SqlUpdate = "" And SqlDelete = "" _
        Or NomBD = "" Or SourceDeDonnee = "" Then Me.Dispose()

        Try
            Dim constr As String
            P_SourceDonnee = SourceDeDonnee
            P_NomBD = NomBD : P_Action = "Connection"
            P_SqlSelect = SqlSelect : P_SqlInsert = SqlInsert
            P_SqlUpdate = SqlUpdate : P_SqlDelete = SqlDelete
            constr = "Data Source = " & SourceDeDonnee & " ;Initial Catalog = " & NomBD & " ;Integrated Security=SSPI"
            con = New SqlClient.SqlConnection(constr)
            P_ConnectionString = constr
            con.Open()
        Catch ex As Exception
            MsgBox(ex.Message)
            Me.Dispose()
        End Try
    End Sub

    Public Function Trouver_Ligne(ByVal ChampRecherche As String, ByVal ValeurRecherche As String, _
    ByVal ChampNumerique As Boolean, Optional ByVal SqlSelect As String = "") As SqlClient.SqlDataReader
        If SqlSelect = "" And P_SqlSelect = "" Then _
        Me.Dispose()
        If ChampRecherche = "" Or ValeurRecherche = "" Then _
        Me.Dispose()
        If Not SqlSelect = "" Then P_SqlSelect = SqlSelect
        If Not DatRead Is Nothing Then _
        If Not DatRead.IsClosed Then DatRead.Close()
        Try
            Dim Commande As String
            If ChampNumerique Then Commande = _
                P_SqlSelect & " where " & ChampRecherche & " = '" & ValeurRecherche & "'" _
            Else Commande = _
                P_SqlSelect & " where " & ChampRecherche & " like '" & ValeurRecherche & "'"
            com = New SqlClient.SqlCommand(Commande, con) : P_Action = "Select"
            DatRead = com.ExecuteReader()
            Return DatRead
        Catch ex As Exception
            Me.Dispose()
        End Try

    End Function
    Public Function ExecuteSelectCommand(Optional ByVal SqlSelect As String = "") As SqlClient.SqlDataReader
        If SqlSelect = "" And P_SqlSelect = "" Then _
        Me.Dispose()
        If Not SqlSelect = "" Then P_SqlSelect = SqlSelect
        If Not DatRead Is Nothing Then
            DatRead.Close()
        End If
        Try
            Dim Commande As String = P_SqlSelect
            com = New SqlClient.SqlCommand(Commande, con) : P_Action = "Select"
            DatRead = com.ExecuteReader()
            Return DatRead
        Catch ex As Exception
            Me.Dispose()
        End Try
    End Function
    Public Sub MettreAjour(Optional ByVal SqlUpdate As String = "")
        If SqlUpdate = "" And P_SqlUpdate = "" Then _
        Me.Dispose()
        If Not SqlUpdate = "" Then P_SqlUpdate = SqlUpdate
        Try
            com = New SqlClient.SqlCommand(SqlUpdate, con)
            com.CommandType = CommandType.Text
            com.CommandTimeout = 5 : P_Action = "Update"
            com.ExecuteNonQuery()
        Catch ex As Exception
            Me.Dispose()
        End Try
    End Sub
    Public Sub InsererLigne(Optional ByVal SqlInsert As String = "")
        If SqlInsert = "" And P_SqlInsert = "" Then _
        Me.Dispose()
        If Not SqlInsert = "" Then P_SqlInsert = SqlInsert
        Try
            com = New SqlClient.SqlCommand(SqlInsert, con)
            com.CommandType = CommandType.Text
            com.CommandTimeout = 5 : P_Action = "Insert"
        Catch ex As Exception
            Me.Dispose()
        End Try
    End Sub
    Public Sub SupprimerLigne(Optional ByVal SqlDelete As String = "")
        If SqlDelete = "" And P_SqlDelete = "" Then _
        Me.Dispose()
        If Not SqlDelete = "" Then P_SqlDelete = SqlDelete
        Try
            com = New SqlClient.SqlCommand(SqlDelete, con)
            com.CommandType = CommandType.Text
            com.CommandTimeout = 5 : P_Action = "Delete"
        Catch ex As Exception
            Me.Dispose()
        End Try
    End Sub
    Public Sub Dispose() Implements System.IDisposable.Dispose
        con.Close() : con = Nothing
        DatRead = Nothing : com = Nothing
    End Sub
End Class