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.
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.
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.
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.
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.
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.
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 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 permet d'exécuter diverses commandes sur des sources de données.
L'objet Command peut appliquer des requêtes sur une base de données et obtenir en retour des enregistrements (record) dans un jeu d'enregistrements (Recordset).
Il est également possible de manipuler la structure d'une base de données par l'intermédiaire de l'objet Command.
Le constructeur ci-dessous permet de créer un objet ADO Command.
Set Objet_Command = Server.CreateObject("ADODB.Command") 'ou Set Objet_Command = New ADODB.Command
Désormais, il devient possible d'appliquer à cet objet ainsi créé, ses collections, propriétés ou méthodes.
Les CollectionsObjet_Command.Collection | Propriété | Méthode
Collection |
---|
Description |
Parameters |
représente tous les objets paramètres d'un objet Command. |
Properties |
représente toutes les propriétés d'un objet Command |
Propriété |
---|
Description |
Set obj_Command.ActiveConnection = obj_Connection |
indique l'appartenance à un objet Connection de l'objet en cours. |
Objet_Command.CommandStream = "Chaîne de caractères" |
indique le flux utilisé comme l'entrée pour un objet Command. |
Objet_Command.CommandText = "Chaîne de caractères" |
contient le texte d'une commande qui doit être envoyé à un fournisseur. |
Objet_Command.CommandTimeout = Temps |
indique le délai à appliquer lors de la tentative d'exécution d'une commande avant de déclencher l'interruption puis la génération d'un message d'erreur. |
objet_Command.CommandType = CommandTypeEnum |
indique le type d'un objet Command. |
objet_Command.Dialect = GUID |
indique le dialecte des propriétés CommandText ou Commandstream. |
objet_Command.Name |
retourne le nom d'un objet. |
objet_Command.NamedParameters = True | False |
indique si les noms de paramètres devraient être passés au fournisseur. |
objet_Command.Prepared = True | False |
indique s'il faut sauvegarder une version compilée d'une commande après l'exécution. |
objet_Command.State = ObjectStateEnum |
indique pour tous les objets applicables si l'état de l'objet est ouvert ou fermé. |
Méthode |
---|
Description |
Objet_Command.Cancel |
annule l'exécution de l'appel d'une méthode |
Set Objet_Parameter = Object_Command.CreateParameter(Nom, Type, ParameterDirectionEnum, Taille, Valeur) |
crée un nouvel objet Parameter avec les propriétés spécifiées. |
Set recordset = Objet_Command.Execute(Enregistrements_Affectés, Paramètres, Options) 'ou_Command.Execute |
exécute une requête, un instructions SQL ou une procédure stockée spécifiée dans la propriété CommandText |
<html> <head> <title>Démonstration de Command</title> <script language="VBScript"> Sub Soumission_OnClick() If Len(formulaire.Nom.value) = 0 Then Alert "Veuillez entrer votre nom de famille !" formulaire.Nom.focus Exit Sub ElseIf Len(formulaire.Prenom.value) = 0 Then Alert "Veuillez entrer votre prénom !" formulaire.Prenom.focus Exit Sub ElseIf Len(formulaire.Age.value) = 0 Then Alert "Veuillez entrer votre âge !" formulaire.Age.focus Exit Sub ElseIf Len(formulaire.Qualite.value) = 0 Then Alert "Veuillez entrer votre qualité !" formulaire.Qualite.focus Exit Sub ElseIf Len(formulaire.eMail.value) = 0 Then Alert "Veuillez entrer votre adresse email !" formulaire.eMail.focus Exit Sub ElseIf Len(formulaire.Adresse.value) = 0 Then Alert "Veuillez entrer votre adresse complète !" formulaire.Adresse.focus Exit Sub End If Call formulaire.submit() End Sub </script> </head> <body> <% If Len(Request.Form("Etape")) = 0 Then %> <form action="command.asp" method="post" name="formulaire"> <input type="hidden" name="Etape" value="Ajout"> <table> <tr> <td>Nom</td> <td> <input type="text" name="Nom" size="20" value="ANNAIS"> </td> </tr> <tr> <td>Prénom</td> <td> <input type="text" name="Prenom" size="20" value="Angélique"> </td> </tr> <tr> <td>Age</td> <td> <input type="text" name="Age" size="3" value="23"> </td> </tr> <tr> <td>Qualité</td> <td> <input type="text" name="Qualite" size="20" value="Rédacteur"> </td> </tr> <tr> <td>eMail</td> <td> <input type="text" name="eMail" size="20" value="angelique.annais@inc.com"> </td> </tr> <tr> <td>Adresse</td> <td> <input type="text" name="Adresse" size="20" value="155 Avenue Lingenfield 75000 PARIS"> </td> </tr> <tr> <td> <input type="button" name="Soumission" value="Soumettre"> </td> </tr> </table> </form> <% ElseIf Request.Form("Etape") = "Ajout" Then Dim Commande_SQL Commande_SQL = "Insert into Fiche (Nom, Prenom, Age, " & _ "Qualite, eMail, Adresse) Values('" & _ CStr(Request.Form("Nom")) & "','" & _ CStr(Request.Form("Prenom")) & "'," & _ CLng(Request.Form("Age")) & ",'" & _ CStr(Request.Form("Qualite")) & "','" & _ CStr(Request.Form("eMail")) & "','" & _ CStr(Request.Form("Adresse")) & "')" Set obj_Connection = Server.CreateObject("ADODB.Connection") obj_Connection.Open "DSN=personnel" Set obj_Command = Server.CreateObject("ADODB.Command") Set obj_Command.ActiveConnection = obj_Connection obj_Command.CommandText = Commande_SQL obj_Command.CommandType = 1 obj_Command.Execute Response.Write "<p>Les éléments suivants ont été ajoutés à la " & _ "table de données <i>Personnel</i> :</p>" & _ "<b>" & Commande_SQL & "</b>" Set obj_Command = Nothing obj_Connection.Close Set obj_Connection = Nothing End If %> </body> </html> |
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 cete dernière s'opère implicitement, lors de l'utilisation des objets Command, Recordset, et Record.
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.
Les CollectionsCollection |
---|
Description |
Errors |
contient tous les objets Error créés en réponse à des erreurs relatives du fournisseur. |
Properties |
contient toutes les objets Property pour une instance spécifique d'un objet. |
Propriété |
---|
Description |
Objet_Connection.Objet_Connection.Attributes |
retourne une ou plusieurs caractéristiques d'un objet. |
Objet_Connection.CommandTimeout = Temps |
indique le délai à appliquer lors de la tentative d'exécution d'une commande avant de déclencher l'interruption puis la génération d'un message d'erreur. |
Objet_Connection.ConnectionString = "Argument=Valeur..." |
indique les informations utlisées pour établir une connexion à une source de données. |
Objet_Connection.ConnectionTimeout = Temps |
indique le délai de temporisation lors d'une tentative d'établissement d'une connexion avant de déclencher son interruption et la génération d'un message d'erreur. |
Objet_Connection.CursorLocation = CursorLocationEnum |
indique la localisation du service de curseur. |
Objet_Connection.DefaultDatabase = "Base de donnée" |
indique la base de données par défaut. |
Objet_Connection.IsolationLevel = IsolationLevelEnum |
indique le niveau d'isolation d'un objet Connection |
Objet_Connection.Mode = ConnectModeEnum |
indique les permissions disponibles pour la modification des données dans les objets Connection, Record ou Stream. |
Objet_Connection.Provider |
indique le nom du fournisseur à utiliser pour un objet Connection. |
Objet_Connection.State = True | False |
indique pour tous les objets applicables si l'état de l'objet est ouvert ou fermé. |
Objet_Connection.Version |
indique le numéro de version d'ActiveX Data Objects. |
Méthode |
---|
Description |
Objet_Connection.BeginTrans |
commence une nouvelle transaction. |
Objet_Connection.CommitTrans |
sauvegarde n'importe quels changements et la fin de la transaction courante. Il est égaement possible de commencer une nouvelle transaction. |
Objet_Connection.RollbackTrans |
annule n'importe quels changements opérés durant la trasaction courante et termine la transaction. Il peut aussi démarrer une nouvelle transaction. |
Objet_Connection.Cancel |
annule l'exécution de la méthode appelée en cours. |
Objet_Connection.Close |
ferme un objet ouvert ainsi que tous les objets en dépendant. |
Set recordset = Objet_Connection.Execute(Enregistrements_Affectés, Paramètres, Options) 'ou_Command.Execute |
exécute une requête, une instructions SQL, une procédure stockée ou le texte propre au fournisseur spécifié. |
Objet_Connection.Open Texte_Connexion, ID_Utilisateur, Mot_de_Passe, Options |
ouvre une connexion à une source de données. |
Set Objet_Recordset = Objet_Connection.OpenSchema(SchemaEnum, Critères, ID_Schema) |
obtient les informations en provenance du fournisseur, sur le schéma de la base de données. |
Evénement |
---|
Description |
Objet_Connection.BeginTransComplete Niveau_Transaction, Erreur, Statut, Connexion |
est appelé après l'exécution de la méthode BeginTrans. |
Objet_Connection.CommitTransComplete Erreur, Statut, Connexion |
est appelé après l'exécution de la méthode CommitTrans. |
Objet_Connection.RollbackTransComplete Erreur, Statut, Connexion |
est appelé après l'exécution de la méthode RollbackTrans. |
Objet_Connection.ConnectComplete Erreur, Statut, Connexion |
est appelé après le démarrage d'une connexion. |
Objet_Connection.Disconnect Statut, Connexion |
est appelé après la fin d'une connexion. |
Objet_Connection.ExecuteComplete Enregistrement_Affecté, Erreur, Statut, Commande, Recordset, Connexion |
est appelé après qu'une commande ait fini son exécution. |
Objet_Connection.InfoMessage Erreur, Statut, Connexion |
est appelé à chaque fois que se produit un avertissement durant une opération de connexion. |
Objet_Connection.WillConnect Texte_Connexion, ID_Utilisateur, Mot_de_passe, Options, Statut, Connexion |
est appelé avant le démarrage d'une connexion. |
Objet_Connection.WillExecute Source, Type_Curseur, Type_Verrou, Options, Statut, Commande, Recordset, Connexion |
est appelé juste avant une commande en instance soit exécutée sur une connection. |
<!-- Formulaire de modification --> <html> <head> <script language="VBScript"> Sub Soumission_OnClick() If Len(formulaire.txtNom.value) = 0 Then Alert "Veuillez entrer un Nom !" formulaire.txtNom.focus Exit Sub ElseIf Len(formulaire.txtPrenom.value) = 0 Then Alert "Veuillez entrer un Prénom !" formulaire.txtPrenom.focus Exit Sub ElseIf Len(formulaire.txtAge.value) = 0 Then Alert "Veuillez entrer un âge !" formulaire.txtAge.focus Exit Sub ElseIf Len(formulaire.txtQualite.value) = 0 Then Alert "Veuillez entrer une qualité !" formulaire.txtQualite.focus Exit Sub ElseIf Len(formulaire.txtAdresse.value) = 0 Then Alert "Veuillez entrer une adresse complète !" formulaire.txtAdresse.focus Exit Sub End If Call formulaire.submit() End Sub </script> </head> <body> <% Dim Commande_SQL If Len(Request.Form("Etape")) = 0 Then Set obj_Recordset = Server.CreateObject("ADODB.Recordset") obj_Recordset.Open "Select eMail from Fiche","DSN=Personnel" %> <form action="traitement.asp" method="post" name="form"> <input type="hidden" name="Etape" value="Modif"> <table> <tr> <th>Sélectionner une adresse eMail</th> </tr> <tr> <td> <select name="select_eMail"> <% Do While Not obj_Recordset.EOF %> <option value="<%=obj_Recordset("eMail")%>"> <%=obj_Recordset("eMail")%> </option> <% obj_Recordset.MoveNext Loop obj_Recordset.Close Set obj_Recordset = Nothing %> </select> </td> </tr> <tr> <td> <input type="submit" name="Validation" value="Soumettre"> </td> </tr> </table> </form> <% ElseIf Request.Form("Etape") = "Modif" Then Commande_SQL = "Select * from Fiche where eMail = '" & _ CStr(Request.Form("select_eMail")) & "'" Set obj_Recordset = Server.CreateObject("ADODB.Recordset") obj_Recordset.Open strSQL,"DSN=personnel" %> <form action="connection.asp" method="post" name="formulaire"> <input type="hidden" name="txtEmail" value="<%=obj_Recordset("eMail")%>"> <table> <tr> <td>eMail</td> <th style="color: red; font-size:12pt"> <%=obj_Recordset("eMail")%> </th> </tr> <tr> <td>Nom</td> <td> <input type="text" name="txtNom" size="20" value=<%=obj_Recordset("Nom")%>> </td> </tr> <tr> <td>Prenom</td> <td> <input type="text" name="txtPrenom" size="20" value=<%=obj_Recordset("Prenom")%>> </td> </tr> <tr> <td>Age</td> <td> <input type="text" name="txtAge" size="20" value=<%=obj_Recordset("Age")%>> </td> </tr> <tr> <td>Qualité</td> <td> <input type="text" name="txtQualite" size="20" value=<%=obj_Recordset("Qualite")%>> </td> </tr> <tr> <td>Adresse</td> <td> <textarea name="txtAdresse" cols="20" rows="3"> <%=obj_Recordset("Adresse")%> </textarea> </td> </tr> <tr> <td> <input type="button" name="Soumission" value="Modifier"> </td> </tr> </table> </form> <% obj_Recordset.Close Set obj_Recordset = Nothing End If %> </body> </html> <!-- Formulaire de traitement traitement.asp --> <html> <body> <% Dim Commande_SQL Dim adCmdText adCmdText = 1 Commande_SQL = "Update Fiche Set " & _ "Nom = '" & _ CStr(Request.Form("txtNom")) & "', " & _ "Prenom = '" & _ CStr(Request.Form("txtPrenom")) & "', " & _ "Age = " & _ CLng(Request.Form("txtAge")) & ", " & _ "Qualite = '" & _ CStr(Request.Form("txtQualite")) & "', " & _ "Adresse = '" & _ CStr(Request.Form("txtAdresse")) & "' " & _ "Where eMail = '" & _ CStr(Request.Form("txtEmail")) & "'" Set obj_Connection = Server.CreateObject("ADODB.Connection") obj_Connection.Open "DSN=personnel" Set obj_Command = Server.CreateObject("ADODB.Command") Set obj_Command.ActiveConnection = obj_Connection obj_Command.CommandText = Commande_SQL obj_Command.CommandType = adCmdText obj_Command.Execute Response.Write "<p>Les éléments suivants ont été modifiés dans " & _ "la table de données <i>Personnel</i> :</p>" & _ "<b>" & Commande_SQL & "</b>" Set obj_Command = Nothing obj_Connection.Close Set obj_Connection = Nothing %> </body> </html> |
Les arguments de la propriété ConnectionString permettent de spécifier plusieurs valeurs à utiliser pour se connecter sur une source de données.
Objet_Connection.ConnectionString = _ "Argument=Valeur;...;ArguementN=Valeur"
Argument | Description |
---|---|
Provider= | indique le nom d'un fournisseur à utliser pour la connexion vers une source de données. |
File Name= | indique le nom d'un fichier spécifique du fournisseur contenant les préréglages des informations de connexion. |
Remote Provider= | indique le nom d'un fournisseur à utiliser quand une connexion côté client est ouverte. |
Remote Server= | indique le chemin du serveur quand une connexion côté client est ouverte. |
URL= | indique la chaîne de caractères de connexion comme une adresse URL absolue identifiant une ressource, à l'image d'un fichier ou d'un répertoire. |
L'objet ADO Error contient les détails des erreurs d'accès des bases de données qui concerne une unique opération impliquant le fournisseur.
Objet_Error.Propriété
Chaque objet ADO est susceptible de générer une ou plusieurs erreurs spécifiques au fournisseur.
A chaque fois qu'une erreur se produit, un ou plusieurs objets Error sont créés dans la collection Errors de l'objet Connection. Ainsi lorsqu'une opération ADO provoque une autre erreur, la collection Errors est réinitialisée afin d'accueillir le jeu d'erreurs en cours.
Certaines propriétés ou méthodes peuvent retourner des messages d'avertissments qui apparaissent dans la collection Errors à l'image des objets Error. Néanmoins, ces messages n'entraînent pas l'arrêt de l'exécution du programme.
Les PropriétésPropriété |
---|
Description |
Objet_Error.Description = Texte |
retourne une description textuelle de l'erreur. |
Objet_Error.HelpContext = ID_Contexte |
retourne un entier long représentant l'identificateur contextuel pour atteindre un thème dans un fichier d'aide. |
Objet_Error.HelpFile = Chemin_Fichier_Aide |
retourne une chaîne de caractères représentant le chemin complet du fichier d'aide. |
Objet_Error.NativeError = Code_Erreur_Fournisseur |
retourne un entier long représentant le code d'erreur spécifique au fournisseur. |
Objet_Error.Number = Numéro_Erreur |
retourne un entier long représentant le numéro de l'erreur. |
Objet_Error.Source = Nom_Objet |
retourne l'identificateur de l'objet ou de l'application qui a provoqué l'erreur. |
Objet_Error.SQLState = Etat_SQL |
indique l'état SQL d'un objet Error. |
<html> <head> <% Function Verif_coll_Errors(obj_Connection) Dim obj_Error If Err.Number <> obj_Connection.Errors(0).Number Then Exit Function End If If obj_Connection.Errors.Count > 0 Then For Each obj_Error in obj_Connection.Errors If obj_Error.Number <> 0 Then Response.Write "" & _ "<table border="0" cellpadding=1 cellspacing=2 border=1>" & _ "<tr><th>Propriété</th><th>Valeur</th>" & _ "</tr><tr><th>Numéro</th><td>" & obj_Error.Number & "</td></tr>" & _ "<tr><th>Erreur native</th><td>" & obj_Error.NativeError & "</td></tr>" & _ "<tr><th>Etat SQL</th><td>" & obj_Error.SQLState & "</td></tr>" & _ "<tr><th>Source</th><td>" & obj_Error.Source & "</td></tr>" & _ "<tr><th>Description</th><td>" & obj_Error.Description & "</td></tr>" & _ "</table>" Verif_coll_Errors = True End If Next Else Verif_coll_Errors = False End If End Function On Error Resume Next %> </head> <body> <% Dim Ch_SQL Ch_SQL = "SELECT Noms, Prenom, Age, Qualites, eMail, Adresse" _ & "FROM Fiche","DSN=personnel" Set obj_Recordset = Server.CreateObject("ADODB.Recordset") obj_Recordset.Open Ch_SQL If Verif_coll_Errors(obj_Recordset.ActiveConnection) = False Then %> <table border="1" cellpadding="3" align="center"> <tr> <td colspan="6">Fiches signalétiques des personnels</td> </tr> <tr> <td>Nom</td> <td>Prénom</td> <td>Age</td> <td>Qualité</td> <td>eMail</td> <td>Adresse</td> </tr> <% Do While Not obj_Recordset.EOF %> <tr> <td><%=obj_Recordset("Nom")%></td> <td><%=obj_Recordset("Prenom")%></td> <td><%=obj_Recordset("Age")%></td> <td><%=obj_Recordset("Qualite")%></td> <td><%=obj_Recordset("eMail")%></td> <td><%=obj_Recordset("Adresse")%></td> </tr> <% obj_Recordset.MoveNext Loop End If obj_Recordset.Close Set obj_Recordset = Nothing %> </tr> </table> </body> </html> |
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
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.
Les CollectionsFor Each Objet_Field in Objet_Recordset.Fields 'Traitement à appliquer à Objet_Field...
Collection |
---|
Description |
Properties |
représente toutes les propriétés d'un objet Field |
Propriété |
---|
Description |
Objet_Field.ActualSize = Taille |
retourne la taille actuelle des données du champ. |
Objet_Field.Attributes = Entier |
retourne un entier long indiquant une ou plusieurs caractéristiques de l'objet Field. |
Objet_Field.DefinedSize = Taille_Définie |
retourne la taille définie du champ. |
Objet_Field.Name = Nom |
retourne le nom d'un champ. |
Objet_Field.NumericScale = Echelle |
indique par une valeur octale le nombre de places décimales auxquelles des valeurs numériques seront séparées. |
Objet_Field.OriginalValue = Valeur_Originale |
indique la valeur d'un champ qui a existé dans l'enregistrement avant que n'importe quels changements n'aient été accomplis. |
Objet_Field.Precision = Précision |
indique par une valeur octale, le nombre maximal de chiffres utilisé pour représenter des valeurs. |
Objet_Field.Status = FieldStatusEnum |
indique le statut de l'enregistrement en cours. |
Objet_Field.Type = DataTypeEnum |
indique un type de données DataTypeEnum. |
Objet_Field.UnderlyingValue = Valeur_Courante |
indique la valeur courante de l'objet Field de la base de données. |
Objet_Field.Value = Valeur |
retourne la valeur du champ en cours. |
Méthode |
---|
Description |
Objet_Field.AppendChunk Données |
ajoute des données à un grand texte ou un champ de données binaire. |
Variable = Objet_Field.GetChunk(Taille) |
retourne tout ou une portion des contenus d'un grand texte ou un objet Field de données binaires. |
<html> <body> <% Dim Obj_Recordset, Objet_Field Set Obj_Recordset = Server.CreateObject("ADODB.Recordset") obj_Recordset.Open "Select * from Fiche","DSN=personnel" With Obj_Recordset Compteur = .Fields.Count - 1 %> <table border="1" cellpadding="3" align="center"> <tr> <th>Nom</th> <th>Valeur</th> <th>Taille actuelle</th> <th>Taille définie</th> <th>Type</th> </tr> <th> </th> <th>Echelle num</th> <th>Précision</th> <th>Attribut</th> <th>Statut</th> </tr> <% Dim i Do While Not .EOF For i = 0 To Compteur For Each Objet_Field In .Fields Response.Write "<tr><th><i>" & Objet_Field.Name & "</i></th>" Response.Write "<td>" & Objet_Field.Value & "</td>" Response.Write "<td>" & Objet_Field.ActualSize & "</td>" Response.Write "<td>" & Objet_Field.DefinedSize & "</td>" Response.Write "<td>" & Objet_Field.Type & "</td></tr>" Response.Write "<tr><td> </td>" Response.Write "<td>" & Objet_Field.NumericScale & "</td>" Response.Write "<td>" & Objet_Field.Precision & "</td>" Response.Write "<td>" & Objet_Field.Attributes & "</td>" Response.Write "<td>" & Objet_Field.Status & "</td></tr>" Next Next .MoveNext Loop .Close End With Set obj_Recordset = Nothing %> </tr> </table> </body> </html> |
L'objet ADO Parameter représente un paramètre ou un argument associé à un objet Command dans une requête paramètrée ou une procédure stockée.
Set obj_Parameter = Server.CreateObject("ADODB.Parameter")
Suite à leur instanciation par la formule ci-dessus, les paramètres peuvent accueillir leurs différentes caractéristiques comme leur nom, leur taille, leur type et en particulier leur valeur.
Il est également possible de créer un objet Parameter directement en utilisant la méthode CreateParameter de l'objet Command. Dans ce cas, les arguments de la méthode permettent d'obtenir directement les caractéristiques du paramètre.
Set Objet_Parameter = _ Object_Command.CreateParameter(Nom, Type, _ ParameterDirectionEnum, Taille, Valeur)
La plupart des fournisseurs supportent les commandes paramétrées. Ces commandes stockent des instructions SQL prédéfinies accessibles à partir des requêtes de la base de données. Ces requêtes paramétrées ou ces procédures stockées comprennent dans leur code différentes variables, dont les valeurs sont récupérées par la propriété Value de l'objet Parameter sur une page Web.
Les CollectionsCREATE PROCEDURE Nom_Procedure @variable varchar(50) @variable2 INT AS SELECT T1.champ,..., T2.champN FROM Table AS T1 INNER JOIN Table2 AS T2 ON T1.Champ = T2.Champ WHERE T1.ChampX = @variable AND T2.ChampX = @variable2 GO
Collection |
---|
Description |
Properties |
contient toutes les objets Property pour une instance spécifique d'un objet. |
Propriété |
---|
Description |
Objet_Parameter.Attributes = Entier |
retourne un entier long indiquant une ou plusieurs caractéristiques de l'objet Parameter. |
Objet_Parameter.Direction = ParameterDirectionEnum |
indiquent si l'objet Parameter représente un paramètre entrée, un paramètre produit, les deux, ou la valeur retournée à partir d'une procédure stockée. |
Objet_Parameter.Name = Nom |
retourne le nom d'un paramètre. |
Objet_Parameter.NumericScale = Echelle |
indique par une valeur octale le nombre de places décimales auxquelles des valeurs numériques seront séparées. |
Objet_Parameter.Precision = Précision |
indique par une valeur octale, le nombre maximal de chiffres utilisé pour représenter des valeurs. |
Objet_Parameter.Size = Taille |
indique la taille maximum en octets ou en caractères d'un objet Parameter. |
Objet_Field.Type = DataTypeEnum |
indique un type de données DataTypeEnum. |
Objet_Parameter.Value = Valeur |
retourne la valeur de l'objet Parameter. |
Méthode |
---|
Description |
Objet_Parameter.AppendChunk Données |
ajoute des données à un paramètre. |
<html> <body> <% Function Verif_coll_Errors(oConn) Dim obj_Error If Err.Number <> oConn.Errors(0).Number Then Exit Function End If If oConn.Errors.Count > 0 Then For Each obj_Error in obj_Connection.Errors If obj_Error.Number <> 0 Then Response.Write "" & _ "<table border="0" cellpadding=1 cellspacing=2 border=1>" & _ "<tr><th>Propriété</th><th>Valeur</th>" & _ "</tr><tr><th>Numéro</th><td>" & obj_Error.Number & "</td></tr>" & _ "<tr><th>Erreur native</th><td>" & obj_Error.NativeError & "</td></tr>" & _ "<tr><th>Etat SQL</th><td>" & obj_Error.SQLState & "</td></tr>" & _ "<tr><th>Source</th><td>" & obj_Error.Source & "</td></tr>" & _ "<tr><th>Description</th><td>" & obj_Error.Description & "</td></tr>" & _ "</table>" Verif_coll_Errors = True End If Next Else Verif_coll_Errors = False End If End Function On Error Resume Next Dim adCmdStoredProc Dim adInteger Dim adVarChar Dim adParamInput adCmdStoredProc = 4 adInteger = 3 adVarChar = 200 adParamInput = 1 Set obj_Connection = Server.CreateObject("ADODB.Connection") obj_Connection.Open "dsn=librairie" Set obj_Command = Server.CreateObject("ADODB.Command") Set obj_Parameter = Server.CreateObject("ADODB.Parameter") Set obj_Recordset = Server.CreateObject("ADODB.Recordset") Set obj_Command.ActiveConnection = obj_Connection obj_Command.CommandText = "choixlivre" obj_Command.CommandType = adCmdStoredProc obj_Parameter.Name = "Editeur" obj_Parameter.Type = adVarChar obj_Parameter.Direction = adParamInput obj_Parameter.Size = 255 obj_Parameter.Value = "EYROLLES" obj_Command.Parameters.Append obj_Parameter Set obj_Parameter = _ obj_Command.CreateParameter("Categorie",adInteger,adParamInput,,2) obj_Command.Parameters.Append obj_Parameter Set obj_Recordset = obj_Command.Execute If Verif_coll_Errors(obj_Connection) = False Then Compteur = obj_Recordset.Fields.Count - 1 %> <table border="1" cellspacing="1" cellpadding="2"> <tr> <th colspan="5">Sélection de la cétégorie n° <%=obj_Command.Parameters.Item("Categorie").Value%> et de l'éditeur <%=obj_Command.Parameters.Item("Editeur").Value%> </th> </tr> <tr> <th>Livre</th> <th>Collection</th> <th>Editeur</th> <th>Catégorie</th> <th>Prix</th> </tr> <% Do While Not obj_Recordset.EOF %> <tr> <% For i = 0 To Compteur %> <td><%=obj_Recordset.Fields.Item(i)%></td> <% Next %> </tr> <% obj_Recordset.MoveNext Loop End If obj_Recordset.Close Set obj_Recordset = Nothing Set obj_Parameter = Nothing Set obj_Command = Nothing obj_Connection.Close Set obj_Connection = Nothing %> </table> </body> </html> <!-- Requête paramétrée dans les requêtes de la base de données : choixlivre --> PARAMETERS NomEditeur Text ( 255 ), CodeCategorie Long; SELECT l.nom, l.collection, l.Editeur, c.nom, l.euros FROM livre AS l INNER JOIN categorie AS c ON l.clecategorie=c.numcategorie WHERE (((l.editeur)=[NomEditeur]) AND ((c.numcategorie)=[CodeCategorie])) ORDER BY l.nom; |
L'objet ADO Property représente une caracéristique dynamique d'un objet ADO qui est défini par un fournisseur.
Un objet ADO possède deux types de propriétés, en l'occurrence programmé et dynamique.
Les premières sont celles exécutées dans ADO et sont immédiatement disponible à partir de n'importe quel objet nouvellement créé, en utilisant la syntaxe ci-dessous.
Objet.Property
Les propriétés programmées n'apparaissent pas comme des objets Property dans un collection Properties. Bien qu'il soit possible de modifier leur valeur, en revanche la modification de leurs caractéristiques est impossible.
Objet.Property = Valeur
Les secondes sont définies par le fournisseur de données sous-jacent, et apparaissent dans la collection ¨Properties pour l'objet ADO approprié. Les propriétés additionnelles se présentent comme des objets Property de la collection Properties de l'objet Recordset.
Les propriétés dynamiques sont disponibles à partir de l'une ou l'autre des expressions suivantes :
Les PropriétésObjet.Properties(Index) Objet.Properties("Nom")
Propriété |
---|
Description |
Objet_Property.Attributes = Entier |
retourne un entier long indiquant les caractéristiques de la propriété spécifique au fournisseur. |
Objet_Property.Name = Nom |
retourne une chaîne de caractères qui identifie la propriété. |
Objet_Property.Type = DataTypeEnum |
retourne un entier indiquant le type de données de la propriété. |
Objet_Property.Value = Valeur |
retourne un variant correspondant à la valeur de la propriété. |
<html> <body> <% Dim obj_Connection Dim obj_Recordset Dim ch_Source Dim ch_SQL set obj_Connection=server.CreateObject("ADODB.connection") ch_Source = "Provider=Microsoft.Jet.OLEDB.4.0" ch_Source = ch_Source & "; Data Source=C:\Base_donnee\Personnel.mdb" obj_Connection.connectionstring = ch_Source obj_Connection.Open set obj_Recordset = server.CreateObject("ADODB.recordset") ch_SQL = "SELECT Nom, Prenom FROM Fiche;" obj_Recordset.Open ch_SQL,obj_Connection Response.Write "<h3>Personnels :</h3>" Do until obj_Recordset.EOF Response.Write "<b>" & obj_Recordset("Nom") & "</b> " _ & obj_Recordset("Prenom") & "<br>" obj_Recordset.MoveNext Loop Response.Write "<h3>Propriétés de l'objet Connection :</h3>" _ & "<table border=1>" _ & "<tr><th>N°</th>" _ & "<th>Type</th>" _ & "<th>Attribut</th>" _ & "<th>Nom</th>" _ & "<th>Valeur</th></tr>" dim i i = 0 for each obj_Property in obj_Connection.Properties i = i + 1 Response.Write "<tr><td>" & i & "</td>" Response.Write "<td>" & obj_Property.type & "</td>" Response.Write "<td>" & obj_Property.attributes & "</td>" Response.Write "<td>" & obj_Property.name & "</td>" Response.Write "<td>" & obj_Property.value & "</td></tr>" Next Response.Write "</table>" %> </body> </html> |
L'objet ADO Record représente un enregistrement dans une base de données, un fichier ou un répertoire dans un système de fichiers.
Set Objet_Record = Server.CreateObject("ADODB.Record")
ActiveX Data Objects permet de gérer des enregistrements provenant aussi bien des données structurées, telles que ceux des bases de données, que des données semi-structurées organisées en arborescence et possédant des noeuds à plusieurs niveaux comme dans la cas d'un système de fichiers.
L'objet Record, dans cette dernière situation correspond à un noeud unique de l'arborescence, comme un fichier ou un répertoire.
Si le noeud contient d'autres répertoires ou fichiers, alors cette collection de noeuds enfants correspond à un jeu d'enregistrements, autrement dit à un objet Recordset.
Set Obj_Recordset = Objet_Record.GetChildren
D'autre-part, les propriétés d'un noeud enfant sont assimilés à une collection de champs, soit à une collection Fields.
Les CollectionsCollection |
---|
Description |
Fields |
contient une colonne de données avec un type commun. |
Properties |
contient toutes les objets Property pour une instance spécifique d'un objet. |
Propriété |
---|
Description |
Objet_Record.ActiveConnection = Objet_Connection |
indique l'objet Connection d'appartenance de l'objet en cours. |
Objet_Record.Mode = ConnectModeEnum |
indique les autorisations de modification de données de l'objet Record. |
Objet_Record.ParentURL = Adresse_URL |
retourne une adresse URL absolue qui pointe l'enregistrement parent de l'objet Record en cours. |
Objet_Record.RecordType = RecordTypeEnum |
Objet_Record.Source = Chaîne de caractères |
retourne la source de données de l'enregistrement en cours. |
Objet_Record.State = ObjectStateEnum |
retourne l'état de l'objet Record, c'est-à-dire s'il est ouvert ou fermé. |
Méthode |
---|
Description |
Objet_Record.Cancel |
annule l'exécution de l'appel en attente. |
Objet_Record.Close |
ferme l'objet Record ouvert ainsi que tous les objets qui en dépendent. |
Objet_Record.CopyRecord(Source, Destination, Nom_Utilisateur, Mot_Passe, CopyRecordOptionsEnum, Bool_Asynchrone) |
copie un fichier ou un répertoire et son contenu vers une destination. |
Objet_Record.DeleteRecord Source, Bool_Asynchrone |
supprime l'entité représentée par un enregistrement. |
Set Obj_Recordset = Objet_Record.GetChildren |
retourne un objet Recordset dont les lignes représentent les fichiers et les sous-répertoires du répertoire représenté par l'objet Record. |
Objet_Record.MoveRecord(Source, Destination, Nom_Utilisateur, Mot_Passe, MoveRecordOptionsEnum, Bool_Asynchrone) |
déplace un fichier ou un répertoire et son contenu vers un destination. |
Objet_Record.Open Source, ActiveConnection, ConnectModeEnum, RecordCreateOptionsEnum, RecordOpenOptionsEnum, Nom_Utilisateur, Mot_Passe |
ouvre un objet Record existant ou en crée un nouveau. |
<html> <body> <% Dim Objet_Record, Champ Set Objet_Record= Server.CreateObject("ADODB.Record") Objet_Record.Open "", "URL=http://localhost/repertoire" Response.Write "<table border=1>" For each Champ in Objet_Record.Fields Response.Write "<tr><td>" & Champ.Name & _ "</td><td>" & Champ.Value & _ "</td></tr>" Next Response.Write "</table>" Objet_Record.Close Set Objet_Record = Nothing %> </body> </html> |
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.
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
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.
Les CollectionsDo While Not Obj_Recordset.EOF ' Atteindre Fin de Fichier Response.Write Obj_Recordset.Fields("Nom_Champs") Obj_Recordset.MoveNext ' Enregistrement suivant Loop
Collection |
---|
Description |
Fields |
contient une colonne de données avec un type commun. |
Properties |
contient toutes les objets Property pour une instance spécifique d'un objet. |
Propriété |
---|
Description |
Objet_Recordset.AbsolutePage = PositionEnum |
retourne la page de l'enregistrement en cours. |
Objet_Recordset.AbsolutePosition = PositionEnum |
retourne la position de l'enregistrement en cours. |
Objet_Command = Objet_Recordset.ActiveCommand |
retourne l'objet Command qui a créé l'objet Recordset correspondant. |
Set Objet_Recordset.ActiveConnection = Objet_Connection |
indique l'objet Connection d'appartenance de l'objet en cours. |
Objet_Recordset.BOF = True | False |
indique que l'enregistrement en cours est positionné avant le premier de l'objet Recordset. |
Objet_Recordset.Bookmark = Variant_Signet |
retourne un signet identifiant d'une façon unique l'enregistrement en cours, ou assigne un signet à l'enregistrement en cours. |
Objet_Recordset.CacheSize = Nombre |
retourne le nombre d'enregistrements d'un objet Recordset stockés en mémoire cache. |
Objet_Recordset.CursorLocation = CursorLocationEnum |
retourne ou détermine la position du moteur de curseur. |
Objet_Recordset.CursorType = CursorTypeEnum |
indique le type de curseur à utiliser avec un objet Recordset. |
Objet_Recordset.DataMember = Chaîne_de_caractères |
retourne le nom du membre-donnée à extraire de l'objet Recordset défini par la propriété DataSource. |
Objet_Recordset.DataSource = Objet |
indique qu'un objet contenant des données doit être assimilé à un objet Recordset. |
Objet_Recordset.EditMode = EditModeEnum |
retourne le statut de modification de l'enregistrement en cours. |
Objet_Recordset.EOF = True | False |
indique que l'enregistrement en cours a atteint le dernier enregistrement d'un objet Recordset. |
Objet_Recordset.Filter = Valeur |
détermine un filtre de données dans un objet Recordset. La valeur peut contenir une chaîne de caractères composée de différentes clauses liées par des opérateurs AND ou OR, un tableau de signets pointant vers des enregistrements ou une constante FilterGroupEnum. |
Objet_Recordset.Index = Cnaîne de caractères |
retourne le nom de l'index en cours pour l'objet Recordset. |
Objet_Recordset.LockType = LockTypeEnum |
retourne le type de verrouillage des enregistrements lors des modifications. |
Objet_Recordset.MarshalOptions = MarshalOptionsEnum |
indique les enregistrement devant être renvoyés au serveur. |
Objet_Recordset.MaxRecords = Nombre |
indique le nombre maximal d'enregistrements à retourner à l'objet Recordset pour une même requête. |
Objet_Recordset.PageCount = Nombre |
retourne le nombre de pages de données contenues dans l'objet Recordset. |
Objet_Recordset.PageSize = Nombre |
retourne le nombre d'enregistrements contenus dans la page de l'objet Recordset. |
Objet_Recordset.RecordCount = Nombre |
retourne le nombre en cours des enregistrements présents dans un objet Recordset. |
Objet_Recordset.Sort = Chaîne de caractères |
indique un ou plusieurs noms de champs permettant d'effectuer un tri sur un objet Recordset. |
Objet_Recordset.Source = Chaîne de caractères |
retourne la source de données d'un jeu d'enregistrements. |
Objet_Recordset.State = ObjectStateEnum |
retourne l'état de l'objet Recordset, c'est-à-dire s'il est ouvert ou fermé. |
Objet_Recordset.Status = RecordStatusEnum |
retourne le statut de l'enregistrement en cours en ce qui concerne les mises à jour par lots ou autres opérations globales. |
Objet_Recordset.StayInSync = True | False |
indique dans un objet Recordset hiérarchique, si la ligne parent doit changer lorsque l'ensemble des enregistrements enfants sous-jacents change. |
Méthode |
---|
Description |
Objet_Recordset.AddNew Liste_champs, Valeurs |
crée un nouvel enregistrement pour un objet Recordset pouvant être mis à jour. |
Objet_Recordset.Cancel |
annule l'exécution de l'appel en attente. |
Objet_Recordset.CancelBatch [AffectEnum] |
annule une mise à jour par lots en attente. |
Objet_Recordset.CancelUpdate |
annule toutes les modifications appliquées à l'enregistrement en cours ou à un nouvel enregistrement avant d'appeler la méthode Update. |
Objet_Recordset.Clone LockTypeEnum |
crée un objet Recordset en double à partir d'un objet Recordset existant. |
Objet_Recordset.Close |
ferme un objet Recordset ouvert ainsi que tous les objets en dépendant. |
Objet_Recordset.CompareBookmarks Signet, Signet2 |
compare deux signets et retourne une indication CompareEnum de leurs valeurs relatives. |
Objet_Recordset.Delete AffectEnum |
supprime l'enregistrement en cours ou un groupe d'enregistrements. |
Objet_Recordset.Find(Critère, Saut_ligne, SearchDirectionEnum, Démarrage) |
recherche dans un objet Recordset l'enregistrement correspondant aux critères spécifiés en argument. |
Objet_Recordset.GetRows[(GetRowsOptionEnum, BookmarkEnum, Enregistrements)] |
extrait plusieurs enregistrements d'un objet Recordset et les retournent dans un tableau. |
Objet_Recordset.GetString(StringFormatEnum, Nb_Lignes, Délimiteur_Colonnes, Délimiteur_Lignes, Expression_Val_Null) |
retourne l'objet Recordset sous forme de chaîne de caractères. |
Objet_Recordset.Move Nb_Enregistrements, BookmarkEnum |
déplace la position de l'enregistrement en cours. |
Objet_Recordset.MoveFirst |
déplace l'enregistrement en cours sur le premier enregistrement de l'objet Recordset. |
Objet_Recordset.MoveLast |
déplace l'enregistrement en cours sur le dernier enregistrement de l'objet Recordset. |
Objet_Recordset.MoveNext |
déplace l'enregistrement en cours sur le prochain enregistrement de l'objet Recordset. |
Objet_Recordset.MovePrevious |
déplace l'enregistrement en cours sur le précédent enregistrement de l'objet Recordset. |
Objet_Recordset.NextRecordset Nb_Enregistrements |
efface l'objet Recordset en cours et retourne l'objet Recordset suivant. |
Objet_Recordset.Open Source, ActiveConnection, CursorTypeEnum, LockTypeEnum, Options |
ouvre un curseur. L'argument Source peut être un objet Command valide, une déclaration SQL, un nom de table, un appel de procédure stocké, un URL, ou le nom d'un fichier ou encore l'objet Stream contenant un objet Recordset stocké avec persistance. L'argument ActiveConnection peut être un nom d'objet Connection valide ou une chaîne de caractères contenant des paramètres de la propriété ConnectionString, Enfin, l'argument Options peut combiner un ou plusieurs CommandTypeEnum ou ExecuteOptionEnum avec l'opérateur de niveau de bit AND. |
Objet_Recordset.Requery Options |
exécute une requête permettant de mettre à jour un objet Recordset. L'argument Options est identique à celui ci-dessus. |
Objet_Recordset.Resync AffectEnum, ResyncEnum |
actualise les données de l'objet Recordset en cours à partir de la base de données sous-jacentes. |
Objet_Recordset.Save Destination, PersistFormatEnum |
sauvegarde l'objet Recordset dans un fichier. L'argument Destination correspond à un chemin complet d'un fichier où l'objet Recordset a été sauvegardé, ou encore une référence vers un objet Stream. |
Objet_Recordset.Seek Tableau_Valeurs, SeekEnum |
recherche dans l'index d'un objet Recordset pour rapidement loccaliser la ligne qui correspond aux valeurs spécifiées et déplace la position de la ligne courante vers cette ligne. |
Objet_Recordset.Supports(CursorOptionEnum) |
définit si un objet Recordset spécifié prend en charge un type de fonctionnalité particulier. |
Objet_Recordset.Update Enregistrements, Valeurs |
sauvegarde des modifications apportées à l'enregistrement en cours d'un objet Recordset. |
Objet_Recordset.UpdateBatch AffectEnum |
sauvegarde toutes les mises à jour par lots en attente. |
Evénement |
---|
Description |
Objet_Recordset.EndOfRecordset Plus_Lignes, EventStatusEnum, Recordset |
est appelé lors d'une tentative de déplacement vers un enregistrement situé au-delà de la fin d'un objet Recordset. |
Objet_Recordset.FetchComplete Erreur, EventStatusEnum, Recordset |
est appelé après que tous les enregistrements dans une opération asynchrone de longue durée ont été extraits. |
Objet_Recordset.FetchProgress Progression, Progression_Max, EventStatusEnum, Recordset |
est appelé périodiquement au cours d'une opération asynchraone de longue durée pour indiquer le nombre d'enregistrements extraits. |
Objet_Recordset.WillChangeField Nb_Fields, Fields, EventStatusEnum, Recordset |
est appelé avant qu'une opérationen attente ne modifie la valeur d'un ou plusieurs objets Field. |
Objet_Recordset.FieldChangeComplete Nb_Fields, Fields, Erreur, EventStatusEnum, Recordset |
est appelé après la modification de la valeur d'un ou plusieurs objets Field. |
Objet_Recordset.WillChangeRecord EventReasonEnum, Nb_Records, EventStatusEnum, Recordset |
est appelé avant qu'une opération en attente ne modifie un objet Recordset. |
Objet_Recordset.RecordChangeComplete EventReasonEnum, Nb_Records, Erreur, EventStatusEnum, Recordset |
est appelé après qu'un ou plusieurs enregistrements ont été modifiés. |
Objet_Recordset.WillChangeRecordset EventReasonEnum, EventStatusEnum, Recordset |
est appelé avant qu'une opération en attente ne modifie l'objet Recorset. |
Objet_Recordset.RecordsetChangeComplete EventReasonEnum, Erreur, EventStatusEnum, Recordset |
est appelé après que l'objet Recordset a été modifié. |
Objet_Recordset.WillMove EventReasonEnum, EventStatusEnum, Recordset |
est appelé avant que l'opération en attente ne change la position en cours. |
Objet_Recordset.MoveComplete EventReasonEnum, Erreur, EventStatusEnum, Recordset |
est appelé après qu'un ou plusieurs en registrements ont été modifiés. |
<html> <body> <% Set obj_Recordset = Server.CreateObject("ADODB.Recordset") obj_Recordset.Open "Select * from Fiche","DSN=personnel" %> <table border="1" cellpadding="3" align="center"> <tr> <td colspan="6">Fiches signalétiques des personnels</td> </tr> <tr> <td>Nom</td> <td>Prénom</td> <td>Age</td> <td>Qualité</td> <td>eMail</td> <td>Adresse</td> </tr> <% Do While Not obj_Recordset.EOF %> <tr> <td><%=obj_Recordset("Nom")%></td> <td><%=obj_Recordset("Prenom")%></td> <td><%=obj_Recordset("Age")%></td> <td><%=obj_Recordset("Qualite")%></td> <td><%=obj_Recordset("eMail")%></td> <td><%=obj_Recordset("Adresse")%></td> </tr> <% obj_Recordset.MoveNext Loop obj_Recordset.Close Set obj_Recordset = Nothing %> </tr> </table> </body> </html> |
L'objet Stream fournit les moyens de lire, écrire et gérer un flux d'octets. Ce dernier peut être composé de données textuelles ou binaires et n'est limité que dans la taille par les ressources du système.
Objet_Stream.Propriété | Méthode
Un objet Stream est utilisé pour contenir :
Un objet Stream peut également recevoir des résultats provenant d'un fournisseur OLE DB, autre qu'un objet Recordset, comme du XML par exemple.
Dans des sources de données semi-structurées comme un système de fichiers ou de courriers électroniques, un enregistrement peut avoir un flux de fichier binaire par défaut associées au contenu d'un fichier ou d'un courrier électronique.
Un objet Stream peut être utilisé pour manipuler des champs ou des enregistrements contenant ces flux de données.
Un objet Stream peut être obtenu à partir d'une adresse URL pointant vers un objet qui contient des données binaires ou textuelles. Cet objet peut être un document simple, un objet Record représentant un fichier ou un répertoire.
Un objet Stream par défaut peut être ouvert depuis un objet Record ou Recordset. Il est possible d'obtenir le flux par défaut associé à un enregistrement lorsque l'objet afférent est ouvert, pour éliminer un aller-retour pour l'ouverture du flux.
Les objets Stream, obtenu par instanciation, peuvent être utilisés pour stocker des données au bénéfice d'une application. Différent d'un flux associé à une adresse URL ou du flux par défaut d'un enregistrement, un objet Stream instancié ne possède aucune association avec une source sous-jacente par défaut.
Les PropriétésSet Objet_Stream = Server.CreateObject("ADODB.Stream")
Propriété |
---|
Description |
Objet_Stream.Charset = "jeu_de_caractères" |
indique le jeu de caractères permettant de convertir le contenu textuel d'un objet Stream. |
Objet_Stream.EOS = True | False |
indique par une valeur booléenne si la position courante a atteint la fin du flux (End Of Stream). |
Objet_Stream.LineSeparator = LineSeparatorEnum |
indique le caractère utilisé comme séparateur pour un flux textuel. |
Objet_Stream.Mode = ConnectModeEnum |
indique les autorisations de modification des données de l'objet Stream. |
Objet_Stream.Position = Position |
indique par un entier long, la position courante dans l'objet Stream. |
Objet_Stream.Size = Taille |
indique par un entier long, la taille de l'objet Stream en octets ou en caractères. |
Objet_Stream.State = ObjectStateEnum |
indique si l'objet est dans un état ouvert ou fermé. |
Objet_Stream.Type = StreamTypeEnum |
indique le type de données contenues dans l'objet Stream. |
Méthode |
---|
Description |
Objet_Stream.Cancel |
annule l'exécution de l'appel en attente. |
Objet_Stream.Close |
ferme un objet ouvert ainsi que tous les objets qui en dépendent. |
Objet_Stream.CopyTo Destination_oStream, Nombre_Caractères |
copie le nombre de caractères ou d'octets vers un autre objet Stream. |
Objet_Stream.Flush |
force l'écriture des données du flux dans l'objet sous-jacent. |
Objet_Stream.LoadFromFile Fichier |
charge le contenu d'un fichier existant dans l'objet Stream. |
Objet_Stream.Open Source, ConnectModeEnum, StreamOpenOptionsEnum, Nom_Utilisateur, Mot_Passe |
ouvre un objet Stream afin de manipuler le flux de données binaires ou textuelles. |
Objet_Stream.Read(Nombre_Octets) |
lit un nombre d'octets spécifiés dans un objet Stream binaire. |
Objet_Stream.ReadText(Nombre_Caractères) |
lit un nombre de caractères spécifiés dans un objet Stream textuel. |
Objet_Stream.SaveToFile Fichier, SaveOptionsEnum |
sauvegarde le contenu binaire d'un objet Stream ouvert. |
Objet_Stream.SetEOS |
place la position courante à la fin du flux. |
Objet_Stream.SkipLine |
saute une ligne lors de la lecture d'un objet Stream textuel. |
Objet_Stream.Stat(StatStgEnum, StatFlag) |
retourne un entier représentant une information à propos de l'objet Record. |
Objet_Stream.Write Donnée_binaire |
écrit des données binaires dans l'objet Stream. |
Objet_Stream.WriteText Donnée, StreamWriteEnum |
écrit du texte dans un objet Stream. |
<html> <body> <% Dim objet_Stream Dim Select_Fichier Dim adTypeText adTypeText = 2 Select_Fichier = "c:\autoexec.bat" set objet_Stream = Server.CreateObject("ADODB.Stream") objet_Stream.Open objet_Stream.LoadFromFile Select_Fichier objet_Stream.Type = adTypeText Objet_Stream.Charset = "ISO-8859-1" Taille_Fichier = objet_Stream.Size Affiche_Contenu= objet_Stream.ReadText Response.Write "Fichier : " & Select_Fichier & "<br>" Response.Write "Taille : " & Taille_Fichier & " Octets<br>" Response.Write "Contenu : " & Affiche_Contenu objet_Stream.Close set objet_Stream = nothing %> </body> </html> |
Les collections ADO contiennent chacune d'aucun à plusieurs objets du même type.
Toutes ses collections possèdent des propriétés identiques, en l'occurrence Count comptabilisant le nombre d'éléments, et Item indiquant un membre spécifique par un index ou son nom.
Il est possible de parcourir les objets d'une collection par l'intermédiaire d'un instruction de boucles For Each...Next.
For Each Objet In Collection ' Instructions... Next
La collection ADO Errors contient tous les objets Error créés en réponse à un seul échec relatif au fournisseur.
Objet_Connection.Errors.Propriété | Méthode
Seul l'objet Connection permet d'accéder à la collection Errors. Bien que paraissant restrictif, il n'est pas obligatoire de faire appel à un objet Connection explicite puisque la propriété ActiveConnection des objets Command, Record ou Recordset autorise l'accès à la collection Errors.
Objet.ActiveConnection.Errors
Lorsqu'une seconde erreur relative à un autre objet ADO intervient, la collection Errors est réinitialisée et à nouveau remplie par les caractéristiques de la nouvelle erreur.
Le fournisseur OLE DB peut également insérer des informations ou des avertissements à l'index zéro de la collection Errors.
Les PropriétésPropriété |
---|
Description |
Errors.Count |
indique le nombre d'objets Error d'une collection. |
Errors.Item(Index) |
retourne un élément de la collection. |
Méthode |
---|
Description |
Errors.Clear |
supprime tous les objet Error de la collection. |
Errors.Refresh |
met à jour les objets Error dans la collection afin de reflèter les objets disponibles à partir du fournisseur et propre à ce-dernier. |
<html> <head> <% Function Verif_coll_Errors(obj_Connection) Dim obj_Error If Err.Number <> obj_Connection.Errors(0).Number Then Exit Function End If If obj_Connection.Errors.Count > 0 Then For Each obj_Error in obj_Connection.Errors If obj_Error.Number <> 0 Then Response.Write "" & _ "<table border="0" cellpadding=1 cellspacing=2 border=1>" & _ "<tr><th>Propriété</th><th>Valeur</th>" & _ "</tr><tr><th>Numéro</th><td>" & obj_Error.Number & "</td></tr>" & _ "<tr><th>Erreur native</th><td>" & obj_Error.NativeError & "</td></tr>" & _ "<tr><th>Etat SQL</th><td>" & obj_Error.SQLState & "</td></tr>" & _ "<tr><th>Source</th><td>" & obj_Error.Source & "</td></tr>" & _ "<tr><th>Description</th><td>" & obj_Error.Description & "</td></tr>" & _ "</table>" Verif_coll_Errors = True End If Next Else Verif_coll_Errors = False End If End Function On Error Resume Next %> </head> <body> <% Dim Ch_SQL Ch_SQL = "SELECT Noms, Prenom, Age, Qualites, eMail, Adresse" _ & "FROM Fiche","DSN=personnel" Set obj_Recordset = Server.CreateObject("ADODB.Recordset") obj_Recordset.Open Ch_SQL If Verif_coll_Errors(obj_Recordset.ActiveConnection) = False Then %> <table border="1" cellpadding="3" align="center"> <tr> <td colspan="6">Fiches signalétiques des personnels</td> </tr> <tr> <td>Nom</td> <td>Prénom</td> <td>Age</td> <td>Qualité</td> <td>eMail</td> <td>Adresse</td> </tr> <% Do While Not obj_Recordset.EOF %> <tr> <td><%=obj_Recordset("Nom")%></td> <td><%=obj_Recordset("Prenom")%></td> <td><%=obj_Recordset("Age")%></td> <td><%=obj_Recordset("Qualite")%></td> <td><%=obj_Recordset("eMail")%></td> <td><%=obj_Recordset("Adresse")%></td> </tr> <% obj_Recordset.MoveNext Loop End If obj_Recordset.Close Set obj_Recordset = Nothing %> </tr> </table> </body> </html> |
La collection ADO Fields contient tous les objets Field correspondant chacun à une colonne d'un jeu d'enregistrements (Recordset) ou d'un seul enregistrement (Record).
Set objet_Fields = objet_Recordset.Fields
L'extraction des valeurs de champs peut s'effectuer de différentes façons. Cependant, si la position des champs est connue dans la table de données, l'accès par un index reste la méthode la plus performante.
objet_Field = obj_Recordset.Fields.Item("Nom_Champ") objet_Field = obj_Recordset.Fields("Nom_Champ") objet_Field = obj_Recordset("Nom_Champ") objet_Field = obj_Recordset.Fields.Item(Index) objet_Field = obj_Recordset.Fields(Index) objet_Field = obj_Recordset(Index)
Dans le cas de données structurées comme des bases de données SQL, la colletion Fields contient des enregistrements (objets Field) correspondant à des colonnes de données et contiennent des informations relatives aux colonnes telles que leur type de données, leur taille, leur nom, etc..
Dans le cas de données semi-structurées comme un système de fichiers, la collection Fields correspond à l'ensemble des propriétés de l'objet. Ainsi, chaque propriété à l'image ddu nom, de la taille, des attributs etc. constitue un enregistrement spécifique dans la collection.
Les PropriétésPropriété |
---|
Description |
Fields.Count |
indique le nombre d'objets Field d'une collection. |
Fields.Item(Index) |
retourne un élément de la collection. |
Méthode |
---|
Description |
Fields.Append Nom_Field, Type, Taille_Champs, FieldAttributeEnum, Valeur |
ajoute un objet à une collection. |
Fields.CancelUpdate |
annule toutes les modifications apportées à l'enregistrement en cours ou à un nouvel enregistrement avant d'appeler la méthode Update |
Fields.Delete Field |
supprime un objet de la collection. |
Fields.Refresh |
met à jour les objets d'une collection afin de reflèter les objets disponibles à partir du fournisseur et spécifique à ce-dernier. |
Fields.Resync ResyncEnum |
actualise les données de l'objet Recordset en cours à partir de la base de données sous-jacente. |
Fields.Update Fields, Valeurs |
sauvegarde les modifications apportées à l'enregistrement en cours d'un objet Recordset. |
<html> <body> <% Set obj_Recordset = Server.CreateObject("ADODB.Recordset") obj_Recordset.Open "Select * from Fiche","DSN=personnel" With Obj_Recordset Compteur = .Fields.Count - 1 %> <table border="1" cellpadding="3" align="center"> <tr> <td colspan="7">Fiches signalétiques des personnels</td> </tr> <tr> <td>N°</td> <td>Nom</td> <td>Prénom</td> <td>Age</td> <td>Qualité</td> <td>eMail</td> <td>Adresse</td> </tr> <% Dim i Do While Not .EOF %> <tr> <% For i = 0 To Compteur %> <td><%=.Fields.Item(i)%></td> <% Next %> </tr> <% .MoveNext Loop .Close End With Set obj_Recordset = Nothing %> </tr> </table> </body> </html> |
La collection ADO Parameters contient tous les objets Parameter d'un objet Command.
Parameters.Propriété | Méthode
Les paramètres sont généralement utilisées avec des procédures stockées dans des bases de données SQL et dans ce cas fonctionnent comme des arguments transmettant leur valeur à une fonction ou une procédure SQL.
La création des paramètres passe par l'objet Command associé à sa méthode CreateParameter.
Set Objet_Parameter = _ Objet.Command.CreateParameter(Nom, Type, Direction, Taille, Valeur) |
Ensuite, il ne reste plus qu'à insérer les paramètres ainsi créés dans le collection Parameters par l'intermédiaire de sa méthode Append.
Objet_Command.Parameters.Append Objet_parameter
L'accès à la valeur d'un paramètre précis peut s'effectuer soit par son nom ou son index à partir de la collection.
Valeur = Object_Command.Parameters(Index) Valeur = Object_Command.Parameters("Nom")
Enfin, il est également possible de modifier la valeur d'un paramètre de la même façon.
Object_Command.Parameters(Index) = Valeur Object_Command.Parameters("Nom") = Valeur
L'index de la collection Parameter commençant par la valeur zéro, le premier paramètre est accessible à partir de zéro.
Les PropriétésPropriété |
---|
Description |
Parameters.Count |
indique le nombre d'objets Parameter d'une collection. |
Parameters.Item(Index) |
retourne un élément de la collection. |
Méthode |
---|
Description |
Fields.Append Nom_Field, Type, Taille_Champs, FieldAttributeEnum, Valeur |
ajoute un objet à une collection. |
Parameters.Delete Nom_Field |
supprime un objet de la collection. |
Parameters.Refresh |
met à jour les objets Parameter dans la collection afin de reflèter les objets disponibles à partir du fournisseur et propre à ce-dernier. |
<html> <body> <% Function Verif_coll_Errors(oConn) Dim obj_Error If Err.Number <> oConn.Errors(0).Number Then Exit Function End If If oConn.Errors.Count > 0 Then For Each obj_Error in obj_Connection.Errors If obj_Error.Number <> 0 Then Response.Write "" & _ "<table border="0" cellpadding=1 cellspacing=2 border=1>" & _ "<tr><th>Propriété</th><th>Valeur</th>" & _ "</tr><tr><th>Numéro</th><td>" & obj_Error.Number & "</td></tr>" & _ "<tr><th>Erreur native</th><td>" & obj_Error.NativeError & "</td></tr>" & _ "<tr><th>Etat SQL</th><td>" & obj_Error.SQLState & "</td></tr>" & _ "<tr><th>Source</th><td>" & obj_Error.Source & "</td></tr>" & _ "<tr><th>Description</th><td>" & obj_Error.Description & "</td></tr>" & _ "</table>" Verif_coll_Errors = True End If Next Else Verif_coll_Errors = False End If End Function On Error Resume Next Dim adCmdStoredProc Dim adInteger Dim adVarChar Dim adParamInput adCmdStoredProc = 4 adInteger = 3 adVarChar = 200 adParamInput = 1 Set obj_Connection = Server.CreateObject("ADODB.Connection") obj_Connection.Open "dsn=librairie" Set obj_Command = Server.CreateObject("ADODB.Command") Set obj_Parameter = Server.CreateObject("ADODB.Parameter") Set obj_Recordset = Server.CreateObject("ADODB.Recordset") Set obj_Command.ActiveConnection = obj_Connection obj_Command.CommandText = "choixlivre" obj_Command.CommandType = adCmdStoredProc obj_Parameter.Name = "Editeur" obj_Parameter.Type = adVarChar obj_Parameter.Direction = adParamInput obj_Parameter.Size = 255 obj_Parameter.Value = "EYROLLES" obj_Command.Parameters.Append obj_Parameter Set obj_Parameter = _ obj_Command.CreateParameter("Categorie",adInteger,adParamInput,,2) obj_Command.Parameters.Append obj_Parameter Set obj_Recordset = obj_Command.Execute If Verif_coll_Errors(obj_Connection) = False Then Compteur = obj_Recordset.Fields.Count - 1 %> <table border="1" cellspacing="1" cellpadding="2"> <tr> <th colspan="5">Sélection de la cétégorie n° <%=obj_Command.Parameters.Item("Categorie").Value%> et de l'éditeur <%=obj_Command.Parameters.Item("Editeur").Value%> </th> </tr> <tr> <th>Livre</th> <th>Collection</th> <th>Editeur</th> <th>Catégorie</th> <th>Prix</th> </tr> <% Do While Not obj_Recordset.EOF %> <tr> <% For i = 0 To Compteur %> <td><%=obj_Recordset.Fields.Item(i)%></td> <% Next %> </tr> <% obj_Recordset.MoveNext Loop End If obj_Recordset.Close Set obj_Recordset = Nothing Set obj_Parameter = Nothing Set obj_Command = Nothing obj_Connection.Close Set obj_Connection = Nothing %> </table> </body> </html> <!-- Requête paramétrée dans les requêtes de la base de données : choixlivre --> PARAMETERS NomEditeur Text ( 255 ), CodeCategorie Long; SELECT l.nom, l.collection, l.Editeur, c.nom, l.euros FROM livre AS l INNER JOIN categorie AS c ON l.clecategorie=c.numcategorie WHERE (((l.editeur)=[NomEditeur]) AND ((c.numcategorie)=[CodeCategorie])) ORDER BY l.nom; |
La collection ADO Properties contient tous les objets Property d'une instance d'objet.
Properties.Propriété | Méthode
Les objets ADO, Connection, Command, Recordset, Record, et Field possèdent une collection Properties constituée d'objets Property,. Chacun de ces-derniers correspond à une caractéristique de l'objet ADO, spécifique au fournisseur.
ADO fonctionnant avec différents types de sources de données, la collection Properties devient dynamique, puisque chacun de ses objets Property sont susceptibles de varier selon le fournisseur OLE DB sollicité.
Les propriétés dynamiques sont disponibles à partir de l'une ou l'autre des expressions suivantes :
Les PropriétésObjet.Properties(Index) Objet.Properties("Nom")
Propriété |
---|
Description |
Properties.Count |
indique le nombre d'objets Property d'une collection. |
Properties.Item(Index) |
retourne un élément de la collection. |
Méthode |
---|
Description |
Properties.Refresh |
met à jour les objets Property dans la collection afin de reflèter les objets disponibles à partir du fournisseur et propre à ce-dernier. |
<html> <body> <% Dim obj_Connection Dim obj_Recordset Dim ch_Source Dim ch_SQL set obj_Connection=server.CreateObject("ADODB.connection") ch_Source = "Provider=Microsoft.Jet.OLEDB.4.0" ch_Source = ch_Source & "; Data Source=C:\Base_donnee\Personnel.mdb" obj_Connection.connectionstring = ch_Source obj_Connection.Open set obj_Recordset = server.CreateObject("ADODB.recordset") ch_SQL = "SELECT Nom, Prenom FROM Fiche;" obj_Recordset.Open ch_SQL,obj_Connection Response.Write "<h3>Personnels :</h3>" Do until obj_Recordset.EOF Response.Write "<b>" & obj_Recordset("Nom") & "</b> " _ & obj_Recordset("Prenom") & "<br>" obj_Recordset.MoveNext Loop Response.Write "<h3>Propriétés de l'objet Connection :</h3>" _ & "<table border=1>" _ & "<tr><th>N°</th>" _ & "<th>Type</th>" _ & "<th>Attribut</th>" _ & "<th>Nom</th>" _ & "<th>Valeur</th></tr>" dim i i = 0 for each obj_Property in obj_Connection.Properties i = i + 1 Response.Write "<tr><td>" & i & "</td>" Response.Write "<td>" & obj_Property.type & "</td>" Response.Write "<td>" & obj_Property.attributes & "</td>" Response.Write "<td>" & obj_Property.name & "</td>" Response.Write "<td>" & obj_Property.value & "</td></tr>" Next Response.Write "</table>" %> </body> </html> |
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 | Constante |
---|---|
Description | |
Dynamic | adOpenDynamic (1) |
permet de rendre visible les ajouts, les changements et les suppressions aux autres utilisateurs, et également tous les modes de déplacement à l'intérieur d'un objet Recordset ne dépendant pas de signets. | |
Keyset | adOpenKeyset (2) |
se comporte comme un curseur dynamique, hormis qu'il empêche de rendre visible les enregistrements ajoutés par des utilisateurs, et empêche l'accès aux enregistrements que d'autres utilisateurs suppriment. Les données modifiées par d'autres utilisateurs restent toujours visibles. Il permet tous les modes de mouvement à l'intérieur d'un jeu d'enregistrements. | |
Static | adOpenStatic (3) |
fournit une copie statique d'un jeu d'enregistrements utilisé pour rechercher des données ou générer des rapports. Tous les types de mouvement sont autorisés à l'intérieur d'un objet Recordset. Ajout, modification et suppression par d'autres utilisateurs restent toujours invisibles. Il est le seul type de curseur autorisé lors de l'ouverture d'un objet Recordset côté-client. | |
Forward-only | adOpenForwardOnly (4) |
permet seulement un défilement vers l'avant à l'intérieur d'un objet Recordset. Les ajouts, les modifications ou les suppressions par d'autres utilisateurs ne restent pas visibles. Il améliore les performances dans des situations où il est nécessaire d'effectuer un unique passage à l'intérieur d'un objet Recordset. |
Il faut choisir le type de curseur par l'intermédiaire de la propriété CursorType avant l'ouverture de l'objet Recordset, ou de la méthode Open en passant un argument CursorType.
Plusieurs fournisseurs ne supportent pas tous les types de curseurs. Par défaut, ADO utilise le type de curseur forward-only en principe reconnu par tous.
Les constantes permettent de définir différentes caractéristiques prédéfinies pour les méthodes et propriétés des objets ADO.
Les constantes AffectEnum indique quels enregistrements sont affectés par une opération.
Objet_Recordset.CancelBatch AffectEnum
Constante | Valeur | Description |
---|---|---|
adAffectAll | 3 | affecte tous les enregistrements s'il n'y a aucun filtre appliqué à l'objet Recordset, si la propriété Filter n'est pas fixée à un critère de chaîne de caractères, alors l'opération affecte tous les enregistrements visibles dans le chapitre courant. Si la propriété Filter a un membre des constantes FilterGroupEnum ou un tableau de signets, alors l'opération affecterait toutes les lignes de l'objet Recordset. |
adAffectAllChapters | 4 | affecte tous les enregistrements dans tous les chapitres de mêmes parents de l'objet Recordset incluant ceux non-visibles via n'importe quel propriété Filter qui est couramment appliqué. |
adAffectCurrent | 1 | affecte seulement l'enregistrement courant. |
adAffectGroup | 2 | affecte seulement les enregistrements qui satisfont le paramètrage courant de la propriété Filter. Il faut fixer la propriété Filter à une valeur FilterGroupEnum ou un tableau de signets pour utiliser cette option. |
Les constantes BookmarkEnum spécifient un signet indiquant où l'opération doit débuter.
Objet_Recordset.Move Nb_Enregistrements, BookmarkEnum
Constante | Valeur | Description |
---|---|---|
adBookmarkCurrent | 0 | démarre à partir de l'enregistrement courant. |
adBookmarkFirst | 1 | démarre à partir du premier enregistrement. |
adBookmarkLast | 2 | démarre à partir du dernier enregistrement. |
Les constantes CommandTypeEnum sont des valeurs représentant comment un argument pourrait être interprété.
Object_Command.CommandType = CommandTypeEnum
Constante | Valeur | Description |
---|---|---|
adCmdUnspecified | -1 | ne peut spécifier l'argument de type de commande. |
adCmdText | 1 | évalue CommandText comme une définition textuelle d'une commande ou d'un appel d'une procédure stockée. |
adCmdTable | 2 | évalue CommandText comme une table de noms dont les colonnes sont toutes retournées par une requête SQL générée intérieurement. |
adCmdStoredProc | 4 | évalue CommandText comme une procédure de nom stockée. |
adCmdUnknown | 8 | indique, par défaut, que le type de la commande dans la propriété CommandText n'est pas connue. |
adCmdFile | 256 | évalue CommandText comme le nom de fichier d'un jeu d'enregistrements stockés avec persistance. |
adCmdTableDirect | 512 | évalue CommandText comme un nom de table dont les colonnes sont toutes retournées. |
Les constantes CompareEnum indique la position relative de deux enregistrements par leur signet.
Objet_Recordset.CompareBookmarks Signet, Signet2 = _ CompareEnum
Constante | Valeur | Description |
---|---|---|
adCompareEqual | 1 | indique que les signets sont égaux. |
adCompareGreaterThan | 2 | indique que le premier signet est après le second. |
adCompareLessThan | 0 | indique que le premier signet est avant le second. |
adCompareNotComparable | 4 | indique que les signets ne peuvent être comparés. |
adCompareNotEqual | 3 | indique que les signets ne sont pas égaux et non ordonnés. |
Les constantes ConnectModeEnum indique les permissions disponibles pour la modification des données dans un objet Connection, pour l'ouverture d'un enregistrement Record, ou pour la spécification des valeurs pour la propriété Mode des objets Record et Stream.
Objet_Connection.Mode = ConnectModeEnum
Constante | Valeur | Description |
---|---|---|
adModeRead | 1 | indique des permissions en lecture seule. |
adModeReadWrite | 3 | indique les permissions le lecture et écriture. |
adModeRecursive | 0x400000 | utilisé en conjonction avec les autres valeurs ShareDeny (adModeShareDenyNone, adModeShareDenyWrite, ou adModeShareDenyRead) pour propager les restrictions de partage à tous les sous-enregistrements de l'objet Record courant. Il n'a pas d'effet si l'enregistrement ne possède pas d'enfants. |
adModeShareDenyNone | 16 | autorise les personnes à ouvrir une connexion avec n'importe quelles permissions. Allows others to open a connection with any permissions. Ni l'accès à la lecture ou à l'écriture ne peuvent être dénié aux personnes. |
adModeShareDenyRead | 4 | empêche les personnes d'ouvrir une connexion avec les permissions de lecture. |
adModeShareDenyWrite | 8 | empêche les personnes d'ouvrir une connexion avec les permissions de écriture. |
adModeShareExclusive | 12 | emêche les personnes d'ouvrir une connexion. |
adModeUnknown | 0 | par défaut, indique que les permissions n'ont pas encore été ou ne peuvent être déterminées. |
adModeWrite | 2 | indique des êrmissions en écriture seule. |
Les constante CopyRecordOptionsEnum indiquent le comportement de la méthode CopyRecord.
Objet_Record.CopyRecord CopyRecordOptionsEnum
Constante | Valeur | Description |
---|---|---|
adCopyAllowEmulation | 4 | indique que la fournisseur tente de simuler la copie utilisant les opérations de téléchargement si cette méthode échoue suite à une destination sur un différent serveur, ou est servi par un différent fournisseur que la source. |
adCopyNonRecursive | 2 | copie le répertoire courant, mais aucun des ses sous-répertoires, vers la destination. L'opération de copie n'est pas récursive. |
adCopyOverWrite | 1 | recopie le fichier ou le répertoire si la destination pointe vers un dichier ou répertoire existant. |
adCopyUnspecified | -1 | par défaut, exécute l'opération de copie. L'opération échoue si le fichier ou le répertoire de destination existe déjà et l'opération copie récursivement. |
Les constantes CursorLocationEnum permettent de spécifier la localisation du service de curseur.
Objet_Connection.CursorLocation = CursorLocationEnum
Constante | Valeur | Description |
---|---|---|
adUseClient | 3 | utlise les curseurs du côté client fournis par une librairie de curseurs locale. |
adUseNone | 1 | n'utilise pas de services de curseurs. |
adUseServer | 2 | par défaut, utilise les données du fournisseur ou les pilotes de curseurs fournis. |
Les constantes CursorOptionEnum spécifient quelle fonctionnalité, la méthode Supports doit évaluer.
Objet_Recordset.Supports(CursorOptionEnum)
Constante | Valeur | Description |
---|---|---|
adAddNew | 0x1000400 | supporte la méthode AddNew pour ajouter de nuveaux enregistrements. |
adApproxPosition | 0x4000 | supporte les propriétés AbsolutePosition et AbsolutePage. |
adBookmark | 0x2000 | supporte la propriété Bookmark pour obtenir des accès aux enregistrements spécifiques. |
adDelete | 0x1000800 | supporte la méthode Delete pour supprimer des enregistrements. |
adFind | 0x80000 | supporte la méthode Find pour localiser une ligne dans un objet Recordset. |
adHoldRecords | 0x100 | retrouve plusieurs enregistrements ou modifie la prochaine position sans exécuter tous les changements en cours. |
adIndex | 0x100000 | supporte la propriété Index pour nommer un index. |
adMovePrevious | 0x200 | supporte les méthodes MoveFirst, MovePrevious et Move ou GetRows pour déplacer la position de l'enregistrement courant en arrière sans demander des signets. |
adNotify | 0x40000 | indique que le fournisseur de données sous-jacent supporte des notifications. |
adResync | 0x20000 | supporte la méthode Resync pour mettre à jour le curseur avec les données qui restent visibles dans la base de données sous-jacente. |
adSeek | 0x200000 | supporte la méthode Seek pour localiser une ligne dans un objet Recordset. |
adUpdate | 0x1008000 | supporte la méthode Update pour modifier les données existantes. |
adUpdateBatch | 0x10000 | supporte les méthodes UpdateBatch et CancelBatch pour envoyer des groupes de changements au fournisseur. |
Les constantes EditModeEnum spécifient les positions d'édition d'un enregistrement.
Objet_Recordset.EditMode = EditModeEnum
Constante | Valeur | Description |
---|---|---|
adEditNone | 0 | indique que'aucune opération d'édition n'est en cours d'exécution. |
adEditInProgress | 1 | indique que les données dans l'enregistrement courant a été modifié mais pas sauvegardé. |
adEditAdd | 2 | indique que la méthode AddNew a été appelée et l'enregistrement courant dans la copie temporaire est un nouvel enregistrement qui n'a pas été sauvegardé dans la base de données. |
adEditDelete | 4 | indique que l'enregistrement courant a été supprimé. |
Les constantes DataTypeEnum spécifient le type de données des objets Field, Parameter ou Property.
Objet_Field.Type = DataTypeEnum
Constante | Valeur | Description |
---|---|---|
AdArray | 0x2000 | indique une valeur indicatrice toujours combinée avec une autre constante de type de données qui indique un tableau de cette autre type de données. |
adBigInt | 20 | indique un entier signé sur huit octets (DBTYPE_I8). |
adBinary | 128 | indique une valeur binaire (DBTYPE_BYTES). |
adBoolean | 11 | indique une valeur booléenne (DBTYPE_BOOL). |
adBSTR | 8 | indique une chaîne de caractères Unicode null-terminated (DBTYPE_BSTR). |
adChapter | 136 | indique une valeur chapitre sur quatre octets qui identifie les lognes dans un jeu de lignes enfant (DBTYPE_HCHAPTER). |
adChar | 129 | indique une valeur de chaîne de caractères (DBTYPE_STR). |
adCurrency | 6 | indique une valeur monétaire. |
adDate | 7 | indique une valeur de datation (DBTYPE_DATE). |
adDBDate | 133 | indique une valeur de datation (yyyymmdd) (DBTYPE_DBDATE). |
adDBTime | 134 | indique une valeur horaire (hhmmss) (DBTYPE_DBTIME). |
adDBTimeStamp | 135 | indique un type de date/heure stamp (yyyymmddhhmmss) (DBTYPE_DBTIMESTAMP). |
adDecimal | 14 | indique une valeur numérique exacte d'une précision et d'une échelle fixée (DBTYPE_DECIMAL). |
adDouble | 5 | indique une valeur à virgule flottante avec double précision (DBTYPE_R8). |
adEmpty | 0 | ne spécifie pas de valeur (DBTYPE_EMPTY). |
adError | 10 | indique un code d'erreur 32 bit (DBTYPE_ERROR). |
adFileTime | 64 | indique une valeur de 64 bit représentant le nombre de 100 nanosecondes d'intervalle depuis le 1er janvier 1601 (DBTYPE_FILETIME). |
adGUID | 72 | indique un identificateur unique globalement (GUID) (DBTYPE_GUID). |
adIDispatch | 9 | indique un pointeur vers une interface IDispatch sur un objet COM (DBTYPE_IDISPATCH). |
adInteger | 3 | indique un entier signé sur quatre octets (DBTYPE_I4). |
adIUnknown | 13 | indique un pointeur vers une interface IUnknown sur un objet COM (DBTYPE_IUNKNOWN). |
adLongVarBinary | 205 | indique une valeur binaire longue. |
adLongVarChar | 201 | indique une valeur longue de chaîne de caractères. |
adLongVarWChar | 203 | indique une valeur de chaîne de caractères Unicode null-terminated. |
adNumeric | 131 | indique une valeur numérique exacte d'une précision et d'une échelle fixées (DBTYPE_NUMERIC). |
adPropVariant | 138 | indique un Automation PROPVARIANT (DBTYPE_PROP_VARIANT). |
adSingle | 4 | indique une valeur à virgule flottante à précision simple (DBTYPE_R4). |
adSmallInt | 2 | indique un entier signé sur deux octets (DBTYPE_I2). |
adTinyInt | 16 | indique un entier signé sur un octet (DBTYPE_I1). |
adUnsignedBigInt | 21 | indique un entier non-signé sur huit octets (DBTYPE_UI8). |
adUnsignedInt | 19 | indique un entier non-signé sur quatre octets (DBTYPE_UI4). |
adUnsignedSmallInt | 18 | indique un entier non-signé sur deux octets (DBTYPE_UI2). |
adUnsignedTinyInt | 17 | indique un entier non-signé sur un octets (DBTYPE_UI1). |
adUserDefined | 132 | indique une variable définie par l'utilisateur (DBTYPE_UDT). |
adVarBinary | 204 | indique une valeur binaire (objet Parameter seulement). |
adVarChar | 200 | indique une valeur de chaîne de carctères (Objet Parameter seulement). |
adVariant | 12 | indique un variant Automation (DBTYPE_VARIANT). |
adVarNumeric | 139 | indique une valeur numérique (objet Parameter seulement). |
adVarWChar | 202 | indique une chaîne de caractères Unicode null-terminated. |
adWChar | 130 | indique une chaîne de caractères Unicode null-terminated. |
Les constantes EditModeEnum spécifient les positions d'édition d'un enregistrement.
Objet_Recordset.EditMode = EditModeEnum
Constante | Valeur | Description |
---|---|---|
adEditNone | 0 | indique que'aucune opération d'édition n'est en cours d'exécution. |
adEditInProgress | 1 | indique que les données dans l'enregistrement courant a été modifié mais pas sauvegardé. |
adEditAdd | 2 | indique que la méthode AddNew a été appelée et l'enregistrement courant dans la copie temporaire est un nouvel enregistrement qui n'a pas été sauvegardé dans la base de données. |
adEditDelete | 4 | indique que l'enregistrement courant a été supprimé. |
Les constantes EventReasonEnum spécifient la raison qui a amené un événement à se produire.
Objet_Recordset.RecordChangeComplete EventReasonEnum, Nb_Records, Erreur, EventStatusEnum, Recordset
Constante | Valeur | Description |
---|---|---|
adRsnAddNew | 1 | indique qu'une opération a ajouté un nouvel enregistrement. |
adRsnClose | 9 | indique qu'une opération a fermé un objet Recordset. |
adRsnDelete | 2 | indique qu'une opération a supprimé un enregistrement. |
adRsnFirstChange | 11 | indique qu'une opération fait la première modification sur un enregistrement. |
adRsnMove | 10 | indique qu'une opération a déplacé le pointeur d'enregistrement à l'intérieur d'un objet Recordset. |
adRsnMoveFirst | 12 | indique qu'une opération a déplacé le pointeur d'enregistrement au premier enregistrement dans l'objet Recordset. |
adRsnMoveLast | 15 | indique qu'une opération a déplacé le pointeur d'enregistrement au dernier enregistrement dans l'objet Recordset. |
adRsnMoveNext | 13 | indique qu'une opération a déplacé le pointeur d'enregistrement au prochain enregistrement dans l'objet Recordset. |
adRsnMovePrevious | 14 | indique qu'une opération a déplacé le pointeur d'enregistrement au précédent enregistrement dans l'objet Recordset. |
adRsnRequery | 7 | indique qu'une opération a demandé l'objet Recordset. |
adRsnResynch | 8 | indique qu'une opération a resynchronisé l'objet Recordset avec la base de données. |
adRsnUndoAddNew | 5 | indique qu'une opération a inversé l'ajout d'un nouvel enregistrement. |
adRsnUndoDelete | 6 | indique qu'une opération a inversé la suppression d'un enregistrement. |
adRsnUndoUpdate | 4 | indique qu'une opération a inversé la mise à jour d'un enregistrement. |
adRsnUpdate | 3 | indique qu'une opération a mis à jour un enregistrement existant. |
Les constantes EventStatusEnum spécifient le statut courant de l'exécution d'un événement.
Objet_Recordset.EndOfRecordset More Data, _ EventStatusEnum, Recordset
Constante | Valeur | Description |
---|---|---|
adStatusCancel | 4 | demande l'annulation de l'opération qui a provoqué l'événement survenu. |
adStatusCantDeny | 3 | indique que l'opération ne peut demander l'annulation de l'opération en cours. |
adStatusErrorsOccurred | 2 | indique que l'opération qui a provoqué l'événement, a échoué en raison d'une ou plusieurs erreurs. |
adStatusOK | 1 | indique que l'opération qui a provoqué l'événement, a été réussie. |
adStatusUnwantedEvent | 5 | empêche des notification ultérieures avant que la méthode d'événement ait fini son exécution. |
Les constantes ExecuteOptionEnum spécifie comment un fournisseur devrait exécuter une commande.
Objet_Recordset.Open Source, ActiveConnection, _ CursorTypeEnum, LockTypeEnum, ExecuteOptionEnum
Constante | Valeur | Description |
---|---|---|
adAsyncExecute | 0x10 | indique que la commande doit s'exécuter d'une manière asynchrone. Cette valeur ne peut être combinée avec la valeur adCmdTableDirect des constantes CommandTypeEnum.+6 |
adAsyncFetch | 0x20 | indique que les lignes restantes après la quantité initiale spécifiée dans la propriété CacheSize devrait être retrouvé non-simultanément. |
adAsyncFetchNonBlocking | 0x40 | indique que la principale unité d'exécution ne se bloque jamais tant que l'opération de récupération est en cours. Si les lignes demandées n'ont pas été retrouvées, la ligne courante se déplace automatiquement à la fin du ficher. En ouvrant un objet Recordset à partir d'un objet Stream contenant un objet Recordset stocké avec persistance, elle n'aurait aucun effet, l'opération serait synchrone et bloquée. Egalement, elle n'a pas d'effet lorsque l'option adCmdTableDirect est utilisée pour ouvrir un jeu d'enregistrements. |
adExecuteNoRecords | 0x80 | indique que CommandText est une commande ou une procédure stockée qui ne retourne pas des lignes. Si quelques lignes sont retrouvées, elles sont mises de côté et non retournées. Elle peut seulement être passée comme un paramètre optionnel à la méthode >Execute d'un objet Connection ou Command. |
adExecuteStream | 0x400 | indique que le résultat d'une exécution d'une commande devrait être retourné comme un flux (Stream). Elle est utilisable seulement comme paramètre optionnel de la méthode Execute de l'objet Command. |
adExecuteRecord | indique que CommandText est une commande ou une procédure stockée qui retourne une unique ligne qui devrait être retournée comme un objet Record. | |
adOptionUnspecified | -1 | indique que la commande est non-spécifiée. |
Les constantes FieldAttributeEnum spécifient un ou plusieurs attributs d'un objet Field.
Fields.Append Nom_Field, Type, Taille_Champs, _ FieldAttributeEnum, Valeur
Constante | Valeur | Description |
---|---|---|
adFldCacheDeferred | 0x1000 | indique que le fournisseur stocke en mémoire les valeurs de champs et les lectures ultérieures sont effectuées à partir de la émoire cache. |
adFldFixed | 0x10 | indique que le champ contient des données d'une longueur fixées. |
adFldIsChapter | 0x2000 | indique que le champ contient une valeur de chapitre, laquelle indique une valeur spécifique d'un objet Recordset enfant lié à ce champ parent. caractéristiquement, les champs de chapitre sont utilisés avec la formation de données ou les filtres. |
adFldIsCollection | 0x40000 | indique que le champ spécifie que la ressource représentée par l'enregistrement est une collection d'autres ressources, comme un répertoire, plutôt qu'une simple ressource comme un fichier texte. |
adFldIsDefaultStream | 0x20000 | indique que le champ contient l'objet Stream par défaut pour la ressource représentée par l'enregistrement. |
adFldIsNullable | 0x20 | indique que le champ accepte des valeurs nulles. |
adFldIsRowURL | 0x10000 | indique que le champ contient l'URL qui nomme la ressource à partir des données stockées par l'enregistrement. |
adFldLong | 0x80 | indique que le champ est un champ binaire de type Long et qu'il est possible d'utiliser les méthodes AppendChunk et GetChunk. |
adFldMayBeNull | 0x40 | indique qu'il est possible de lire des valeurs nulles à partir des champs. |
adFldMayDefer | 0x2 | indique que le champ est renvoyé, les valeurs de champ ne sont pas retrouvées à partir de la source de données avec l'enregistrement entier, mais seulement lors de leur accès explicite. |
adFldNegativeScale | 0x4000 | indique que le champ représente une valeur numérique d'une colonne qui supporte des valeurs d'échelle négatives. L'échelle est spécifiée par la propriété NumericScale. |
adFldRowID | 0x100 | indique que le champ contient un identificateur de ligne persistant qui ne peut être accédé en écriture et n'a aucune valeur significative sauf pour identifier la ligne. |
adFldRowVersion | 0x200 | indique que le champ contient plusieurs types de date ou d'heure utilisés pour suivre à la trace des mises à jour. |
adFldUnknownUpdatable | 0x8 | indique que le fournisseur ne peut déterminer s'il est possible d'écrire sur l'enregistrement. |
adFldUnspecified | -1 0xFFFFFFFF | indique que le fournisseur ne spécifie pas les attributs de champs. |
adFldUpdatable | 0x4 | indique que vous pouvez écrire sur l'enregistrement. |
Les constantes FieldStatusEnum indiquent le statut d'un objet Fields.
FieldStatusEnum = Objet.Status
Constante | Valeur | Description |
---|---|---|
adFieldAlreadyExists | 26 | indique que le champ spécifié existe toujours. |
adFieldBadStatus | 12 | indique qu'une valeur de statut invalide a été envoyé d'ADO vers le fournisseur OLE DB. |
adFieldCannotComplete | 20 | indique que le serveur de l'URL spécifiée par la source Indicates that the server of the URL specified by Source n'a pu achever l'opération. |
adFieldCannotDeleteSource | 23 | indique que durant une opération de déplacement, une arborescence ou un sous-arbrescence a été déplacée à un nouvel endroit, mais la source n'a pas pu être effacée. |
adFieldCantConvertValue | 2 | indique que le champ ne peut être récupéré ou stocké sans une perte de données. |
adFieldCantCreate | 7 | indique que le champ n'a pas pu être ajouté car le fournisseur a dépassé une limitation. |
adFieldDataOverflow | 6 | indique que les données retournées à partir du fournisseur ont débordées du type de données du champ. |
adFieldDefault | 13 | indique que la valeur par défaut pour le champ a été utilisé lorsque les données ont été fixées. |
adFieldDoesNotExist | 16 | indique que le champ spécifié n'existe pas. |
adFieldIgnore | 15 | indique que le champ a été évité en fixant les valeurs de données dans la source. |
adFieldIntegrityViolation | 10 | indique que le champ ne peut pas être modifié car il est une entité calculée ou dérivée. |
adFieldInvalidURL | 17 | indique que l'URL de la source de données contient des caractères invalides. |
adFieldIsNull | 3 | indique que le fournisseur a rettourné une valeur nulle. |
adFieldOK | 0 | par défaut indique que le champ a été ajouté ou supprimé avec succès. |
adFieldOutOfSpace | 22 | indique que le fournisseur est incapable d'obtenir suffisamment d'espace de stockage pour finir une opération de déplacement ou de copie. |
adFieldPendingChange | indique soit que le champ a été supprimé et alors réajouté avec probablement un autre type de données, ou que la valeur du champ qui avait précédemment un statut adFieldOK, ait changé. | |
adFieldPendingDelete | 0x20000 | indique que l'opération de suppression a provoqué que le statut a été fixé. |
adFieldPendingInsert | 0x10000 | indique que l'opération Append a provoqué que le statut a été fixé. |
adFieldPendingUnknown | 0x80000 | indique que le fournisseur ne peut déterminer quel opération a provoqué que le statut a été fixé. |
adFieldPendingUnknownDelete | 0x100000 | indique que le fournisseur ne peut déterminer quel opération a provoqué que le statut a été fixé et que le champ and that the field will be deleted from the Fields collection after the Update method is called. |
adFieldPermissionDenied | 9 | Indicates that the field cannot be modified because it is defined as read-only. |
adFieldReadOnly | 24 | indique que le champ dans la source de onnées est défini en lecture seule. |
adFieldResourceLocked | 18 | indique que le fournisseur a été incapable d'exécuter les opérations car la source de onnées est verrouillée par une ou plusieurs autres applications ou processus. |
adFieldResourceOutOfScope | 25 | indique qu'une source ou une URL de destination est en dehors de la portée de l'enregistrement courant. |
adFieldSchemaViolation | 11 | indique que la valeur violée le schéma de contraintes de la source de données ppour le champ. |
adFieldSignMismatch | 5 | indique que la valeur de données retournée par le fournisseur a été signée, mais le type de données de la valeur de champ d'ADO était non signée. |
adFieldTruncated | 4 | indique que les données de longueur variable ont été tronquées en lisant à partir de la source de données. |
adFieldUnavailable | 8 | indique que le founisseur n'a pas pu déterminer la valeur lors d'une lecture sur la source de données. |
adFieldVolumeNotFound | 21 | indique que le fournisseur est incapable de localiser le volume de stockage indiqué par l'URL. |
Les constantes FilterGroupEnum indique les groupes d'enregistrements devant être filtré à partir d'un objet Recordset.
Objet_Recordset.Filter = FilterGroupEnum
Constante | Valeur | Description |
---|---|---|
adFilterAffectedRecords | 2 | filtre pour voir essentiellement les enregistrements affectés par les derniers appels à Delete, Resync, UpdateBatch ou CancelBatch. |
adFilterConflictingRecords | 5 | filtre pour voir les enregistrements qui sont en échec lors de la dernière mise à jour de groupe. |
adFilterFetchedRecords | 3 | filtre pour voir les enregistrements dans le cache courant qui est le résultat du dernier appel pour retrouver les enregistrements à partir de la base de données. |
adFilterNone | 0 | enlève le filtre courant et restaure tous les enregistrements pour les voir. |
adFilterPendingRecords | 1 | filtre pour voir seulement les enregistrements qui ont été modifiés mais n'ant pas encore été envoyés sur le serveur. Il est applicable seulement pour le mode de mises à jour par lot. |
La constante GetRowsOptionEnum spécifie combien d'enregistrements à retrouver à partir d'un objet Recordset.
Objet_Recordset.GetRows(GetRowsOptionEnum, _ BookmarkEnum, Enregistrements)
Constante | Valeur | Description |
---|---|---|
adGetRowsRest | -1 | retrouve le reste des enregistrements dans l'objet Recordset à partir soit de la position courante, soit d'un signet spécifié par le paramètre BookmarkEnum de la méthode GetRows. |
Les constantes IsolationLevelEnum indique le niveau d'isolation de transaction pour un objet Connection.
Objet_Connection.IsolationLevel = IsolationLevelEnum
Constante | Valeur | Description |
---|---|---|
adXactUnspecified | -1 | indique que le fournisseur utilise un niveau d'isolation différent que celui indiqué, mais que le niveau ne peut être déterminé. |
16 | indique que des changements en suspens de plusieurs transactions fortement isolées ne peuvent être recopiés. | |
adXactBrowse | 256 | indique qu'à partir d'une transaction, vous pouvez voir des changements non engagés d'autres transactions. |
adXactReadUncommitted | 256 | identique à adXactBrowse. |
adXactCursorStability | 4096 | indique qu'à partir d'une transaction, vous pouvez voir les changements d'autres transactions seulement après avoir été engagées. |
adXactReadCommitted | 4096 | identique à adXactCursorStability. |
adXactRepeatableRead | 65536 | indique qu'à partir d'une transaction, vous ne pouvez voir les changments opérés dans d'autres transactions, mais que des requêtes peuvent récupérer de nouveaux objets Recordset. |
adXactIsolated | 1048576 | indique que des transactions sont menées dans l'isolation d'autres transactions. |
adXactSerializable | 1048576 | identique à adXactIsolated. |
Les constantes LineSeparatorsEnum indiquent le caractère à utiliser comme séparateur de ligne dans le texte d'un objet Stream.
Objet_Stream.LineSeparator = LineSeparatorsEnum
Constante | Valeur | Description |
---|---|---|
adCR | 13 | indique un retour charriot. |
adCRLF | -1 | par défaut, indique un retour charriot et un saut de ligne. |
adLF | 10 | indique un saut de ligne. |
Les constantes LockTypeEnum indique le type de verrou placé sur les enregistrements durant l'opération d'édition.
Objet_Recordset.LockType = LockTypeEnum
Constante | Valeur | Description |
---|---|---|
adLockBatchOptimistic | 4 | indique les mises à jour par lot optimistes. Requis pour le mode de mise à jour par lot. |
adLockOptimistic | 3 | indique le verrouillage optimiste, enregistrement par enregistrement. Le fournisseur utlise le verouillage optimiste, verrrouillant seulement lors d'un appel de la méthode Update. |
adLockPessimistic | 2 | indique le verrouillage optimiste, enregistrement par enregistrement. Le fournisseur fait qu'il est nécessaire d'assurer le succès de l'édition des enregistrements, habituellement par le verrouillage des enregistrements de la source de données immédiatement après l'opération d'édition. |
adLockReadOnly | 1 | indique que les enregistrements sont en lecture seule. Il est donc impossible de modifier les données. |
adLockUnspecified | -1 | ne spécifie pas un type de verrou. Pour des doubles, le double est créé avec le même type de verrou que l'enregistrement original. |
Les constantes MarshalOptionsEnum indique quels enregistrements devraient être retournés au serveur.
Objet_Recordset.MarshalOptions = MarshalOptionsEnum
Constante | Valeur | Description |
---|---|---|
adMarshalAll | 0 | Default. Returns all rows to the server. |
adMarshalModifiedOnly | 1 | Returns only modified rows to the server. |
Les constantes MoveRecordOptionsEnum indiquent le comportement de la méthode MoveRecord de l'objet Record.
Objet_Record.MoveRecord(Source, Destination, _ Nom_Utilisateur, Mot_Passe, _ MoveRecordOptionsEnum, Bool_Asynchrone)
Constante | Valeur | Description |
---|---|---|
adMoveUnspecified | -1 | par défaut, exécute l'opération de déplacement. L'opération échoue si le fichier ou le répertoire de destination existe déjà et l'opération met à jour les liens hypertextes. |
adMoveOverWrite | 1 | recopie le fichier ou le répertoire de destination, même s'il existe déjà. |
adMoveDontUpdateLinks | 2 | modifie le comportement de la méthode MoveRecord par défaut par une non-mise à jour des liens hypertextes de l'enregistrement source. Le comportement par défaut dépend des capacités du fournisseur. L'opération de déplacement met à jour les liens si le fournisseur en est capable. Si le fournisseur ne peut fixer les liens ou si cette valeur n'est pas spécifiée, alors le déplacement réussit même lorsque les liens n'ont pas été fixés. |
adMoveAllowEmulation | 4 | demande que le fournisseur tente de simuler le mouvement. Si la tentative de déplacer l'enregistrement échoue parceque l'URL de destination est sur un serveur différent ou servi par un fournisseur différent que la source, ceci peut provoquer l'accroissement de latence ou la perte de données suite à des capacités de fournisseur différentes en déplaçant de ressources entre des fournisseurs. |
Les constantes ObjectStateEnum représente l'état d'un objet, c'est-à-dire s'il est ouvert ou fermé, connecté à la source de donées, en exécution d'une commande ou en recherche de données.
Object_Command.State = ObjectStateEnum
Constante | Valeur | Description |
---|---|---|
adStateClosed | 0 | indique que l'objet est fermé. |
adStateOpen | 1 | indique que l'objet est ouvert. |
adStateConnecting | 2 | indique que l'objet est connecté. |
adStateExecuting | 4 | indique que l'objet exécute une commande. |
adStateFetching | 8 | indique que les lignes de l'objet ont été retrouvées. |
Les constantes ParameterDirectionEnum indiquent si l'objet Parameter représente un paramètre entrée, un paramètre produit, les deux, ou la valeur retournée à partir d'une procédure stockée.
FieldStatusEnum = Objet.Status
Constante | Valeur | Description |
---|---|---|
adParamInput | 1 | par défaut, indique que le paramètre représente un paramètre entrée. |
adParamInputOutput | 3 | indique que le paramètre représente un paramètre entrée et produit. |
adParamOutput | 2 | indique que le paramètre représente un paramètre produit. |
adParamReturnValue | 4 | indique que le paramètre représente une valeur retournée. |
adParamUnknown | 0 | indique que la direction de paramètre est inconnue. |
Les constantes PersistFormatEnum spécifient le format de sauvegarde d'un objet Recordset.
bjet_Recordset.Save Destination, PersistFormatEnum
Constante | Valeur | Description |
---|---|---|
adPersistADTG | 0 | indique le format Microsoft Advanced Data TableGram (ADTG). |
adPersistADO | 1 | indique le format XML propre à ADO est employé. cette valeur est identique à adPersistXML et est incluse pour une compatibilité descendante. |
adPersistXML | 1 | indique le format XML (Extensible Markup Language). |
adPersistProviderSpecific | 2 | indique que le fournisseur continue à utiliser le propre format de l'objet Recordset. |
Les constantes PositionEnum spécifient la position courante du pointeur d'enregistrement à l'intérieur d'un objet Recordset.
Objet_Recordset.AbsolutePage = PositionEnum
Constante | Valeur | Description |
---|---|---|
adPosBOF | -2 | indique que le pointeur d'enregistrement est à BOF (Before Of File). |
adPosEOF | -3 | indique que le pointeur d'enregistrement est à EOF (End Of File). |
adPosUnknown | -1 | indique que l'objet Recordset est vide, la position courante est inconnue ou le fournisseur ne supporte pas les propriétés AbsolutePage ou AbsolutePosition. |
Les constantes RecordCreateOptionsEnum spécifient si un enregistrement existant doit être ouvert ou un nouvel enregistrement doit être creéé par la méthode Open de l'objet Record. Les valeurs peuvent être combinées avec l'opérateur AND.
Objet_Record.Open Source, ActiveConnection, RecordCreateOptionsEnum, RecordOpenOptionsEnum, Nom_Utilisateur, Mot_Passe
Constante | Valeur | Description |
---|---|---|
adCreateCollection | 0x2000 | crée un nouvel enregistrement au noeud spécifié par le paramètre Source. Si la source pointe vers un noeud existant, alors une erreur de type run-time se produit, à moins que adCreateCollection soit combiné avec adOpenIfExists ou adCreateOverwrite. |
adCreateNonCollection | 0 | crée un nouvel enregistrement de type adSimpleRecord. |
adCreateOverwrite | 0x4000000 | modifie les indicateurs de création adCreateCollection, adCreateNonCollection, et adCreateStructDoc. Lorsque l'opérateur OR est utilisé avec cette valeur et une des valeurs indicatrices de création, si l'adresse URL de la source pointe vers un noeud ou un enregistrement existant, alors l'enregistrement existant est recopié et un nouveau est créé à sa place. Cette valeur ne peut être utilisé avec adOpenIfExists. |
adCreateStructDoc | 0x80000000 | crée un nouvel enregistrement de type adStructDoc, à la place de l'ouverture d'un enregistrement exustant. |
adFailIfNotExists | -1 | par défaut, résulte une erreur de type run-time si la Source pointe vers un noeud inexistant. |
adOpenIfExists | 0x2000000 | modifie les indicateurs de création adCreateCollection, adCreateNonCollection, et adCreateStructDoc. Lorsque OR est utilisé avec cette valeur et une des valeurs indicatrices de création, si l'adresse URL de la source pointe vers un noeud ou un enregistrement existant, alors le fournisseur peut ouvrir l'enregistrement existant plutôt que d'en créer un nouveau. Cette valeur ne peut être utilisé avec adCreateOverwrite. |
Les constantes RecordOpenOptionsEnum spécifient les options pour l'ouverture d'un objet Record. Ces valeurs peuvent être combinées en utilisant l'opérateur OR.
Objet_Record.Open Source, ActiveConnection, RecordCreateOptionsEnum, RecordOpenOptionsEnum, Nom_Utilisateur, Mot_Passe
Constante | Valeur | Description |
---|---|---|
adDelayFetchFields | 0x8000 | indique au fournisseur que les champs associés à l'enregistrement n'a pas besoin d'être retrouvé initialement, mais peut l'être à la première tentative d'accéder à l'enregistrement. Le comportement par défaut indiqué par l'absence de cet indicateur, est de retrouver tous les champs de l'enregistrement. |
adDelayFetchStream | 0x4000 | indique au fournisseur que l'objet Stream par défaut associé à l'enregistrement n'a pas besoin d'être récupérer initiallement. Le comportement par défaut, indiqué par l'absece de cet indicateur, est de retrouver l'objet Stream par défaut associé à l'enregistrement.. |
adOpenAsync | 0x1000 | indique que l'enregistrement est ouvert dans le mode asynchrone. |
adOpenExecuteCommand | 0x10000 | indique que la Source contient une commande textuelle qui doit être exécutée. Cette valeur est équivalente à l'option adCmdText de la méthode Open de l'objet Recordset. |
adOpenRecordUnspecified | -1 | par défaut, indique qu'aucune option n'est spécifiée. |
adOpenOutput | 0x800000 | indique que la source pointe vers un noeud contenant un script exécutable, alors l'enregistrement ouvert contiendra le résultat de l'exécution du script. Cette valeur est seulement valide avec des enregistrements ne faisant pas parti de collection. |
Les constantes RecordStatusEnum indique le statut d'un enregistrement par rapport à des mises à jour par lot et d'autres opérations par groupe.
Objet_Recordset.Status = RecordStatusEnum
Constante | Valeur | Description |
---|---|---|
adRecCanceled | 0x100 | indique que l'enregistrement n'a pas été sauvegardé car l'opération a été annulée. |
adRecCantRelease | 0x400 | indique que le nouvel enregistrement n'a pas été sauvegardé car l'enregistrement existant a été verrouillé. |
adRecConcurrencyViolation | 0x800 | indique que l'enregistrement n'a pas été sauvegardé car le consentement optimiste était en utilisation. |
adRecDBDeleted | 0x40000 | indique que l'enregistrement a déjà été supprimé de la source de données. |
adRecDeleted | 0x4 | indique que l'enregistrement a été supprimé. |
adRecIntegrityViolation | 0x1000 | indique que l'enregistrement n'a pas été sauvegardé car l'utilisateur a violé les contraintes d'intégrité. |
adRecInvalid | 0x10 | indique que l'enregistrement n'a pas été sauvegardé car son signet n'est pas valide. |
adRecMaxChangesExceeded | 0x2000 | indique que l'enregistrement n'a pas été sauvegardé car il y en avait trop durant les modifications. |
adRecModified | 0x2 | indique que l'enregistrement a étté modifié. |
adRecMultipleChanges | 0x40 | indique que l'enregistrement n'a pas été sauvegardé car il aurait affecté des enregistrements multiples. |
adRecNew | 0x1 | indique que l'enregistrement est nouveau. |
adRecObjectOpen | 0x4000 | indique que l'enregistrement n'a pas été sauvegardé à cause d'un conflit avec un objet stocké ouvert. |
adRecOK | 0 | Indicates that the record was successfully updated. |
adRecOutOfMemory | 0x8000 | indique que l'enregistrement n'a pas été sauvegardé car l'ordinateur a démarré en dépassement de mémoire. |
adRecPendingChanges | 0x80 | indique que l'enregistrement n'a pas été sauvegardé car il se réfère à une insertion en cours. |
adRecPermissionDenied | 0x10000 | indique que l'enregistrement n'a pas été sauvegardé car l'utilisateur a des permissions insuffisantes. |
adRecSchemaViolation | 0x20000 | indique que l'enregistrement n'a pas été sauvegardé car il violé la structure sous-jacente de la base de données. |
adRecUnmodified | 0x8 | indique que l'enregistrement n'a pas été modifié. |
Les constantes RecordTypeEnum indiquent le type de l'objet Record.
Objet_Record.RecordType = RecordTypeEnum
Constante | Valeur | Description |
---|---|---|
adSimpleRecord | 0 | indique un enregistrement simple ne contenant pas de noeuds enfants. |
adCollectionRecord | 1 | indique une collection d'enregistrements contenant des noeuds enfants. |
adRecordUnknown | -1 | indique que le type de cet enregistrement est inconnu. |
adStructDoc | 2 | indique un type spécial de collection d'enregistements qui représente des documents structurés COM. |
Les constantes ResyncEnum indique si les valeurs sous-jacentes sont recopiées par un appel à la méthode Resync.
Objet_Recordset.Resync AffectEnum, ResyncEnum
Constante | Valeur | Description |
---|---|---|
adResyncAllValues | 2 | par défaut, recopie les données et durant les mises à jour sont annulées. |
adResyncUnderlyingValues | 1 | ne recopie pas les données, et durant les mises à jour ne sont pas annulés. |
Les constantes SaveOptionsEnum spécifient si un fichier doit être créé ou recopié lors de la sauvegarde à partir d'un objet Stream. Les valeurs peuvent être combinées avec un opérateur AND.
Objet_Stream.SaveToFile Fichier, SaveOptionsEnum
Constante | Valeur | Description |
---|---|---|
adSaveCreateNotExist | 1 | par défaut, crée un nouveau fichier si le fichier spécifié par le paramètre Fichier n'existe pas déjà. |
adSaveCreateOverWrite | 2 | recopie le fichier avec les données provenant de l'objet Stream courant ouvert, si le fichier spécifié par le paramètre Fichier existe déjà. |
Les constantes SchemaEnum indique le type de schéma d'un jeu d'enregistrements Recordset que la méthode OpenSchema récupère.
Set Objet_Recordset = _ Objet_Connection.OpenSchema(SchemaEnum, _ Critères, ID_Schema)
Constante | ||
---|---|---|
Valeur | Description | Contraintes |
adSchemaAsserts | ||
0 | retourne les assertions définies dans le catalogue qui sont possédées par un utilisateur donné. | (ASSERTIONS Rowset) CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME |
adSchemaCatalogs | ||
1 | retourne les attributs physiques associés aux catalogues accessibles du DBMS. | (CATALOGS Rowset) CATALOG_NAME |
adSchemaCharacterSets | ||
2 | retourne les jeux de caractères définis dans le cataloguequi sont accessible à un utilisateur donné. | (CHARACTER_SETS Rowset) CHARACTER_SET_CATALOG CHARACTER_SET_SCHEMA CHARACTER_SET_NAME |
adSchemaCheckConstraints | ||
5 | retourne les contraintes vérifiées définies dans le catalogue qui sont possédées par un utilisateur donné. | (CHECK_CONSTRAINTS Rowset) CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME |
adSchemaCollations | ||
3 | retourne les comparaisons de caractères définies dans le catalogue qui sont accessibles à un utilisateur donné. | (COLLATIONS Rowset) COLLATION_CATALOG COLLATION_SCHEMA COLLATION_NAME |
adSchemaColumnPrivileges | ||
13 | retourne les privilèges sur des colonnes de tables définis dans le catalogue qui sont disponible ou accordés à un utilisateur donné. | (COLUMN_PRIVILEGES Rowset) TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME GRANTOR GRANTEE |
adSchemaColumns | ||
4 | retourne les colonnes de tableaux définies dans le catalogue qui sont accessibles à un utilisateur donné. | (COLUMNS Rowset) TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME |
adSchemaColumnsDomainUsage | ||
11 | retourne les colonnes définies dans le catalogue qui sont dépendants d'un domaine défini dans le catalogue et possédé par un utilisateur donné. | (COLUMN_DOMAIN_USAGE Rowset) DOMAIN_CATALOG DOMAIN_SCHEMA DOMAIN_NAME COLUMN_NAME |
adSchemaConstraintColumnUsage | ||
6 | retourne les colonnes utilisées par des contraintes référentielles, contraintes uniques, contraintes vérifiées, et assertions, définis dans le catalogue et possédés par un utilisateur donné. | (CONSTRAINT_COLUMN_USAGE Rowset) TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME |
adSchemaConstraintTableUsage | ||
7 | retourne les tableaux qui sont utilisés par des contraintes référentielles, contraintes uniques, contraintes vérifiées et assertions définis dans le catalogue et possédés par un utilisateur donné. | (CONSTRAINT_TABLE_USAGE Rowset) TABLE_CATALOG TABLE_SCHEMA TABLE_NAME |
adSchemaCubes | ||
32 | retourne les informations à propos des cubes disponibles dans un schéma. | (CUBES Rowset*) CATALOG_NAME SCHEMA_NAME CUBE_NAME |
adSchemaDBInfoKeywords | ||
30 | retourne une liste de mots-clés d'un fournisseur spécifique. | (IDBInfo::GetKeywords *) |
adSchemaDBInfoLiterals | ||
31 | retourne une liste de littéraux d'un fournisseur spécifique utilisés dans les commandes textuelles. | (IDBInfo::GetLiteralInfo *) |
adSchemaDimensions | ||
33 | retourne les informations à propos des dimensions d'un cube donné. | (DIMENSIONS Rowset *) CATALOG_NAME SCHEMA_NAME CUBE_NAME DIMENSION_NAME DIMENSION_UNIQUE_NAME |
adSchemaForeignKeys | ||
27 | retourne les colonnes clés extérieurs définies dans le catalogue par un utilisateur donné. | (FOREIGN_KEYS Rowset) PK_TABLE_CATALOG PK_TABLE_SCHEMA PK_TABLE_NAME FK_TABLE_CATALOG FK_TABLE_SCHEMA FK_TABLE_NAME |
adSchemaHierarchies | ||
34 | retourne les informations à propos des hiérarchies disponibles dans un dimension. | (HIERARCHIES Rowset *) CATALOG_NAME SCHEMA_NAME CUBE_NAME DIMENSION_UNIQUE_NAME HIERARCHY_NAME HIERARCHY_UNIQUE_NAME |
adSchemaIndexes | ||
12 | retourne les index définis dans le catalogue qui sont possédés par un utilisateur donné. | (INDEXES Rowset) TABLE_CATALOG TABLE_SCHEMA INDEX_NAME TYPE TABLE_NAME |
adSchemaKeyColumnUsage | ||
8 | retourne les colonnes définies dans le catalogue qui sont contraint comme des clés par un utilisateur donné. | (KEY_COLUMN_USAGE Rowset) CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME |
adSchemaLevels | ||
35 | retourne les informations à propos des niveaux disponibles dans un dimension. | (LEVELS Rowset*) CATALOG_NAME SCHEMA_NAME CUBE_NAME DIMENSION_UNIQUE_NAME HIERARCHY_UNIQUE_NAME LEVEL_NAME LEVEL_UNIQUE_NAME |
adSchemaMeasures | ||
36 | retourne les informations à propos des mesures. | (MEASURES Rowset *) CATALOG_NAME SCHEMA_NAME CUBE_NAME MEASURE_NAME MEASURE_UNIQUE_NAME |
adSchemaMembers | ||
38 | retourne les informations à propos des membres. | (MEMBERS Rowset *) CATALOG_NAME SCHEMA_NAME CUBE_NAME DIMENSION_UNIQUE_NAME HIERARCHY_UNIQUE_NAME LEVEL_UNIQUE_NAME LEVEL_NUMBER MEMBER_NAME MEMBER_UNIQUE_NAME MEMBER_CAPTION MEMBER_TYPE |
adSchemaPrimaryKeys | ||
28 | retourne les colonnes des clés primaires définies dans le catalogue par un utilisateur donné. | (PRIMARY_KEYS Rowset) PK_TABLE_CATALOG PK_TABLE_SCHEMA PK_TABLE_NAME |
adSchemaProcedureColumns | ||
29 | retourne les informations à propos des colonnes et des jeux de lignes retournés par des procédures. | (PROCEDURE_COLUMNS Rowset) PROCEDURE_CATALOG PROCEDURE_SCHEMA PROCEDURE_NAME COLUMN_NAME |
adSchemaProcedureParameters | ||
26 | retourne les informations à propos des paramètres et retourne les codes des procédures. | (PROCEDURE_PARAMETERS Rowset) PROCEDURE_CATALOG PROCEDURE_SCHEMA PROCEDURE_NAME PARAMETER_NAME |
adSchemaProcedures | ||
16 | retourne les rocédures définies dans le catalogue qui sont possédés par un utilisateur donné. | (PROCEDURES Rowset) PROCEDURE_CATALOG PROCEDURE_SCHEMA PROCEDURE_NAME PROCEDURE_TYPE |
adSchemaProperties | ||
37 | retourne les informations à propos des propriétés disponibles pour chaque niveau des dimensions. | (PROPERTIES Rowset *) CATALOG_NAME SCHEMA_NAME CUBE_NAME DIMENSION_UNIQUE_NAME HIERARCHY_UNIQUE_NAME LEVEL_UNIQUE_NAME MEMBER_UNIQUE_NAME PROPERTY_TYPE PROPERTY_NAME |
adSchemaProviderSpecific | ||
-1 | utilisé si le fournisseur définit ses propres requêtes de schéma non-standards. | |
adSchemaProviderTypes | ||
22 | retourne les types de données supportés par le fournisseur de données. | (PROVIDER_TYPES Rowset) DATA_TYPE BEST_MATCH |
adSchemaReferentialConstraints | ||
9 | retourne les contraintes référentielles définies dans le catalogue qui sont possédées par un utilisateur donné. | (REFERENTIAL_CONSTRAINTS Rowset) CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME |
adSchemaSchemata | ||
17 | retourne les schémas qui sont possédés par un utilisateur donné. | (SCHEMATA Rowset) CATALOG_NAME SCHEMA_NAME SCHEMA_OWNER |
adSchemaSQLLanguages | ||
18 | retourne les niveaux de conformité, les options, et les dialectes supportés par le traitement de données SQL défini dans le catalogue. | (SQL_LANGUAGES Rowset) |
adSchemaStatistics | ||
19 | retourne les statistiques définies dans le catalogue qui sont possédées par un utilisateur donné. | (STATISTICS Rowset) TABLE_CATALOG TABLE_SCHEMA TABLE_NAME |
adSchemaTableConstraints | ||
10 | retourne les tableaux de contraintes définis dans le catalogue qui sont possédés par un utilisateur donné. | (TABLE_CONSTRAINTS Rowset) CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE |
adSchemaTablePrivileges | ||
14 | retourne les provilèges sur des tableaux définis dans le catalogue qui sont disponibles ou concédés par un utilisateur donné. | (TABLE_PRIVILEGES Rowset) TABLE_CATALOG TABLE_SCHEMA TABLE_NAME GRANTOR GRANTEE |
adSchemaTables | ||
20 | retourne les tableaux définis dans le catalogue qui sont accessibles à un utilisateur donné. | (TABLES Rowset) TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE |
adSchemaTranslations | ||
21 | retourne les traductions de caractères définis dans le catalogue qui sont accessibles à un utilisateur donné. | (TRANSLATIONS Rowset) TRANSLATION_CATALOG TRANSLATION_SCHEMA TRANSLATION_NAME |
adSchemaTrustees | ||
39 | réservé pour une future utilisation. | |
adSchemaUsagePrivileges | ||
15 | retourne les privilèges en usage sur des objets définis dans le catalogue qui sont disponibles et concédés par un utilisateur donné. | (USAGE_PRIVILEGES Rowset) OBJECT_CATALOG OBJECT_SCHEMA OBJECT_NAME OBJECT_TYPE GRANTOR GRANTEE |
adSchemaViewColumnUsage | ||
24 | retourne les colonnes sur lesquelles sont vus des tableaux définis dans le catalogue et possédés par un utilisateur donné, sont dépendant. | (VIEW_COLUMN_USAGE Rowset) VIEW_CATALOG VIEW_SCHEMA VIEW_NAME |
adSchemaViews | ||
23 | retourne les vues définies dans le catalogue qui sont accessibles à un utilisateur donné. | (VIEWS Rowset) TABLE_CATALOG TABLE_SCHEMA TABLE_NAME |
adSchemaViewTableUsage | ||
25 | retourne les tableaux sur lesquels des tableaux sont vus, définis dans le catalogue et possédés par un utilisateur donné, sont dépendants. | (VIEW_TABLE_USAGE Rowset) VIEW_CATALOG VIEW_SCHEMA VIEW_NAME |
Les constantes SearchDirectionEnum indiquent la direction d'une recherche d'enregistrement à l'intérieur d'un objet recordset
Objet_Recordset.Find(Critère, Saut_ligne, _ SearchDirectionEnum, Démarrage)
Constante | Valeur | Description |
---|---|---|
adSearchBackward | -1 | recherche en arrière, stoppant au début de l'objet Recordset. Si une correspondance n'est pas trouvée, le pointeur d'enregistrement est positionné à BOF (Before Of File). |
adSearchForward | 1 | recherche en avant, stoppant à la fin de l'objet Recordset. Si une correspondance n'est pas trouvée, le pointeur d'enregistrement est positionné à EOF (End Of File). |
Les constantes SeekEnum indique le type de recherche à exécuter.
Objet_Recordset.Seek Tableau_Valeurs, SeekEnum
Constante | Valeur | Description |
---|---|---|
adSeekFirstEQ | 1 | recherche le premier index égal au tableau de valeurs spécifié. |
adSeekLastEQ | 2 | recherche le dernier index au tableau de valeurs spécifié. |
adSeekAfterEQ | 4 | recherche soit un index égal au tableau de valeurs spécifié, soit juste après où cette correspondance se serait présentée. |
adSeekAfter | 8 | recherche un index juste après où une correspondance avec un tableau de valeurs se serait présentée. |
adSeekBeforeEQ | 16 | recherche soit un index égal au tableau de valeurs, soit juste avant où cette correspondance se serait présentée. |
adSeekBefore | 32 | recherche une clé juste avant où une correspondance avec le tableau de valeurs se serait présentée. |
Les constantes de la méthode Stat, c'est-à-dire StatStg et StatFlag permettent de récupérer une information à propos de l'objet Stream.
Objet_Stream.Stat(StatStgEnum, StatFlag)
Le paramètre StatStg indique une structure STATSTG qui sera remplie avec l'information à proposde l'objet Stream. La mise en oeuvre de la méthode Stat utilisée par l'objet Stream d'ADO ne se remplit pas dans tous les champs de la structure.
Le paramètre StatFlag indique que cette méthode ne retourne aucuns des membres dans la structure de STATSTG, sauvegardant ainsi une opération d'allocation de mémoire. Les valeurs sont fixées selon les valeurs possibles de STATFLAG.
Constante | Valeur |
---|---|
STATFLAG_DEFAULT | 0 |
STATFLAG_NONAME | 1 |
Les constantes StreamOpenOptionsEnum indiquent les options pour l'ouverture d'un objet Stream. Les valeurs peuvent être combinées par un opérateur OR.
Objet_Stream.Open Source, ConnectModeEnum, _ StreamOpenOptionsEnum, Nom_Utilisateur, Mot_Passe
Constante | Valeur | Description |
---|---|---|
adOpenStreamAsync | 1 | ouvre l'objet Stream dans un mode asynchrone. |
adOpenStreamFromRecord | 4 | identifie le contenu du paramètre Source pour être un objet Record déjà ouvert. Le comportement par défaut est de traiter la Source comme une URL qui pointe directement vers un noeud dans une arborescence. Le flux par défaut associé avec ce noeud est ouvert. |
adOpenStreamUnspecified | -1 | par défaut, indique l'ouverture de l'objet Stream avec les options par défaut. |
Les constantes StreamTypeEnum indiquent le type de données stockées dans un objet Stream.
Objet_Stream.Type = StreamTypeEnum
Constante | Valeur | Description |
---|---|---|
adTypeBinary | 1 | indique des données binaires. |
adTypeText | 2 | par défaut, indique des données textuelles converties dans le jeu de caractères spécifié. |
Les constantes StreamWriteEnum indiquent si un séparateur de ligne est ajouté à une chaîne de caractères écrite dans un objet Stream.
Objet_Stream.WriteText Donnée, StreamWriteEnum
Constante | Valeur | Description |
---|---|---|
adWriteChar | 0 | par défaut, écrit le texte spécifié par le paramètre Donnée vers l'objet Stream. |
adWriteLine | 1 | écrit un texte et un séparateur de lignes dans un objet Stream. Si la propriété LineSeparator n'est pas définie, alors elle retourne un erreur de traitement. |
La constante StringFormatEnum indique le format à utiliser pour construire la chaîne de caractères retournée suite à la récupération des enregistrements.
Objet_Recordset.GetString(StringFormatEnum)
Constante | Valeur | Description |
---|---|---|
adClipString | 2 | délimite les lignes par un retour charriot (CARRIAGE RETURN), les colonnes par une tabulation (TAB) et la valeur Null par une chaîne vide (EMPTY-string). |
Les commandes select et FROM sont utilsées pour sélectionner des tables dans une base de données.
Il est également possible de sélectionner de un à plusieurs champs en séparant les noms de champs ou de colonnes par une virgule. Pour sélectionner tous les champs, il suffit d'utiliser une étoile à la place des nomds de champs.
select nom_champ,..., nom_champN FROM nom_table
Librairie | |||
---|---|---|---|
ISBN | Livre | Editeur | Prix |
1565926978 | ORACLE SQL : THE ESSENTIAL REFERENCE (EN ANGLAIS) | O'REILLY | 330.00 |
1565929489 | ORACLE SQL* LOADER : THE DEFINITIVE GUIDE (EN ANGLAIS) | O'REILLY | 286.00 |
2212092857 | INITIATION A SQL - COURS ET EXERCICES CORRIGES | EYROLLES | 183.00 |
2744009296 | SQL | CAMPUSPRESS FRANCE | 62.00 |
2744090034 | MAITRISEZ SQL | WROX PRESS | 286.00 |
2840725029 | SQL | ENI | 140.00 |
2840828987 | KIT DE FORMATION MICROSOFT SQL SERVER 2000 ADMINISTRATION SYSTEME | MICROSOFT PRESS | 284.00 |
select Livre FROM Librairie ' retourne ORACLE SQL : THE ESSENTIAL REFERENCE (EN ANGLAIS) ORACLE SQL* LOADER : THE DEFINITIVE GUIDE (EN ANGLAIS) INITIATION A SQL - COURS ET EXERCICES CORRIGES SQL MAITRISEZ SQL SQL KIT DE FORMATION MICROSOFT SQL SERVER 2000 ADMINISTRATION SYSTEME
La commande DISTINCT sélectionne chaque élément distinct d'une colonne de données.
La commande ALL indique que les doublons peuvent apparaître dans le résultat d'une requête, elle constitue la commande par défaut de select.
select DISTINCT nom_champ FROM nom_table
select DISTINCT Livre FROM Librairie ' retourne ORACLE SQL : THE ESSENTIAL REFERENCE (EN ANGLAIS) ORACLE SQL* LOADER : THE DEFINITIVE GUIDE (EN ANGLAIS) INITIATION A SQL - COURS ET EXERCICES CORRIGES SQL MAITRISEZ SQL KIT DE FORMATION MICROSOFT SQL SERVER 2000 ADMINISTRATION SYSTEME
La commande WHERE pose une condition dans la requête de sélection. L'expression conditionnelle peut être construite à l'aide de plusieurs prédicats constitués d'opérateurs de comparaisons (= | <> | != | > | > = | !> | < | <= | !<)et séparés par des opérateurs booléens AND, OR ou NOT.
select "nom_champ" FROM "nom_table" WHERE "condition"
select Livre FROM Librairie WHERE Prix < 200 ' retourne INITIATION A SQL - COURS ET EXERCICES CORRIGES SQL SQL
La commande GROUP BY spécifie des groupes dans lesquels les lignes de sortie doivent être placées et calcule une valeur de résumé pour chacun des groupes si des fonctions d'agrégation sont employées avec la commande select.
select nom_champ, Fonction_Agregation FROM nom_table GROUP BY nom_champ2
select Editeur, SUM(Prix) FROM Librairie GROUP BY Editeur ' retourne
O'REILLY 616.00 EYROLLES 183.00 CAMPUSPRESS FRANCE 62.00 WROX PRESS 286.00 ENI 140.00 MICROSOFT PRESS 284.00
La commande HAVING spécifie un critère de recherche pour un groupe ou une fonction d'agrégation. HAVING est génralement utilisé avec GROUP BY, sinon HAVING se comporte à l'instar de WHERE.
select nom_champ, Fonction_Agregation FROM nom_table GROUP BY nom_champ2 HAVING "Condition"
select Editeur, SUM(Prix) FROM Librairie GROUP BY Editeur HAVING SUM(Prix) > 200 ' retourne
O'REILLY 616.00 WROX PRESS 286.00 MICROSOFT PRESS 284.00
Les alias concourrent à améliorer la lisibilité d'une requête. Il existe deux types d'alias : les alias de tables et les alias de champs. Les alias peuvent également s'appliquer à une fonction d'agrégation retournant des données sous forme de colonnes.
select Alias_table.nom_champ Alias_champ FROM nom_table AS Alias_table
select L.Editeur Edi, SUM(L.Prix) F FROM Librairie As L GROUP BY Edi HAVING F > 200 ' retourne
O'REILLY 616.00 WROX PRESS 286.00 MICROSOFT PRESS 284.00
Les commandes de jointures de tables donnent la possibilité d'appliquer des requêtes sur plusieurs tables d'une base de données.
select tab.nom_champ FROM nom_table As tab [INNER | {{LEFT | RIGHT | FULL } [ OUTER]}] JOIN nom_table2 As tab2 ON Condition
La condition de la commande ON permet de comparer les tables jointes par l'intermédiaire de champs dont les valeurs sont identiques et comparables.
INNER JOIN (option par défaut) indique toutes les paires correspondantes des lignes renvoyées et supprime les lignes n'ayant pas de correspondance entre les deux tables.
FULL OUTER JOIN indique qu'une ligne de la table de gauche ou de droite, ne respectant pas la condition de jointure, est comprise dans le jeu de résultats et que les colonnes de sortie correspondant à l'autre table comportent des valeurs NULL.
LEFT OUTER JOIN indique que toutes les lignes de la table de gauche ne respectant pas la condition de jointure sont incluses dans le jeu de résultats, et que les colonnes de sortie de l'autre table ont des valeurs NULL en plus de toutes les lignes renvoyées par la jointure interne.
RIGHT OUTER JOIN indique que toutes les lignes de la table de droite ne respectant pas la condition de jointure sont comprises dans le jeu de résultats, et que les colonnes de sortie correspondant à l'autre table ont des valeurs NULL en plus de toutes les lignes renvoyées par la jointure interne.
Edition | |
---|---|
Editeur | Adresse URL |
O'REILLY | http://www.oreilly.com/ |
CAMPUSPRESS FRANCE | http://www.campuspress.fr/ |
WROX PRESS | http://www.wrox.com/ |
MICROSOFT PRESS | http://www.microsoft.com/mspress/ |
select L.ISBN, L.Editeur, E.Adresse FROM Librairie As L INNER JOIN Edition As E ON L.Editeur = E.Editeur
' retourne | ||
ISBN | Editeur | Adresse |
---|---|---|
1565926978 | O'REILLY | http://www.oreilly.com/ |
1565929489 | O'REILLY | http://www.oreilly.com/ |
2744009296 | CAMPUSPRESS FRANCE |
http://www.campuspress.fr/ |
2744090034 | WROX PRESS | http://www.wrox.com/ |
2840828987 | MICROSOFT PRESS |
http://www.microsoft.com/mspress/ |
select L.ISBN, L.Editeur, E.Adresse FROM Librairie As L LEFT OUTER JOIN Edition As E ON L.Editeur = E.Editeur
' retourne | ||
ISBN | Editeur | Adresse |
---|---|---|
1565926978 | O'REILLY | http://www.oreilly.com/ |
1565929489 | O'REILLY | http://www.oreilly.com/ |
2212092857 | EYROLLES | NULL |
2744009296 | CAMPUSPRESS FRANCE |
http://www.campuspress.fr/ |
2744090034 | WROX PRESS | http://www.wrox.com/ |
2840725029 | ENI | NULL |
2840828987 | MICROSOFT PRESS |
http://www.microsoft.com/mspress/ |
Les fonctions d'agrégation accomplissent un calcul sur plusieurs valeurs et retournent un résultat et sont souvent utilisées avec les commandes GROUP BY et select.
Hormis la fonction COUNT, les fonctions d'agrégation ne tiennent pas compte des valeurs NULL.
Fonction | Description |
---|---|
AVG | retourne la moyenne des valeurs d'un groupe. |
BINARY_CHECKSUM | retourne la valeur totale de contrôle binaire calculée à partir d'une ligne d'une table ou d'une liste d'expressions. |
CHECKSUM | retourne la valeur de checksum calculée dans une ligne d'une table ou dans une liste d'expressions. |
CHECKSUM_AGG | retourne le checksum des valeurs d'un groupe. |
COUNT | retourne le nombre d'éléments figurant dans un groupe. |
COUNT_BIG | retourne le nombre d'éléments figurant dans un groupe. |
MAX | retourne la valeur maximale de l'expression. |
MIN | retourne la valeur minimale de l'expression. |
SUM | retourne la somme de toutes les valeurs |
STDEV | retourne l'écart type de toutes les valeurs de l'expression spécifiée. |
STDEVP | retourne l'écart type de remplissage pour toutes les valeurs de l'expression spécifiée. |
var | retourne la variance de toutes les valeurs de l'expression spécifiée. |
VARP | retourne la variance de remplissage pour toutes les valeurs de l'expression spécifiée. |
select COUNT(Livre) FROM Librairie ' retourne 7 SELECT SUM(Prix) FROM Librairie ' retourne 1 571