Pourquoi ça marche pas???? (ODBC et Visual C++ 6) - Programmation
Marsh Posté le 26-02-2001 à 17:31:59
Tu es obligé de mettre des paramètres dans le OpenEx ?
Sans param ça doit marcher mais tu choisiras ta base grace à une petite fenetre.
--Message édité par Mouky--
Marsh Posté le 26-02-2001 à 17:45:52
en choisissant la database dans la boite de dialogue j'ai exactement le meme probleme, mais je me prive en plus du principal avantage: l'automatisme.
Marsh Posté le 26-02-2001 à 22:31:33
Voulà ce que je fais et ça marche :
CDatabase database;
database.Open(NULL);
CRecordset cursor1(&database);
strQuery="Select MAX,NB from DBAnb order by MAX";
if (!cursor1.Open( CRecordset::forwardOnly, strQuery, CRecordset::readOnly )) {
AfxMessageBox("Agree set query : execution failed !" );
return;
}
J'ai une boite mais j'en ai besoin
Marsh Posté le 27-02-2001 à 08:46:51
je reprendrais pas le fameux couplet sur le passage de la théorie à la pratique. Mais, ton bout de code ne trappe pas, Mouky. donc merci beaucoup. je vais continuer sur cette base.
Marsh Posté le 26-02-2001 à 17:29:38
je crée un objet Cdatabase, je l'ouvre puis je cree un objet CRecordset qui pointe sur cette database et quand je veux l'ouvrir il plante.
je pense que la base est bien ouverte car si je fait un execSQL, j'obtient le resultat escompté. mais lors de l'ouverture du recordset j'ai:
Debug Assertion fail
program e:\CDTeck\CDTeck.exe
File dbcore.cpp
Line 66
voici le code:
CDatabase m_myDB;
m_myDB.OpenEx("DSN=MYDB;UID=sa;PWD=" );
CRecordset m_myrecord(&m_myDB);
my_record.Open(CRecordset::dynamic,"select * from table",CRecordset::readOnly);
---------------
Je suis un bleu mais je me soigne