Designed by Vince El Roubio !
108 en ligne   Boutique | Sites | Bar | Forum | PhpBB | Actu | Glossaire | Codes | Tips | Liens | Livres | Lettre  


 Recherche

 NewsLetter






   

Connexions facilitées (ASP)

Un include pour vous simplifier la vie





Langage utilisé :

Voilà maintenant un moment que je travaille avec l'ASP, et qu'à chaque fois j'écris le même code pour gérer mes bases de données. C'est rébarbatif, et c'est aussi une belle perte de temps.
La solution ?? Elle existe, elle est simple et vous l'utilisez à chaque fois que vous codez en ASP. C'est le VBScript, qui permet de créer des fonctions et des procédures.

Voilà le principe : Vous créez un fichier (par exemple fonctions.asp) qui contiendra différentes fonctions et méthodes pour la gestion des bases de données. Ensuite, il suffit de mettre ce fichier en include à chaque fois que vous en avez besoin.

Je vous montre un exemple (c'est le fichier que j'utilise moi-même).
<%
' ****************************************************************************
'               Script réutilisable permettant de simplifier et d'exporter
'    au maximum les connexions au bases de données. Permet l'ouverture et 
'      la fermeture d'une connexion, la création, la destruction d'un recordset, 
'        la création d'une liste déroulante, l'envoi d'email avec CDONTS, etc...
' ****************************************************************************

' ****************************************************************************
' Manipulation de la base de données

' ****************************************************************************


' Déclarations des variables utilisées tout au long du script :

Dim oConn   ' object connexion


' Connexion à la base :

Sub Connexion()
   sConn = "PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Application("maBase")
   Set oConn = Server.CreateObject("ADODB.Connection")
   oConn.Open sConn
End Sub


' Execution d'une requête sans attendre de résultat (requêtes d'insertion, de mise à jour, ...)

Sub Execution(sReq)
   If sreq <> "" then
      oConn.Execute(sReq)
   else
      response.write("<b>Erreur E001 : Exécution d'une requête</b><br>")
      response.write("Le paramètre envoyé est vide."<br>")
   end if
End Sub


' Vérification qu'un recordSet n'est pas vide

Function estVide(ByRef rstReq)
   If rstReq.eof OR rstReq.bof then
      estVide = true
   else
      rstreq.movefirst
      estVide = false
   end if
end function


' Ouverture d'un recordset pour le mode page a page :

Sub Ouverture(sReq, ByRef rstReq, nb)
   Set rstReq = Server.CreateObject("ADODB.RecordSet")
   If nb <> "" And nb <> "0" then
      rstReq.CursorLocation = 3
      rstReq.PageSize = CInt(nb)
   end if
   rstReq.Open sReq, oConn, 3, 3
End Sub


' Remplissage d'une zone de liste avec un recordset :

Sub CreeSelect(ByRef rstReq, iVal1, iVal2)
   If Not estVide(rstReq) Then
      Do Until rstReq.Eof
         response.write("<option value='"&rstReq(iVal1)&"'>")
         response.write(rstReq(iVal2))
         response.write("</option>")
         rstReq.MoveNext
      Loop
   Else
      response.write("<option value='NULL'>Aucune entrée</option>")
   End If
End Sub


' Fermer un recordset :

Sub Fermeture(ByRef rstReq)
   if isObject(rstReq) then
      rstReq.Close
      Set rstReq = Nothing
   else
      response.write("<b>Erreur F001 : Fermeture d'un RecordSet</b><br>")
      response.write("Le paramètre envoyé à la fonction de fermeture n'esiste pas ou n'est pas un object.<br>")
   End If
End Sub


' Envoyer un e-mail

sub envoiMail(paramExpediteur, paramDestinataire, paramSujet, paramCorps, paramTypeMail)
   Set objCDOMail = Server.CreateObject("CDONTS.NewMail")
      
                ' Renseignement des propriétés
   objCDOMail.From = paramExpediteur
   objCDOMail.To = paramDestinataire
   objCDOMail.Subject = paramSujet
   objCDOMail.Importance = 1 '(0=Low, 1=Normal, 2=High)
   objCDOMail.BodyFormat = paramTypeMail '(HTML or TEXT format)
   if paramTypeMail = 0 then
      objCDOMail.MailFormat = 0 '(Mime format)
   end if

                ' Corps du message
   objCDOMail.Body = paramCorps   
   
                ' Send the message!
   objCDOMail.Send
   Set objCDOMail = Nothing
end sub


' Déconnexion :

Sub Deconnexion()
   oConn.Close
   Set oConn = Nothing
End Sub
%>

Bon, c'est pas encore le top. Faudrait rajouter la gestion des erreurs, un mode d'emploi(?) et d'autres fonctions utiles.

Il suffit juste d'initialiser dans le global.asa la variable d'application "mabase" et c'est bon, ça marche partout.


UTILISATION :

Ben c'est facile. On met le fichier en include et après, on appelle les méthodes comme ceci :

<!-- #include file="fonctions.asp"--> 
<%
Dim maRequete, monRecordSet

maRequete = "SELECT * FROM maTable"

Ouverture maRequete, monRecordSet, 0  ' le 0 c pour afficher tous les elt sans page a page

%>


<!-- code html de la page -->

<% CreeSelect monRecordSet, "champ_Valeur", "champ_Intitule" %>

<!-- code html -->

<%
Fermeture(monRecordSet)

Deconnexion
%>


Voilà, j'espère que ça vous sera utile, et n'hésitez pas à me faire parvenir vos modifications et vos nouvelles idées !!

guitoux1@caramail.com

P.S. : J'ai aussi une gestion des variables de type tableau, mais bon, c'est pas encore assez indépendant pour être utilisé partout. Faut que je travaille ca...

Guitoux1 le 22/09/2003 (27 441 hits)
Didier Téléchargez gratuitement et légalement des logiciels Microsoft ! Si, si ;)
  • Visual Studio 2010
  • Office 2010
  • Expression Studio 3
  • SQL Server 2008
  • et d'autres...
Au fil des news  
Magazines - Le N°128 de Programmez est disponible
Magazines - Le N°127 de Programmez est disponible
Dreamweaver CS4 + Php + Mysql - Trucs et Astuces - Part 6
Pour continuer dans le même style, je vous propose une suite au précédent article. Rechercher tous ...
Adobe - Adobe Photoshop.com Mobile pour iPhone 1.1
JavaScript - Ajouter une page dans vos favorites
Dreamweaver CS4 + Php + Mysql - Trucs et Astuces - Part 5 -
Je vous propose cette fois deux astuces. Comment exporter une feuille de style avec l'aide de ...
SharePoint Personalization Site Links - Les liens personnalisés des MySite SharePoint
Nous avons vu dans les articles précédents comment agrémenter les pages de recherche afin de ...
Magazines - Le n°126 de Programmez est disponible
Outils - Traducteur en ligne automatique pour site web
Adobe - Adobe Photoshop.com Mobile pour Iphone
Magazines - Le n°125 de Programmez est disponible
Adobe - Adobe AIR 2 et Flash Player 10.1version bêta
Les conférences autour des technologies Microsoft - Liste non exhaustive des grands évènements
Nous allons essayer de regrouper un grand nombre des évènements autour des technologies Microsoft ...
Magazines - Le n°124 de Programmez est disponible
PHP - Forum PHP 2009
Composants - eFace - XAML en Java
WPF - Désactiver le bouton de réduction d'une fenêtre
Magazines - Le n°123 de Programmez est disponible
Magazines - Le n°122 de Programmez est disponible
Auditer une ferme SharePoint - Assurer le bon fonctionnement de SharePoint
Dans le cadre de la bonne gestion de son environnement SharePoint, il est utile de faire un ...
SQL Server 2008 Report Builder 2.0 - Installation et utilisation de Report Builder 2.0
Dans le cadre de la création de rapports pour SQL Server Reporting Services 2008, un outil est ...
Magazines - Le HS N° 1 de Web Design est disponible
Adobe - Adobe propose en Open Source les frameworks.....
Outils - EntityBuilder
CSharp - Sérialisation XML de vos objets
Magazines - Le n°121 de Programmez est disponible
Adobe - Adobe annonce MAX 2009 !
Outils - WhoIs
[MAJ] Dreamweaver MX + Php + MySql - Les formulaires - partie 3
Mise à jour du code, par DB 77, affichage du code erreur, dans la page erreur.php, traduction des ...
PHP - News avec photo - Système de gestion - affichage
Gestion - Administration - Affichage d'une "News", "Actualité", "Info", ... avec : - mise en forme ...
Outils - Crypt
Dreamweaver Php Mysql - Région répétée imbriquée
Je rebondis, sur un post du forum, pour vous montrer comment obtenir grâce à l'extension Simulated ...
Magazines - Le n° 120 de Programmez est disponible
Gérer les bases de contenu SharePoint - Gérer la croissance du volume des données
Dans le cadre de la gestion quotidienne de ferme SharePoint, il existe une partie qu'il faut ...
PHP - Le Coach PHP sur Visual Studio
.NET - Ecrire une application .NET utilisant MySQL
PHP - Utilisation de PHP dans le monde Microsoft
Magazines - Le n° 119 de Programmez est disponible
Adobe - Adobe annonce Photoshop Marketplace
[MAJ] Tutoriel AJAX simple - En avant vers le WEB2.0
Mis à jour le 20/04/2009
Tutorial : HTML | Scripting | ASP-PHP | ASP.net | SQL Server | XML
Sharepoint | XAML | Pocket | Dreamweaver | VML | Divers
  Scripts : Scripting | ASP-PHP | ASP.net | Divers
  Boutique | Annuaire | Bannières | Météo | Tribune | Partenariats
v3b © Didier 2003   
 

Corpo Sciences de Reims Partitions gratuites Carte, météo, annonces
 DotNet Project MVP Groupes Utilisateurs Microsoft ASP-magazine TechNet