Probleme ecriture base avec ADO

Signaler
Messages postés
1
Date d'inscription
mardi 9 décembre 2003
Statut
Membre
Dernière intervention
25 novembre 2004
-
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
-
Bonjour,

J'utilise ADO pour gerer une base de donnees devant recueillir des informations utilisateurs.
J'ai tout d abord tester les differentes methodes dans le main de mon programme et tout fonctionnait correctement. J'ai ensuite voulu creer une classe, la compilation se fait sans erreur tout comme l execution. Les requetes fonctionnent mais aucun enregistrement n est effectue.

char CnnStr[200]="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=test.mdb";
char ErrStr[200];
char req[1024];

class bdd{
public:
Database db;
Table tbl;
char id[50],pa[50],log[50],pass[50],vis[50];
int a,b,c;

bdd(){
::CoInitialize(NULL);
if(!db.Open("","",CnnStr))
{
db.GetErrorErrStr(ErrStr);
cout<<ErrStr<<"\n";
}
}

void ajout(){
char l[50],p[50],nom[50],prenom[50];
cout << "Entrez votre nom :" << endl;
cin >> nom;
cout << "Entrez votre prénom :" << endl;
cin >> prenom;
cout << "Entrez un login :" << endl;
cin >> l;
cout << "Entrez un mot de passe :" << endl;
cin >> p;

wsprintf(req,"insert into utilisateurs values ('%s','%s','a','%s','%s','0','0','0','0')",l,p,nom,prenom);

if (!db.Execute(req,tbl))
{
db.GetErrorErrStr(ErrStr);
cout<<ErrStr<<"\n";
}
else {
cout << "Votre login : " << l << ", votre mot de passe : " << p << endl;
cout << "Votre nom : "  << nom << ", votre prenom : " << prenom << endl;
}
}
};

int main()
{
bdd *test;
test=new bdd();
test->ajout();
return 0;
}

1 réponse

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
tu peux aller voir un de mes exemples ici:
http://www.cppfrance.com/code.aspx?id=18942

j'ai essaye d'y mettre un peu de tout mais par contre ce n'est pas en classes, ADO est deja bien assez encapsule comme cela a mon gout.

ciao...
BruNews, MVP VC++