Bonjour � tous
j'essaye de cr�er une base de donn�es Acess avec ADO mais je rencontre un petit probl�me
Je m'inspire de ceci mais cela ne fonctionne pas
http://www.developpez.net/forums/d79...onnees-access/
La cr�ation de la base vide se passe bien par contre j'ai une erreur d�s que j'essaye de cr�er une table
Voici mon code
Cr�ation de la base
Fonction de cr�ation des tables
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 // Chemin du fichier de Base de données BaseDonnees = ExtractFilePath(Application->ExeName) + "\\db.mdb"; // Provider Provider = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + BaseDonnees +";"; // Si le ficbier de base de données n'existe pas if(!FileExists(BaseDonnees.t_str())) { Variant vADO; // On crée la base de données vADO = Variant::CreateObject("ADOX.Catalog"); vADO.OleFunction("create", Provider.t_str()); // Création des tables et remplissage des pré-requis CreationTables(); // on termine vADO = Unassigned; } else { ShowMessage("La base de données existe déjà"); }
Quand j'ex�cute mon code, j'ai l'erreur suivante
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 // Méthode chargée de créer les tables void __fastcall TForm1::CreationTables(void) { // Connexion ADOConnection->ConnectionString = Provider; ADOConnection->LoginPrompt = false; ADOCommand->Connection = ADOConnection; // On crée la table patient String Requete; // On construit la requête de création de la table Patient Requete = "CREATE TABLE `Patient` ("; Requete += "`idPatient` INT NOT NULL AUTO_INCREMENT , "; Requete += "`NomPatient` VARCHAR(45), "; Requete += "`PrenomPatient` VARCHAR(45), "; Requete += "`SexePatient`VARCHAR(1), "; Requete += "`AgePatient`INT, "; Requete += "`TaillePatient` DOUBLE, "; Requete += "PRIMARY KEY (`idPatient`))"; // On crée la table ADOCommand->CommandText = Requete; ADOCommand->Execute(); }
Merci d'avance pour votre aide
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2 Exception déclenchée à $7C812AFB. Classe d'exception EOleException avec message '[Microsoft][Gestionnaire de pilotes ODBC] Nom de source de données trop long'. Processus Project1.exe (3104)
Partager