Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

Vous n'avez pas encore de compte Developpez.com ? L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Developpez.com

C++

Choisissez la catégorie, puis la rubrique :

logo
Sommaire > Bases de données > ADO
        Comment se connecter à une base Access avec ADO ?
        Comment créer une table dans une base Access avec ADO ?
        Comment ajouter un enregistrement dans une Table Access avec ADO ?



Comment se connecter à une base Access avec ADO ?
Créé le 06/12/2006[haut]
auteur : virtuA
Ajouter le composant ADOConnection sur votre fiche.
Utiliser le code suivant pour se connecter :

AnsiString strDir = "c:\\data.mdb";
 
try
{
ADOConnection1->ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;Mode=ReadWrite;Extended Properties=""DBQ="
                                    + (AnsiString)strDir + ";DefaultDir=" + (AnsiString)strDir
                                    + ";Driver={Driver do Microsoft Access (*.mdb)};DriverId=25;FIL=MS Access;FILEDSN="
                                    + (AnsiString)strDir + ";MaxBufferSize=2048;MaxScanRows=8;PageTimeout=5"
                                    + ";SafeTransactions=0;Threads=3;UID=admin;UserCommitSync=Yes;";
 
ADOConnection1->Open();
}
catch(Exception &exception)
{
MessageBox(Handle,"ERREUR Impossible d'ouvrir la Base de Donnée !!",
                 "Avertissement",MB_OK|MB_ICONSTOP ) ;
return;
}
Il est aussi possible de se connecter en faisant "clic droit sur le composant ADOConnection" puis -> "Modifier la chaîne de connexion".


Comment créer une table dans une base Access avec ADO ?
Créé le 06/12/2006[haut]
auteur : virtuA
Pour créer une table il suffit de passer par une requête SQL.
Il faut placer le Composant ADOQuery sur la fiche désirée (l'utilisation de ce code sous-entend que la connexion avec la base Access est établie).

  AnsiString Nom = "MATABLE";
  ADOQuery1->Connection = ADOConnection1; // Lien avec la Connection
  ADOQuery1->SQL->Clear();
  ADOQuery1->SQL->Add((String)"CREATE TABLE "+Nom+" (MONCHAMP1 INTEGER, MONCHAMP2 STRING)");
  ADOQuery1->ExecSQL();
La table "MATABLE" avec les champs "MONCHAMP1" (qui est un entier) et "MONCHAMP2" qui est une chaîne, est alors créée.


Comment ajouter un enregistrement dans une Table Access avec ADO ?
Créé le 06/12/2006[haut]
auteur : virtuA
Dans un premier temps, il faut établir la connexion avec la base de donnée et la table :

  • ADOConnection
  • ADOTable

// ouverture connexion, bdd et table
Form1->ADOConnection1->Open();
Form1->ADOTable1->Open();
Ajouter un enregistrement vide :

// position au début de la table
Form1->ADOTable1->First(); 
//Ajoute un enregistrement vide
Form1->ADOTable1->Append();
Mettre la table en mode Édition :

// Positionne la table en mode Edition
Form1->ADOTable1->Edit(); 
Puis il suffit de renseigner les champs désirés et de valider l'engeristrement :

Form1->ADOTable1->FieldByName("MONCHAMP1")->Value = 5;
Form1->ADOTable1->FieldByName("MONCHAMP2")->Value = "VALEUR";
// Valide l'édition dans la base de données
Form1->ADOTable1->Post(); 


Consultez les autres F.A.Q.


Valid XHTML 1.0 TransitionalValid CSS!

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2009 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Contacter le responsable de la rubrique C++

Partenaire : Hébergement Web