jeudi 13 juin 2013

Écrivez votre propre code de base de données en VB. NET

Dans cette section, nous allons jeter un regard sur les objets que vous pouvez utiliser pour ouvrir et lire les données d'une base de données. Nous nous en tiendrons à notre base de données Access, le AddressBook.mdb un, et de recréer ce que l'Assistant a fait. De cette façon, vous verrez par vous-même ce qui se passe dans les coulisses.
Alors fermez tous les projets ouverts, et en créer un nouveau. Donnez-lui le nom que vous voulez, et nous allons commencer.
Si vous n'avez pas encore téléchargé la base de données du carnet d'adresses, vous pouvez l'obtenir ici:


L'objet de connexion

L'objet de connexion est ce qu'il vous faut si vous souhaitez vous connecter à une base de données. Il ya un certain nombre de différents objets de connexion, et celui que vous utilisez dépend en grande partie du type de base de données auquel vous vous connectez. Parce que nous sommes la connexion à une base de données Access, nous aurons besoin de quelque chose qui s'appelle l'objet de connexion OLE DB.
OLE signifie Object Linking and Embedding, et son fondamentalement un grand nombre d'objets (objets COM) regroupé qui vous permettent de connecter aux sources de données en général, et pas seulement les bases de données. Vous pouvez l'utiliser, par exemple, de se connecter à des fichiers texte, SQL Server, email, et un ensemble beaucoup plus.
Il ya un certain nombre de différents objets OLE DB (appelé fournisseurs de données), mais celle que nous allons utiliser est appelé "Jet". D'autres sont SQL Server et Oracle.
Donc placer un bouton sur votre formulaire. Changez la propriété Nom de btnLoad. Double-cliquez sur le bouton pour ouvrir la fenêtre de code. Ajoutez la ligne suivante:
Con As New OleDb.OleDbConnection
Le con variables détiendra désormais la connexion Objec t. Notez qu'il ya un point après la partie OleDB. Vous obtenez alors une boîte de pop up où vous pouvez sélectionner OleDbConnection. Nous sommes également créer un nouvel objet sur ​​ce line.This est l'objet que vous utilisez pour vous connecter à une base de données Access.

Définition d'une chaîne de connexion

Il ya des propriétés et méthodes associées à l'objet de connexion, bien sûr. Nous voulons commencer avec la propriété ConnectionString. Cela peut prendre des paramètres nombreux. Heureusement, nous avons seulement besoin d'un peu d'entre eux.
Nous avons besoin de passer deux choses à notre nouvel objet de connexion: la technologie que nous voulons utiliser pour faire la connexion à notre base de données, et où la base de données. (Si votre base de données était de passe et nom d'utilisateur protégé, vous devez ajouter ces deux paramètres ainsi. Ours est pas, donc nous avons seulement besoin des deux.)
La technologie est appelée le fournisseur, et que vous utilisez une source de données pour spécifier où votre base de données est. Alors ajouter à votre code:
Dim dbProvider As String
Dim dbSource As String
dbProvider = "Provider = Microsoft.Jet.OLEDB.4.0;"
dbSource = "Data Source = C :/ AddressBook.mdb"
con.ConnectionString = dbProvider & dbSource
La première partie spécifie quel fournisseur technologie que nous voulons utiliser pour faire le raccordement (JET). La deuxième partie, après avoir tapé un point-virgule, souligne à l'endroit où la base de données est. Dans le code ci-dessus, la base de données se trouve sur le lecteur C, dans le dossier racine. Le nom du fichier Access nous voulons nous connecter à ce qu'on appelle AddressBook.mdb. (Notez que "Data Source" est deux mots, et pas un seul.)
Si vous préférez, vous pouvez avoir le fournisseur et la source sur une ligne, comme ci-dessous (il est sur deux ici, car il ne tient pas sur une seule ligne):
con.ConnectionString = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = C: \ AddressBook.mdb"
La première partie spécifie quel fournisseur technologie que nous voulons utiliser pour faire le raccordement (JET). La deuxième partie, après avoir tapé un point-virgule, souligne à l'endroit où la base de données est. Dans le code ci-dessus, la base de données se trouve sur le lecteur C, dans le dossier racine. Le nom du fichier Access nous voulons nous connecter à ce qu'on appelle AddressBook.mdb. (Notez que "Source de données" est deux mots, et pas un seul.)
Mais votre fenêtre de codage devrait ressembler à ceci:
Cela suppose que vous avez copié la base de données du carnet d'adresses sur le dossier racine de votre lecteur C. Si vous avez copié dans un autre dossier, modifiez la partie "Data Source" pour correspondre. Par exemple, si vous avez copié dans un dossier appelé "bases de données" que vous mettiez ceci:
Data Source = C: \ databases \ AddressBook.mdb
Vous pouvez également spécifier un dossier comme Mes documents (ou Documents dans Vista et Windows 7). Vous le faites comme ceci:
dbSource = "Data Source = C: \ Users \ Propriétaire \ Documents \ AddressBook.mdb"
Une autre façon de spécifier un chemin de fichier est le suivant:
Fldr Dim As String
fldr = Environment.GetFolderPath (Environment.SpecialFolder.MyDocuments) & "/ AddressBook.mdb"
dbSource = "Data Source =" & fldr
Sur la deuxième ligne, réparti sur deux lignes dans le code ci-dessus, nous avons ceci:
Environment.GetFolderPath ()
Le chemin du dossier que vous obtenez va entre les parenthèses de GetFolderPath:
Environment.SpecialFolder.MyDocuments
Le dossier spécial dans cette affaire est le dossier Mes documents.
Mais revenons à notre code de connexion. ConnectionString est une propriété de la variable con. La variable con tient notre objet Connection. Nous passons la chaîne de connexion le nom d'un fournisseur de données, et un chemin d'accès à la base de données.

Ouverture de la connexion

Maintenant que nous avons un ConnectionString, nous pouvons aller de l'avant et d'ouvrir la base de données devrait. C'est assez facile - il suffit d'utiliser la méthode Open de l'objet de connexion:
con.Open ()
Une fois ouvert, la connexion doit être fermée à nouveau. Cette fois, il suffit d'utiliser la méthode Close:
con.close ()
Ajouter les quatre lignes suivantes à votre code:
con.Open ()
MsgBox ("Base de données est maintenant ouverte")
con.close ()
MsgBox ("Base de données est maintenant terminée")
Votre fenêtre de codage sera alors ressembler à ceci (utiliser le chemin du fichier ci-dessous, si vous avez Vista ou Windows 7, après le déplacement de la base de données à votre dossier Documents):
Testez votre nouveau code en cours d'exécution de votre programme. Cliquez sur le bouton et les deux boîtes de message doit s'afficher. S'ils ne le font pas, assurez-vous que votre chemin de la source de données est correcte. Si ce n'est pas, vous pourriez voir ce message d'erreur:
OleDbException erreur
Le message d'erreur est un peu sur le côté vague et mystérieux. Mais ce qu'il dit, c'est qu'il ne peut pas trouver le chemin de la base de données, de sorte qu'il ne peut pas ouvrir la connexion. Le con.Open de ligne dans votre code sera alors surligné en vert. Vous devez spécifier le chemin d'accès à votre base de données. Lorsque vous le faites, vous verrez les boîtes de message de notre code, et non le grand-dessus.
Maintenant que nous avons ouvert une connexion à la base de données, nous avons besoin de lire les informations de celle-ci. C'est là que le DataSet et DataAdapter entrent en jeu.

0 commentaires:

Enregistrer un commentaire