Programmation multimédia 3 Scripting Runtime et ADO Semaine 6 Préparé par Marc Aubé Source : www.laltruiste.com
Introduction FSO Le modèle d'objet FileSystemObject donne accès au système de fichiers du côté serveur. La création d'un modèle d'objet FileSystemObject s'effectue par l'intermédiaire d'une des commandes citées ci-dessous, la première étant utilisée pour VBScript. Set objet_fso = Server.CreateObject("Scripting.FileSystemObject")
Introduction FSO En conséquence, une application côté serveur pourra accéder à l'ensemble des lecteurs de disques durs ou de cédéroms d'un ordinateur, manipuler les dossiers et fichiers présents sur ces disques durs en les créant, les modifiant, les déplaçant ou en les supprimant. Les fichiers pourront être ouverts et ainsi livrer leur contenu pour une lecture ou l'écriture ou encore dans l'optique d'une conversions de format.
Introduction FSO Il n'est pas possible d'utiliser le modèle d'objet FileSystemObject sur une station cliente pour des raisons évidentes de sécurités. Le modèle d'objet FileSystemObject contient une collection d'objets lui permettant de parvenir à ses fins.
Introduction FSO Collection, propriétés et méthodes Exemple
Les constantes Le modèle d'objet FileSystemObject possède plusieurs constantes destinées à être utilisées n'importe où dans un programme VBScript. Il peut parfois être nécessaire de redéfinir les constantes dans le code, si l'hôte de script ne fait pas explicitement référence au fichier scrrun.dll, la bibliothèque de types Scripting contenant le modèle d'objet FileSystemObject. Une constante de déclare de la manière suivante dans VBScript : Const constante constante = valeur
Les constantes de types de lecteurs Les constantes de types de lecteurs peuvent être utilisées n'importe où dans un programme VBScript. Propriétés
Les constantes d'attributs de fichiers Les constantes d'attributs de fichiers peuvent être utilisées n'importe où dans un programme VBScript. Propriétés
Les constantes d'entrée/sortie de fichiers Les constantes d'entrée/sortie de fichiers peuvent être utilisées n'importe où dans un programme VBScript. Propriétés
Les objets L'objet Drive L'objet Drives L'objet Folder L'objet Folders L'objet File L'objet Files L'objet TextStream L'objet Dictionary
L'objet Drive Propriétés et exemple Drive permet l'accès aux propriétés d'un lecteur de disque particulier ou d'un élément de réseau partagé. La création de l'objet Drive s'effectue de la manière suivante pour VBScript : Set objet = fso.GetDrive(fso.GetDriveName(Chemin)) Propriétés Suite à la déclaration de l'objet, il devient, alors, possible d'obtenir différentes informations au sujets du lecteur en cours, par l'intermédiaire des propriétés de l'objet Drive. Propriétés et exemple
L'objet Drives L'objet Drives représente une collection en lecture seule de tous les lecteurs disponibles. La création de l'objet Drives s'effectue de la manière suivante pour VBScript : Set objet = fso.Drives Propriétés et exemple
L'objet Folder Folder autorise l'accès à toutes les propriétés d'un dossier. La création de l'objet Folder s'effectue de la manière suivante pour VBScript : Set objet = fso.GetFolder(chemin) Propriétés et exemple
L'objet Folders Propriétés et exemple Folders représente une collection de tous les objets File à l'intérieur d'un dossier. La création de l'objet Folders s'effectue de la manière suivante pour VBScript : Set objet_folder = fso.GetFolder(folderspec) Set objet = objet_folder.SubFolders Propriétés et exemple
L'objet File L'objet File procure un accès à toutes les propriétés d'un fichier. La création de l'objet File s'effectue de la manière suivante pour VBScript : Set objet = fso.GetFile(chemin)
L'objet File Propriétés et exemple Propriétés Plusieurs propriétés permettent d'accéder à différentes informations à propos du fichier en cours comme son nom, sa date de création, son chemin, etc.. Certaines propriétés autorisent également à renommer le fichier ou à modifier ses attributs d'accès. Propriétés et exemple
L'objet Files Propriétés et exemple Files représente une collection de tous les objets File à l'intérieur d'un dossier. La création de l'objet Files s'effectue de la manière suivante pour VBScript : Set objet_folder = fso.GetFolder(chemin) Set objet = objet_folder.Files Propriétés et exemple
L'objet TextStream Propriétés et exemple TextStream permet la création, l'ouverture, la lecture et l'écriture d'un fichier texte. La création de l'objet TextStream s'effectue de la manière suivante pour VBScript : Dim fso, objet Set fso = CreateObject("Scripting.FileSystemObject") Set objet = fso.CreateTextFile("chemin", True) Propriétés et exemple
L'objet TextStream Outre la méthode précitée, il existe deux autres moyens d'ouvrir un fichier en écriture. par la méthode OpenTextFile() du modèle d'objet FileSystemObject pour VBScript : Dim fso, objet Const ForWriting = 2 Set fso = CreateObject("Scripting. FileSystemObject") Set objet = fso.OpenTextFile("chemin", ForWriting, True)
L'objet TextStream par la méthode OpenAsTextStream() du modèle d'objet FileSystemObject pour VBScript : Dim fso, objet_file, objet Const ForWriting = 2 Set fso = CreateObject("Scripting.FileSystemObject") fso.CreateTextFile ("chemin") Set objet_file = fso.GetFile("chemin") Set objet = objet_file.OpenAsTextStream(ForWriting, True)
FileSystemObject Les méthodes Les propriétés
Introduction ADO Les composants ActiveX Data Objects (ADO) permettent d'établir une interaction entre une application Web et des sources de données. Les données représentent principalement le contenu d'un site Internet, et partant, possèdent un intérêt vital auprès des utilisateurs.
Introduction ADO Dans le cas d'un site de commerce électronique, la parfaite administration des données constitue un enjeu capital dans la réussite de l'entreprise. En effet, il est nécessaire de mettre à jour régulièrement les données par, la modification des produits, l'ajout de nouveaux ou la suppression d'anciens. La gestion d'un catalogue important rend obligatoire l'utilisation d'une ou plusieurs sources centralisant l'ensemble des données, indépendamment de la structure de présentation, basée en général sur le langage HTML.
Introduction ADO ActiveX Data Objects associé à un langage de script tel que VBScript ou JScript, permettent de construire des applications Web puissantes et interactives, capables de fonctionner avec diverses sources de données, à l'image d'un base de données standards, d'un service d'annuaires ou de courriers électroniques, ou encore d'un système de fichiers. Le modèle d'objets ADO facilite la gestion des données, en les décomposant en de multiples objets et collections.
Introduction ADO Ainsi, un ensemble d'articles pourrait correspondre à un jeu d'enregistrements (objet Recordset), un article à un enregistrement (objet Record), les caractéristiques de ce dernier à une collection de champs (collection Fields), une caractéristique à un champ (objet Field), etc.. De même, la connexion à une source de données, l'exécution de commandes, un des paramètres de ces dernières, ou encore l'accès au contenu d'un noeud, se traduisent tous par un objet spécifique, en l'occurrence respectivement, les objets Connection, Command, Parameter et Stream.
Introduction ADO Une source de données devient ainsi, un ensemble d'objets divers, dont l'accès à chacun est relativement aisé, par l'intermédiaire des composants d'ADO. Proposant des fonctionnalités combinant le meilleur des différentes techniques d'accès aux sources de données comme ODBC (Open DataBase Connectivity), DAO (Data Access Objects) ou RDO (Remote Data Objects), ADO offre un support universel dans l'échange des données (Universal data Access) pour les besoins actuels comme futurs.
Introduction ADO OLE DB (Object Linking and Embedding DataBase) est une interface directe entre des applications COM (Component Object Model) écrites en C++ ou en Java et des sources de données. Etant un composant COM, ADO ne peut accéder à une source de données que par l'intermédiaire d'OLE DB. Ainsi, une application ASP rédigée en VBScript ou JScript parvient à atteindre une base de données par une première couche spécifique, ADO, qui se charge de traverser l'interface OLE DB pour accéder au but.
Introduction ADO Par ailleurs, ADO doit faire appel à un fournisseur correspondant au type d'une source de données et si nécessaire à un pilote ODBC afin d'ouvrir une liaison avec la source de données. Le fonctionnement d'ADO sur une plateforme nécessite l'installation du composant MDAC (Microsoft® Data Access Components) et pour tirer pleinement parti de l'ensemble des fonctionnalités, l'installation de Visual Basic For Applications ou Visual Studio ou encore Visual C++.
Les objets ADO Les objets ADO permettent d'accomplir diverses actions sur des bases de données en utilisant un fournisseur OLE DB (Object Linking Embedding DataBase). Chacun des objets ADO peuvent être contenus dans leurs collections correspondantes comme Field ou Error dans leur collection respective Fields et Errors. L'objet ADO Command L'objet ADO Connection (à voir) L'objet ADO Error L'objet ADO Fields (à voir) L'objet ADO Parameter L'objet ADO Property L'objet ADO Record L'objet ADO Recordset (à voir) L'objet ADO Stream
L'objet ADO Connection L'objet ADO Connection représente un connexion ouverte à une source de données. Objet_Connection.Collection | Méthode | Propriété | Evénement Il n'est pas fondamentalement utile de créer un objet Connection pour ouvrir une connexion sur une base de données puisque automatiquement, une ouverture de cette dernière s'opère implicitement, lors de l'utilisation des objets Command, Recordset, et Record.
L'objet ADO Connection Outre la connexion à une base de données, l'objet Connection permet de paramétrer précisément des connexions dans le domaine de la sécurité, de la gestion des transactions, du fournisseur OLE DB, etc.. Dépendant des fonctionnalités supportées par le fournisseur, plusieurs collections, méthodes, ou propriétés d'un objet Connection peuvent ne pas être disponibles. Voir exemple
L'objet ADO Fields L'objet ADO Fields représente une colonne d'enregistrement possèdant un type commun de données, à l'intérieur d'un jeu d'enregistrement. Objet_Field.Collection | Propriété | Méthode L'utilisation de la propriété Value de l'objet Field permet de fixer ou de retourner les données pour l'enregistrement courant. Objet_Field.Value = Valeur Valeur = Objet_Field.Value
L'objet ADO Fields Les objets Field sont accessibles à partir d'une collection Fields. Ainsi, une boucle For Each...Next permet d'extraire chaque objet Field puis d'appliquer un traitement particulier au champ. For Each Objet_Field in Objet_Recordset.Fields 'Traitement à appliquer à Objet_Field... Next Propriété, Méthodes et exemple
L'objet ADO Recordset L'objet ADO Recordset contient l'ensemble des enregistrements d'une base de données ou le résultat d'une requête suite à l'exécution d'une commande. Set obj_Recordset = Server.CreateObject("ADODB.Recordset") Couramment utilisé, l'objet Recordset permet d'accomplir différentes tâches sur un jeu d'enregistrements, comme l'ouverture ou la fermeture de l'objet, mais surtout, l'extraction, l'ajout, la suppression ou la mise à jour des données.
L'objet ADO Recordset Dim Obj_Recordset ' Instanciation de l'objet Set Obj_Recordset = Server.CreateObject("ADODB.Recordset") ' Ouverture Obj_Recordset.Open "SELECT * FROM Table", _ Obj_Connection, _ adOpenKeySet, _ adLockOptimistic Obj_Recordset.Fields("Nom_Champs") = "Valeur du champs" Obj_Recordset.Update ' Mise à jour Obj_Recordset.Close ' Fermeture
L'objet ADO Recordset Quelques unes des fonctions importantes de l'objet Recordset sont, également, d'explorer un jeu d'enregistrements par l'intermédiaire des méthodes MoveNext, MovePrevious, MoveLast, MoveFirst, Move, d'effectuer des recherches par Seek ou Find, ou de tester la position du pointeur d'enregistrement avec les propriétés BOF (Before Of File), EOF (End Of File) ou AbsolutePosition. Do While Not Obj_Recordset.EOF ' Atteindre Fin de Fichier Response.Write Obj_Recordset.Fields("Nom_Champs") Obj_Recordset.MoveNext ' Enregistrement suivant Loop Collection, propriétés, méthodes, événements et exemple
Les curseurs Un curseur représente un moyen de déplacer un pointeur, d'un enregistrement à un autre dans un objet Recordset. ADO définit quatre types de curseurs, dont les principales différences résident d'une part, dans le mode de déplacement aussi bien en avant qu'en arrière, et d'autre part dans la visibilité ou l'occultation des jeux d'enregistrements sur lesquels des actions ont été opérés, pour les autres utilisateurs. Type de curseurs
Les constantes LockTypeEnum Les constantes LockTypeEnum indique le type de verrou placé sur les enregistrements durant l'opération d'édition. Objet_Recordset.LockType = LockTypeEnum Type de verrou