ADO Retourner un "_RecordsetPtr"

Résolu
Nixeus Messages postés 192 Date d'inscription jeudi 18 janvier 2007 Statut Membre Dernière intervention 19 octobre 2020 - 21 avril 2007 à 18:08
Nixeus Messages postés 192 Date d'inscription jeudi 18 janvier 2007 Statut Membre Dernière intervention 19 octobre 2020 - 21 avril 2007 à 19:00
Bonjour a tous !

Je travail sur une classe CGestionBD, chargée de gérer les opérations simple sur bases de donnée ( connexion, deconnexion, execution de requete SQL). ( Tout ça en ADO )

J'utilise ses deux variable la :

_RecordsetPtr pRecordSet = NULL; // pointeur pour le recordset
_ConnectionPtr pConnection = NULL; //pointeur pour la base de donnee

Je souhaiterais que ma méthode ExecuteSql ( chargée d'executer une requete SQL) me retourne ma variable pRecordSet, afin de pouvoir l'interpréter autre part ( afin de traiter mon recordset autre part en fait ).

J'ai beau cherché, je ne trouve pas de solution :(
Est-ce au moins possible ?

Merci a tous :)

4 réponses

yann_lo_san Messages postés 1137 Date d'inscription lundi 17 novembre 2003 Statut Membre Dernière intervention 23 janvier 2016 26
21 avril 2007 à 18:57
Heuuu oui :




#import "C:\Program Files\Common Files\System\ADO\msado15.dll" \





no_namespace rename("EOF", "EndOfFile")

// avec le bon répertoire bien sur
3
yann_lo_san Messages postés 1137 Date d'inscription lundi 17 novembre 2003 Statut Membre Dernière intervention 23 janvier 2016 26
21 avril 2007 à 18:35
Cela doit etre possible :

// En global

_bstr_t strCnn("Provider=...");  // ect...


// Une fonction

_RecordsetPtr getRecord(char* requete)
{
      _RecordsetPtr pRst = NULL;

      pRst.CreateInstance(__uuidof(Recordset))


      pRst->Open(requete, 
                         strCnn, 
                         adOpenStatic, 
                         adLockReadOnly,
                         adCmdText);

      return pRst;
}




// Dans le programme

_RecordsetPtr pOther = getRecord("SELECT* FROM table");

// utilise

// detruit
 


 


 
0
Nixeus Messages postés 192 Date d'inscription jeudi 18 janvier 2007 Statut Membre Dernière intervention 19 octobre 2020
21 avril 2007 à 18:48
Ba oui j'ai éxactement suivis cette maneouvre. Mais le compilateur me rejette le type _RecordsetPtr aparamment.
Y aurais t-il quelquechose d'autre a déclarer pour ADO en plus dans le point H de ma classe pour que ce type sois reconnu ?

Le compilateur me sors plusieurs erreurs, dont celle ci :

'_RecordsetPtr' : missing storage-class or type specifiers

Voila voila, merci encore!
0
Nixeus Messages postés 192 Date d'inscription jeudi 18 janvier 2007 Statut Membre Dernière intervention 19 octobre 2020
21 avril 2007 à 19:00
Tu es mon maitre :D^^
Je pensais que le fait d'avoir inclus cette ligne dans le .cpp de ma classe suffisait :)

Merci encore énormément !
0
Rejoignez-nous