bonjour,
je developpe actuellement une appli communicant avec une base de donnees access 2000 grace a ADOLib (encapsulation d'ADO)
j'execute le code suivant pour me connecter a la bdd :
jusque la tout se passe bien a part le fait que quand je veux executer "ADOConnect myConn; " en mode pas a pas il me demande le path de "vc60.pdb".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 CString sProvider("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\\Developpement\\Projet Messagerie\\Access\\db_essai.mdb;Persist Security Info=False"); ADOConnect myConn; if (!myConn.Connect(sProvider)) { cout << myConn.GetError() << endl; //Affichage de l'erreur en cas de problème exit (0); }
Ce fichier est present mais il dit que ce n'est pas le bon, je fait donc annuler et continu l'execution en pas a pas.
Par la suite j'execute les ligne suivante:
là, a l'execution de la ligne avec le "if", j'ai le message suivant dans la fenetre de debug :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 ADOSelect mySel1; CString* rsql1 = new CString("SELECT id FROM utilisateur WHERE utilisateur.password = \'" + password + "\' AND utilisateur.login = \'" + login + "\'"); int id_u = 0; if (!mySel1.Open(myConn.ADOConn, *rsql1)){ cout << mySel1.GetError() << endl; // Affichage de l'erreur } else { mySel1.Fetch(); ...
First-chance exception in appli1.exe (KERNEL32.DLL): 0xE06D7363: Microsoft C++ Exception.
et dans la console :
800 - Unknown error 0x800A0E7D
ADODB.Recordset
Impossible d'utiliser cette connexion pour effectuer cette opÚration. Elle est fermÚe ou non valide dans ce contexte.
j'ai alors changer la connect string en :
Provider=Microsoft.Jet.OLEDB.4.0;User ID=admin;Data Source=G:\Developpement\Projet Messagerie\Access\db_essai.mdb;Mode=ReadWrite;Persist Security Info=False
et quelques autres se rapprochant mais ça ne change rien
je solicite alors votre aide
merci d'avance
Partager