1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115
   |  
global.asax
Public Class Global_asax
        Inherits System.Web.HttpApplication
 
        Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
            ' on crée un objet produits
            Dim objInfos As InfosData
            Try
                objInfos = New InfosData(ConfigurationManager.AppSettings("SQLStringConnection"))
                ' on met l'objet dans l'application
                Application("objInfos") = objInfos
                ' pas d'erreur
                Application("erreur") = False
            Catch ex As Exception
                'il y a eu erreur, on le note dans l'application
                Application("erreur") = True
                Application("message") = ex.Message
            End Try
        End Sub
 
 
le controleur
 
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            ' on regarde si l'application est en erreur
            If CType(Application("erreur"), Boolean) Then
                ' l'application ne s'est pas initialisée correctement
                Dim erreurs As New ArrayList
                erreurs.Add("Application momentanément indisponible (" + CType(Application("message"), String) + ")")
                afficheErreurs(erreurs, False)
                Exit Sub
            End If
            '1ère requête
            If Not IsPostBack Then
                ' on affiche le formulaire vide
                afficheFormulaire()
            End If
        End Sub
 
Private Sub afficheListeInfo(ByVal donnees As DataSet)
            Dim afficheLien As Boolean
            With DataGrid1
                .DataSource = donnees
                .PageSize = 5
                .CurrentPageIndex = 0
                .DataBind()
            End With
            ' on affiche la vue [résultats]
            vueListeInfo.Visible = True
            vueFormulaire.Visible = True
            lnkErreurs.Visible = afficheLien
            vueDetailListe.Visible = False
            vueModifierInfo.Visible = False
            vueErreur.Visible = False
        End Sub
----
 
Sub btnEnvoyer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
 
            Dim chaineConnexionSQL As String = "ma base"
            Dim commande As String
            Dim objInfosData As InfosData = New InfosData(chaineConnexionSQL)
 
            ' page valide ?
            If Not Page.IsValid Then
                afficheFormulaire()
                Exit Sub
            End If
            ' exécution de la requête SELECT client
            Dim donnees As DataSet
            commande = "select ca_contact.last_name,ca_contact.first_name,ca_organization.org_name,ca_location.location_name,ca_location.address_1,ca_location.address_2,ca_location.city from ca_contact left outer join ca_organization on ca_contact.organization_uuid = ca_organization.organization_uuid left outer join ca_location on ca_contact.location_uuid = ca_location.location_uuid where ca_contact.last_name like '@txtSelect'"
            Try
                donnees = objInfosData.getDataSet(commande)
            Catch ex As Exception
                Dim erreurs As New ArrayList
                erreurs.Add("erreur d'accès à la base de données (" + ex.Message + ")")
                afficheErreurs(erreurs, True)
                Exit Sub
            End Try
            ' tout va bien - on affiche la liste des informations
            afficheListeInfo(donnees)
            ' on met les données dans la session
            Session("donnees") = donnees
 
        End Sub
 
---
classe d,acces aux données
 
 Public Class InfosData
 
        Private chaineConnexionSQL As String = "ma base"
        Public Sub New(ByVal chaineConnexionSQL As String)
            ' on mémorise la chaîne de connexion
            Me.chaineConnexionSQL = chaineConnexionSQL
        End Sub
 
        Public Function getDataSet(ByVal commande As String) As DataSet
 
            Dim objInfos As InfosData = New InfosData(chaineConnexionSQL)
            ' on crée un objet DataAdapter pour lire les données de la source SQL
            Dim adaptateur As New SqlDataAdapter(commande, chaineConnexionSQL)
            ' on crée une image en mémoire du résultat du select
            Dim contenu As New DataSet
            Try
                adaptateur.Fill(contenu)
            Catch e As Exception
                Throw New Exception("Erreur d'accès à la base de données (" + e.Message + ")")
            End Try
            ' on rend le résultat
            Return contenu
        End Function
 
    End Class | 
Partager