IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP Discussion :

Création d'une classe ASP (connection & recordset)


Sujet :

ASP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    239
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 239
    Points : 84
    Points
    84
    Par défaut Création d'une classe ASP (connection & recordset)
    Salut,

    J'aurais voulu avoir un avis sur la classe de connexion que je viens d'écrire...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     PARTIE CLASSE
     
    <%
    Class ClassBase
     
        Private ObjectConnection,AccessDB
     
     
        'Constructeur
        Public Sub Class_Initialize()
            ObjectConnection = "A"
            AccessDB = "B"
        End Sub
     
     
        'Destructeur
        Public Sub Class_Terminate()
        End Sub
     
        'Procedure d'ouverture d'une Connexion
        Public Sub OpenCN(AccessDB)
            Set ObjectConnection = Server.CreateObject("ADODB.Connection")
            ObjectConnection.ConnectionString = " PROVIDER = Microsoft.Jet.OLEDB.4.0 ; DATA SOURCE = ";" & Server.MapPath(AccessDB) & ";"
            ObjectConnection.Open ObjectConnection.ConnectionString
        End Sub
     
     
        'Procedure d'ouverture d'un Recorset
        Public Sub OpenRS(AccessDB)
            Set ObjectConnection = Server.CreateObject("ADODB.Recordset")
            ObjectConnection.ConnectionString = " PROVIDER = Microsoft.Jet.OLEDB.4.0 ; DATA SOURCE = ";" & Server.MapPath(AccessDB) & ";"
            ObjectConnection.Open ObjectConnection.ConnectionString
        End Sub
     
     
        'Procedure de fermeture de la connexion
        Public Sub CloseCN()
            Set OjectConnection = Nothing
            ObjectConnection.Close()
        End Sub
     
     
        'Procedure de fermeture du Recordset
        Public Sub CloseRS()
            Set OjectConnection = Nothing
            ObjectConnection.Close()
        End Sub
     
    End Class
     
     
     
    %>
     
     
     
     
    PARTIE PROGRAMME
     
    <%
    'Creation d'une instance de la classe ClassConnection
    Set CN = New 
     
    CN.OpenCN "base.mdp"
    RS.OpenRS "base.mdp"
     
     
    CN.CloseCN
    RS.CloseRS
     
    'Destruction de l'instance de classe ClassConnection
    Set Connection = Nothing
    %>
    Merci d'avance

  2. #2
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Salut,

    C'est bien de faire des classes

    • L'as-tu testée?
    • Inutile de répéter "class" dans le nom de ta classe. On sait que c'est une classe. Enlève le cela fera de la place pour donner un nom plus explicite.
    • Détruit tes objets (=nothing) dans le class_terminate
    • Une classe comporte des procédures, fonctions, mais aussi c'est très important des propriétés. Celles-ci te renvoient (te donne) tout ce pour quoi tu les auras programmées. Si tu veux disposer d'un outils mettant à ta disposition un recordset, il faut utiliser une fonction ou une propriété. Dans ton exemple les procédures executent du code mais toutes seules de leur coté.
    • Détruit tes objet dans l'odre inverse de celui dans lequel tu les as créés:
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
       
      Dim conn, cm, rs
      Set conn = Server.createObject("ADODB.Connection")
          conn.ConnectionString = "ta chaine de connection"
          conn.open
          Set cm = Server.CreateObject("ADODB.Command")
              cm.ActiveConnection = conn
              Set rs = Server.createObject("ADODB.Recordset")
                  rs.open "select ... from Matable", cm
       
                  rs.close
              Set rs = nothing
          Set cm = Nothing
          conn.close
      Set conn = nothing
      Les évènements doivent être imbriqués dans l'ordre.
    • As-tu regardé ici: http://www.developpez.net/forums/sho....php?t=503798?
    • Dans ce code tu ne créés pas d'instance nommée "Connection":
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      <%
      'Creation d'une instance de la classe ClassConnection
      Set CN = New 
       
      CN.OpenCN "base.mdp"
      RS.OpenRS "base.mdp"
       
       
      CN.CloseCN
      RS.CloseRS
       
      'Destruction de l'instance de classe ClassConnection
      Set Connection = Nothing
      %>

    C'est un bon début

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [POO] création d'une classe de connexion
    Par artotal dans le forum Langage
    Réponses: 1
    Dernier message: 14/02/2008, 12h01
  2. Réponses: 3
    Dernier message: 06/05/2007, 19h46
  3. [C++] Création d'une classe dans un fichier
    Par Pfeffer dans le forum C++Builder
    Réponses: 1
    Dernier message: 02/05/2007, 15h49
  4. Création d'une class contenant un TEdit (Débutant)
    Par Dereck07 dans le forum Delphi
    Réponses: 5
    Dernier message: 01/05/2007, 17h02
  5. création d'une page ASP!
    Par ghyosmik dans le forum ASP
    Réponses: 2
    Dernier message: 22/11/2005, 08h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo