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:
1 2
| <!-- #include file="include/connectionDB.asp" -->
<!-- #include file="include/objetscreation.asp" --> |
Dans connectionDB.asp:
Code:
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:
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