IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

Comment associer un CRecordSet à une base ?


Sujet :

MFC

  1. #1
    Membre habitué Avatar de SmOkEiSBaD
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    234
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2008
    Messages : 234
    Points : 127
    Points
    127
    Par défaut Comment associer un CRecordSet à une base ?
    Bonjour à tous,
    Est-il possible d'utiliser un objet CRecordSet (sans le généré à l'aide du wizzard) sur plusieurs bases ?

    Par exemple j'ouvre un objet CRecordSet, je l'associe à une base, je le ferme, je le rouvre sur une autre base, etc...

    Si oui comment "associer/attacher" un RecordSet à une base ?

    Merci.

  2. #2
    Membre confirmé Avatar de stephdim
    Profil pro
    Inscrit en
    Août 2007
    Messages
    462
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 462
    Points : 521
    Points
    521
    Par défaut
    salut,

    dans le constructeur de l'objet CRecordset tu spécifies un pointeur sur une base, c'est optionnel et définitif pour l'instance du Recordset

    sinon tu peux le faire via CRecordset::GetDefaultConnect() qui est la chaine de connexion si aucune base n'est spécifiée à la construction. là, CDatabase est construit automatiquement à l'ouverture du Recordset.

    donc faire en sorte que la fonction GetDefaultConnect() donne la bonne chaine au moment du Open()

    @+

  3. #3
    Membre habitué Avatar de SmOkEiSBaD
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    234
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2008
    Messages : 234
    Points : 127
    Points
    127
    Par défaut
    Bonjour,
    C'est effectivement ce que j'avais fait et compris.
    Mon problème maintenant est que je ne peux ouvrir mon RecordSet qu'en mode "Forward Only", je ne peux plus l'utiliser comme je fesait avant (généré avec le Wizzard).

    Y'a t'il une solution au problème ?

  4. #4
    Membre habitué Avatar de SmOkEiSBaD
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    234
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2008
    Messages : 234
    Points : 127
    Points
    127
    Par défaut
    J'ai trouvé, il faut au moment d'ouvrir la base, mettre à False le dernier paramètre de la fonction CDatabase::Open, cela évite qu'elle charge la CURSOR DLL.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VB.Net] Comment se déplacer dans une Base de données ?
    Par balabonov dans le forum Windows Forms
    Réponses: 7
    Dernier message: 08/08/2006, 21h44
  2. [C# 2.0] Comment se connecter à une base de données SQL Server ?
    Par prince_antonio dans le forum Accès aux données
    Réponses: 5
    Dernier message: 14/07/2006, 11h44
  3. Comment arbitrer le choix Une base de donnée ou deux ?
    Par medstat2 dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 28/03/2006, 16h42
  4. [MFC] comment associer 2 valeurs à une ComboBox
    Par drinkmilk dans le forum MFC
    Réponses: 2
    Dernier message: 13/04/2005, 11h41
  5. [MFC] Comment créer et utiliser une base Access
    Par maitre hibou dans le forum MFC
    Réponses: 3
    Dernier message: 10/05/2004, 18h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo