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 :

Utiliser des procédures au lieu des classes


Sujet :

ASP

  1. #1
    Membre actif Avatar de ahage4x4
    Inscrit en
    Janvier 2005
    Messages
    318
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 318
    Points : 238
    Points
    238
    Par défaut Utiliser des procédures au lieu des classes
    Bonjour a tous,
    J'ai une base de données avec une dizaine de page asp. Le problème c'est que quand j'ai commencé le travail en ASP j'etais entrain d'apprendre mon premier langage serveur et c'etait la galère, du coup j'ai négligé la structure de mon code par exemple j'appelle l'ouverture de ma connexion des dizaines de fois au lieu de faire une procedure et de l'appeler, bref bcp de redondance de code. La j'ai presque fini le boulot et je veux bien rearranger le code, car il est illisible. Je ne veux pas m'y mettre aux Classes, car je n'ai pas le temps et j'avous que j'ai trouvé un peu compliqué.

    J'ai un exemple et si vous pouvez m'expliquer si c'est bon ou pas je vous serai reconnaissant.
    Dans le fichier Gestion.asp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <!-- #include file="include/connectionDB.asp" -->
    <!-- #include file="include/objetscreation.asp" -->
    Dans connectionDB.asp:
    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
    unction ouvrirBase()
      Set Conn = Server.CreateObject("ADODB.Connection")
      Conn.Open "bdProjet"
     end function
     
    function initialiserListes()
      	listepays="SELECT DescriptionF,ID_pays FROM Pays order by DescriptionF asc"
        listeregions="SELECT DescriptionF,ID_region FROM Region order by DescriptionF asc"
        listebailleurs="SELECT DescriptionF ,ID_bailleur FROM Bailleur order by DescriptionF asc"
        listeclients="SELECT DescriptionF,ID_client FROM Client order by DescriptionF asc" 
     
      Set RSpays = Conn.Execute(listepays) 'Requete d'enumeration de toute la liste des pays
      Set RSregions = Conn.Execute(listeregions) 'Requete d'enumeration de toute la liste des regions
      Set RSbailleurs = Conn.Execute(listebailleurs) 'Requete d'enumeration de toute la liste des bailleurs
      Set RSclients = Conn.Execute (listeclients) 'Requete d'enumeration de toute la liste des clients
     
      end function
     
    function terminateListes() 
     
       RSbailleurs.close
       RSresponsables.close
       RSclients.close
       RSmcp.close
       RSmcs.close
     
      end function   
     
      function fermerBase()
       Conn.close
      end function
     
    Puis dans mon fichier objetscreation.asp ce qui m'interesse est le suivant:
    ''Dessine une zone de liste dynamiquement a partir de la requete listeclients
    		  response.write("<select multiple name=selectCLIENT  size=5 style='width:190px'>")
     
     
    		 	'Si aucun pays n'a ete indiqué, remplir par la liste des pays complete
    		 		While not RSclients.EOF
    			    response.write("<OPTION VALUE='"&RSclients(1)&"'>" & RSclients(0) & "</OPTION>")
    		  	    RSclients.MoveNext
    		 		Wend
    		  response.write("</select>")
        response.write( "</div>" )
     
    end function
    Dans mon fichier gestion.asp , je veux afficher cette liste de clients. Rien ne se passe. et je n'ai pas de message d'erreurs. Voila comment j'appelle mes procedures:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <%call ouvrirBase()%>
    <%call initialiserListes()%>
    <td valign="top" height="149" width="212"><%call Get_Listeclients()%></td>
    <%call terminateListes()%>
    <%call fermerBase()%>
    Voila désolé pour le long post, mais il y a quelquechose qui m'echappe.

    Merci a vous

  2. #2
    Membre averti Avatar de NeHuS
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 343
    Points : 316
    Points
    316
    Par défaut
    Hmmm sait on jamais : etant donné que tes fonctions sont ecrites en javascript je pense que call tafonction() n'est pas la bonne solution...

    essaye comme ça juste pour savoir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <% ouvrirBase()
     initialiserListes()
    <td valign="top" height="149" width="212"><%Get_Listeclients()%></td>
    terminateListes()
    fermerBase()%>
    les call c'est pour les sub ( vbscript)

  3. #3
    Membre actif Avatar de ahage4x4
    Inscrit en
    Janvier 2005
    Messages
    318
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 318
    Points : 238
    Points
    238
    Par défaut
    Nehus merci pour ta reponse,
    en fait mes fonctions sont du VBscript, et call peut appeler une fonction qui ne retourne rien donc une procedure.

  4. #4
    Membre averti Avatar de NeHuS
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 343
    Points : 316
    Points
    316
    Par défaut
    re ahage ce n'est pas tres logique tu nous parles de procedures alors que t'utilises la syntaxe de fonction....

    met plutot que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     function toto()
    end function
    normalement la fonction retourn quelque chose !!! grr

  5. #5
    Membre actif Avatar de ahage4x4
    Inscrit en
    Janvier 2005
    Messages
    318
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 318
    Points : 238
    Points
    238
    Par défaut
    Ok Nehus, si ca te fait plaisir mais une fonction qui ne retourne rien est une procedure bref... Je vais le faire tout a l'heure. Je te tiens au courant. Merci

  6. #6
    Membre actif Avatar de ahage4x4
    Inscrit en
    Janvier 2005
    Messages
    318
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 318
    Points : 238
    Points
    238
    Par défaut
    C'est bon, ca ne marchait pas car les variables qui sont appelées ne sont pas des variables globales. il suffit de les declarer dans le fichier include.

    Voila, merci Nehus

    Anthony

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

Discussions similaires

  1. utiliser des threads au lieu des forks
    Par lea.soineca dans le forum C
    Réponses: 9
    Dernier message: 15/05/2014, 10h37
  2. Utiliser un tableau au lieu des frames
    Par dekalima dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 06/01/2011, 11h55
  3. Comment avoir des matrices au lieu des vecteurs
    Par HOLLY dans le forum MATLAB
    Réponses: 8
    Dernier message: 22/07/2008, 18h30
  4. le formulaire renvoi des 00 au lieu des champs saisi
    Par mademoizel dans le forum ASP
    Réponses: 4
    Dernier message: 23/01/2008, 15h32
  5. Réponses: 1
    Dernier message: 22/06/2006, 12h08

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