Utilisation du contrôle ADOData
Le contrôle ADOData utilise Microsoft ActiveX Data Objects (ADO) pour établir rapidement une connexion entre un contrôle lié aux données et un fournisseur de données. Un contrôle lié aux données est tout contrôle possédant une propriété DataSource. Le fournisseur de données peut être n’importe quelle source de données conforme à la spécification OLEDB. Vous pouvez également créer facilement des fournisseurs de données de sous-ensembles à l'aide des modules de classe de Visual Basic.
Bien que vous puissiez utiliser des objets de données ActiveX directement dans votre application, le contrôle ADOData présente les avantages d'être un contrôle graphique (avec des boutons « avant » et « arrière ») et une interface facile à utiliser qui vous permet d'utiliser un minimum de code. Créer une application de base de données.
Dans la « Boîte à outils » de Visual Basic, de nombreux contrôles peuvent être utilisés comme contrôles liés aux données, notamment les cases à cocher, les zones de liste déroulante, les images, les étiquettes, les zones de liste, les zones d'image et les contrôles de zone de texte. En outre, Visual Basic inclut également plusieurs contrôles ActiveX de liaison de données, tels que les contrôles DataGrid, DataCombo, Chart et DataList. Les utilisateurs peuvent également créer leurs propres contrôles ActiveX liés aux données ou acheter des contrôles auprès d'autres développeurs.
Les versions précédentes de Visual Basic fournissaient des contrôles de données intrinsèques et des contrôles RemoteData (RDC) pour l'accès aux données. Les deux contrôles sont toujours inclus dans Visual Basic pour assurer une compatibilité ascendante. Toutefois, étant donné qu'ADO est plus adaptable, il est recommandé aux utilisateurs d'utiliser le contrôle ADOData pour créer de nouvelles applications de base de données.
Plus d'informations Une liste complète des contrôles liés aux données se trouve dans « Contrôles liés aux contrôles ADOData ». Pour savoir comment utiliser ces contrôles de données intrinsèques ou le contrôle RemoteData, consultez « Utilisation des contrôles de données » ou « Utilisation des contrôles RemoteData ». Pour plus d'informations sur la création de fournisseurs de données, consultez « Création de classes de reconnaissance des données ».
Utilisation possible
Connectez-vous à une base de données locale ou distante.
Ouvre une table de base de données spécifiée ou définit un ensemble d'enregistrements basés sur une requête SQL (Structured Query Language), une procédure stockée ou une vue d'une table dans la base de données.
Transmettez les valeurs d'un champ de données aux contrôles liés aux données, où elles peuvent être affichées ou modifiées.
Ajoutez de nouveaux enregistrements ou mettez à jour une base de données en fonction des modifications apportées aux données affichées dans le contrôle lié.
Pour créer une application de base de données client ou frontale, ajoutez le contrôle ADOData au formulaire, ainsi que tous les autres contrôles Visual Basic requis. Vous pouvez placer plusieurs contrôles ADOData sur un formulaire en fonction de vos besoins. Cependant, veuillez noter que ce contrôle est un moyen plutôt « coûteux » de créer des connexions et doit être utilisé lorsque le premier contrôle a au moins deux connexions et que chaque contrôle suivant a au moins une connexion supplémentaire.
Créez une application de base de données frontale avec un minimum de code
En définissant quelques propriétés au moment de la conception, vous pouvez créer une application de base de données avec un minimum de code. Si vous utilisez une source de données OLEDB, le Microsoft DataLinkName (.MDL) correspondant doit être créé sur votre machine. Voir « Création d'OLEDBDataLink de Northwind » pour un exemple étape par étape.
Pour créer une application de base de données frontale simple :
1. Placez un contrôle ADOData sur le formulaire (la pointe de l'icône est ADODC). Si le contrôle n'est pas dans la "Boîte à outils", appuyez sur la touche CTRL T pour afficher la boîte de dialogue "Parties". Dans la boîte de dialogue Composants, cliquez sur MicrosoftADODataControl.
2. Dans la "Boîte à outils", cliquez pour sélectionner "ADOData Control". Appuyez ensuite sur la touche F4 pour afficher la fenêtre Propriétés.
3. Dans la fenêtre Propriétés, cliquez sur ConnectionString pour afficher la boîte de dialogue ConnectionString.
4. Si vous avez créé un fichier Microsoft DataLink (.MDL), sélectionnez « Utiliser le fichier OLEDB » et cliquez sur « Parcourir » pour localiser le fichier sur votre ordinateur. Si vous utilisez un DSN, cliquez sur Utiliser le nom de la source de données ODBC et sélectionnez un DSN dans la zone, ou cliquez sur Nouveau pour en créer un. Si vous souhaitez créer une chaîne de connexion, sélectionnez Utiliser ConnectionString, cliquez sur Générer, puis utilisez la boîte de dialogue Propriétés de liaison de données pour créer une chaîne de connexion. Après avoir créé la chaîne de connexion, cliquez sur OK. La propriété ConnectionString sera renseignée avec une chaîne similaire à la ligne suivante :
driver={SQLServer};server=bigsmile;uid=sa;pwd=pwd;database=pubs
5. Dans la fenêtre "Propriétés", définissez la propriété "Source d'enregistrement" sur une instruction SQL. Par exemple : SELECT*FROMTilesWHEREAuthorID=72 Lorsque vous accédez à une table, vous devez toujours inclure une clause WHERE. Dans le cas contraire, la table entière serait verrouillée, ce qui constituerait un sérieux obstacle pour les autres utilisateurs.
6. Placez un autre contrôle "Zone de texte" sur le formulaire pour afficher l'information de base de données.
7. Dans sa fenêtre "Propriétés", définissez la propriété "Data Source" de Text1 sur le nom du contrôle ADOData (ADODC1). Cela lie la zone de texte et le contrôle ADOData ensemble.
8. Dans sa fenêtre « Propriétés », cliquez sur « Champs de données » pour obtenir une liste déroulante des champs disponibles. Cliquez sur le nom du champ que vous souhaitez afficher.
9. Répétez les étapes 6, 7 et 8 pour chaque autre champ auquel vous souhaitez accéder.
10. Appuyez sur la touche F5 pour exécuter l'application. L'utilisateur peut utiliser les quatre boutons fléchés du contrôle ADOData, lui permettant d'atteindre le début des données, la fin de l'enregistrement ou de passer d'un enregistrement à un autre au sein des données.
Définissez ConnectionString, Source, DataSource et DataField dans le programme. Le code suivant montre comment définir ces quatre propriétés dans le programme. Notez que vous devez utiliser l'instruction Set pour définir la propriété DataSource.
PRivateSubForm_Load()
AvecADODC1
.ConnectionString=driver={SQLServer};&_
serveur=bigsmile;uid=sa;pwd=pwd;base de données=pubs
.RecordSource=Sélectionner*FromTitlesWhereAuthorID=7
FinPar
SetText1.DataSource=ADODC1
Text1.DataField=Titre
EndSub
Événements de contrôle ADOData
Le contrôle ADOData propose plusieurs événements programmables. Le tableau suivant décrit ces événements et le moment où ils se produisent, mais ce tableau ne constitue pas une liste complète de toutes les conditions liées au moment où ces événements se produisent. Pour des informations plus complètes, consultez les rubriques de référence sur les événements individuels.
Pour plus d'informations Si vous essayez d'utiliser le contrôle ADOData étape par étape, consultez « Création d'une application de base de données simple à l'aide de DataGrid et du contrôle de données ADO », « Création d'une application DataCombo simple » et « Création d'un DataGrid connecté à une DataList ». Contrôle."
Définir les propriétés liées à la base de données du contrôle ADOData
Lors de la création d'une connexion, vous pouvez utiliser l'une des trois sources suivantes : une chaîne de connexion, un fichier OLEDB (.MDL) ou un nom de source de données ODBC (DSN). Lorsque vous utilisez DSN, vous n'avez pas besoin de modifier les autres propriétés du contrôle.
Toutefois, si vous en savez plus sur la technologie des bases de données, vous pouvez modifier certaines autres propriétés qui apparaissent dans le contrôle ADOData. La liste suivante décrit certaines des propriétés liées à la base de données de ce contrôle. Cette liste suggère également l'ordre logique dans lequel définir ces propriétés.
Notez que la technologie des bases de données est complexe et que les suggestions suivantes ne sont pas censées être considérées comme des règles.
1.ConnectionString : la propriété ConnectionString est une chaîne qui peut contenir toutes les valeurs de paramètre requises pour établir une connexion. Les paramètres transmis dans cette chaîne sont spécifiques au pilote. Par exemple, le pilote ODBC permet à la chaîne de contenir le pilote, le fournisseur, la base de données par défaut, le serveur, le nom d'utilisateur, le mot de passe, etc.
2.UserName : nom de l'utilisateur Lorsque la base de données est protégée par mot de passe, cet attribut doit être spécifié. Semblable à la propriété Provider, cette propriété peut être spécifiée dans ConnectionString. Si une propriété ConnectionString et une propriété UserName sont fournies, la valeur de ConnectionString remplacera la valeur de la propriété UserName.
3.PassWord : également requis lors de l'accès à une base de données protégée. Semblable à l'attribut Provider et à l'attribut UserName, si un mot de passe est spécifié dans l'attribut ConnectionString, la valeur spécifiée dans cet attribut sera écrasée.
4.RecordSource - Cette propriété contient généralement une instruction utilisée pour déterminer les informations à récupérer de la base de données.
5.CommandType : l'attribut CommandType indique au fournisseur de données si l'attribut Source est une instruction SQL, le nom d'une table, une procédure stockée ou un type inconnu.
6.CursorLocation—Cet attribut spécifie l'emplacement du curseur, qu'il se trouve sur le client ou sur le serveur.
supérieur. Cette décision affectera vos paramètres pour les propriétés suivantes.
7.CursorType : l'attribut CursorType détermine si le jeu d'enregistrements est un type statique, un type dynamique ou un type de curseur de jeu de clés.
8.LockType : la propriété LockType détermine la manière dont les données que vous modifiez sont verrouillées lorsque quelqu'un d'autre tente de les modifier. La définition de cette propriété LockType est une décision complexe qui dépend de plusieurs facteurs.
9.Mode : l'attribut Mode détermine les opérations que vous souhaitez effectuer avec le jeu d'enregistrements. Par exemple, si vous souhaitez simplement créer un rapport, vous pouvez améliorer les performances en définissant cette propriété en lecture seule.
10.MaxRecords : cette propriété détermine la taille du curseur. La façon dont la valeur de cette propriété est déterminée dépend de la taille des enregistrements récupérés et de la quantité de ressources disponibles (mémoire) sur l'ordinateur. Un enregistrement volumineux (comprenant de nombreuses colonnes et de longues chaînes) coûte plus de ressources qu'un petit enregistrement. Par conséquent, la propriété MaxRecords ne peut pas être trop grande.
11.ConnectionTimeout : définissez le temps d'attente pour établir une connexion, en secondes. Si la connexion expire, une erreur est renvoyée.
12.CacheSize : l'attribut CacheSize spécifie le nombre d'enregistrements pouvant être récupérés à partir du curseur. Si CursorLocation est défini sur le client, cette propriété ne peut être définie que sur un petit nombre (peut-être 1) sans aucun effet négatif. Si la position du curseur est côté serveur, vous pouvez ajuster ce nombre en fonction du nombre de lignes que vous souhaitez pouvoir afficher en même temps. Par exemple, si vous utilisez le contrôle DataGrid pour afficher 30 lignes, vous pouvez définir CacheSize sur 60 afin de pouvoir faire défiler sans récupérer davantage de données.
13.BOFAction, EOFAction : ces deux propriétés déterminent le comportement du contrôle lorsqu'il se trouve au début et à la fin du curseur. Les options disponibles incluent le maintien au début ou à la fin, le déplacement vers le premier ou le dernier enregistrement ou l'ajout d'un nouvel enregistrement (uniquement à la fin).
Contrôles liés au contrôle ADOData
Tout contrôle doté d'une propriété DataSource peut être lié à un contrôle ADOData. Les contrôles intrinsèques suivants peuvent être liés au contrôle ADOData :
Case à cocher
ComboBox
Image
Étiquette
Zone de liste
Boîte à images
Zone de texte
Les contrôles ActiveX liés aux données suivants sont également disponibles dans toutes les versions de Visual Basic :
Liste de données
Combo de données
Grille de données
MicrosoftHierarchicalFlexGrid
RichTextBox
Graphique Microsoft
DateHeurePicker
ImageCombo
Vue mensuelle
Enfin, les utilisateurs peuvent créer leurs propres contrôles ActiveX liés aux données à l'aide d'objets DataBinding.
Pour plus d'informations sur la création de vos propres contrôles liés aux données, consultez « Création de contrôles utilisateur liés aux données ».
->