150 likes | 268 Views
Accès aux données généralisé. SQL est presque une solution! Le problème: Le SQL n'est pas une langue complète, et doit être intégré dans un langage de programmation de serveur pour manipuler les aspects de la programmation qui ne sont pas reliés à la base de données
E N D
Accès aux données généralisé • SQL est presque une solution! • Le problème: Le SQL n'est pas une langue complète, et doit être intégré dans un langage de programmation de serveur pour manipuler les aspects de la programmation qui ne sont pas reliés à la base de données • L'interface entre la langue de du serveur et le SQL peut être très ‘klugy’
Accès aux données généralisé • Les objets ADO ( Activex Data Objects ) sont la réponse de Microsoft’s à l'accès universel de données - au moins pour toutes leurs langues • Les ADO isolent le programmeur des détails d'exécution de base de données, et vous permettent d'employer autant ou peu de SQL que vous désirez (principalement dans le paramètre de source ADO)
Les bases ADO • ADO est basé sur un modèle d'objet • Les deux objets les plus importants sont: • CONNECTION • Une connection doit être établie avec la base de données avant qu‘elle puisse être consultée. L'objet de CONNECTION stocke tous les détails • RECORDSET (ensemble d’enregistrements) • Le recordset contient les enregistrements réels. Les méthodes de cet objet lisent et écrivent la base de données
L’Objet de connection • L'objet de connection est créé par l'objet Serveur. • Vous devez • Créer une connection • Ouvrir la connection Avant de pouvoir accéder à la base de données • La création est facile et standard! Dim objConn ‘reserver de la mémoire tampon pour l’objet Set objConn = Server.CreateObject (“ADODB.Connection”)
L’Objet de connection • L'ouverture de la connection exige des données • Quel type de base de données • Où est-elle? • Cette information est fournie à l'objet de connection dans la “connect string” objConn.Open “<chaîne de raccordement>” • La manière la plus facile de construire une chaîne de raccordement est avec un DSN
L’Objet de connection • A DSN (Data Source Name) is Microsoft’s name for a parameter file that contains information about a database • Un DSN (Data Source Name) est le nom Microsoft pour un dossier de paramètre qui contient les informations sur une base de données • L’utilitaire ODBC 32 (L’icon ODBC32 dans le panneau de configuration) mène le programmeur à la création d’un DSN • Une fois que le DSN existe, la “connect string” devient alors simplement: “DSN=<dsn_qui_a_été_créé>”
L’objet RECORDSET • L'objet RECORDSET peut être vu comme fenêtre coulissante de la taille d’un enregistrement dans la base de données La ‘fenêtre” recordset se déplace à travers la page de base de données offrant un enregistrement à la fois
L’objet RECORDSET • L’objet RECORDSET doit être créé, et ensuite ouvert avant d’y avoir accès • La création est simple et standard Dim objRec ‘réserver de l’espace pour l’objet’ Set objRec = Server.CreateObject (“ADODB.Recordset”)
L’objet RECORDSET • L’ouverture d’un recordset exige le nom de l'objet de connection, et quelques paramètres objRec.Open “Contact”, objConn, 0, 1, 2 Appeler la méthode Open Indiquer le nom de la connection Paramètres indiquant le type d’accès, ex : Lecture seulement, Ecriture seulement, etc. Nommer le recordset
L’objet RECORDSET • Une fois ouvert le RECORDSET est placé au premier enregistrement dans la base de données, et l'information au niveau des champs est disponible en mettant en référence le nom de champ donné dans le dictionnaire de base de données ACCESS : StrNom = objRec (“Nom du champ”)
Navigation du Recordset • Se déplacer dans la base de données est accompli avec la méthode MoveNext de Recordset objRec.MoveNext • Le début et la fin de la base de données sont détectés par l’examination de : objRec.EOF(fin de fichier) objRec.BOF(début de fichier)
Terminaison avec ADO • La terminaison des ADO requiert que l’on • Fermer la CONNECTION et le RECORDSET • Supprimer ces objets de la mémoire
Terminaison avec ADO • Fermer est accompli avec la méthode “Close” pour chaque objet • objRec.Close • objConn.Close‘fermer le recordset avant la connection • La suppression d'objet est accomplie en utilisant la variable “Nothing” • Set objRec = Nothing • Set objConn = Nothing
Types de Recordset • En ouvrant un Recordset le type de recordset et le type de verrouillage doivent être indiqués. • Les types de Recordset sont indiqués pour permettre à la base de données d'accomplir ses tâches dans le temps le plus court possible. • Les types spécifient • Mise à jour possible versus mise à jour impossible • Déroulable versus non déroulable • Dynamique ou statique • Utilisation de clés
Types de verrouillage • Les types de verrouillage indiquent le type de verrrouillage d’enregistrement pour le Recordset (se rappeler les commentaires dans la classe de base de données sur l'intégrité de base de données?) Les types sont : • Aucun verrrouillage (rapide) • Verrrouillage (le plus lent) • Verrrouillage optimiste (intermédiaire)