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

C++Builder Discussion :

problème base de données


Sujet :

C++Builder

  1. #1
    Membre confirmé
    Homme Profil pro
    Electromécanicien
    Inscrit en
    Octobre 2009
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Electromécanicien

    Informations forums :
    Inscription : Octobre 2009
    Messages : 76
    Par défaut problème base de données
    Bonjour,
    Je débute en c++ Builder mon problème je viens de faire un programme de base de données qui fonctionne
    bien sur mon poste ou il y a c++Builder, mais après avoir crée l'exécutable et l'avoir mis sur un autre PC j'ai une erreur d’ouverture de base :
    « cannot perform this operation on a closed dataset ».
    Mes bases sont de types « dbaseIV » j’ai une base maitre « Pers.DBF» et une table « entr.DBF» c’est un systeme de base « un à plusieurs »
    Les 2 bases sont mise au même endroit que sur le PC ou il y a c++ Builder , j’ai même installer « BDEInfoSetup » .

    voila la partie du code que j'utilise pour ouvrir les bases
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    void __fastcall TForm1::BitBtn1Click(TObject *Sender)
    {
     // ***********************  ouverture bases
     
    try
        {
         DM->tblPers->Open();
         DM->tblComm->Open();
         }
         catch (...)
         {
         ShowMessage("Erreur lors de l'ouverture de la base !!!");
         }
     
    }
    sur le PC ou il y a C++ BUILDER le programme fonctionne par contre sur un PC ou il n'y a pas C++
    BUILDER installé il me donne les erreurs suivantes :

    • "Erreur lors de l'ouverture de la base !!!"

    • "tblPers:Impossible d'effectuer cette opération sur un ensemble de données fermé."



    donc la première erreur elle apparait quand j'essaye d'ouvrir les bases et la
    deuxième apparait lorsque j'essaye de lire l'enregistrement suivant avec le
    code suivant :
    j'ai même essayé de mettre ceci dans la fonction "try":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    DM->dsPers->Enabled = true;
         DM->dsPers->AutoEdit = true;
         DM->tblPers->DatabaseName = "c:\\boo";      // répertoire ou se trouve les 2 bases et mon application.
         DM->tblPers->Open();
    j'ai toujours les même erreurs
    voila, si quelqu'un a une solution,

    Merci.

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    531
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 531
    Par défaut
    je ne vois pas ou tu as définit ta base de données ou les fichiers indexés.
    Il ne faut pas rendre Enable une connection sans lui donner d'abord ses attaches.

    Peux tu nous dire quels composents tu as utilisé et quel driver ??

    Peut être sur ton poste as tu définit un lien Alias ODBC, si c'est le cas tu doit aussi le contruire sur le poste cible...

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2010
    Messages : 7
    Par défaut
    Je n'ai pas vraiment regardé ton code.

    sur le PC ou il y a C++ BUILDER le programme fonctionne par contre sur un PC ou il n'y a pas C++
    BUILDER installé il me donne les erreurs suivantes
    Mais lorsque tu déploies sur le PC cible. Tu a mis la bibliothèque dynamique ( C:\Program Files\Embarcadero\RAD Studio\7.0\bin\dclbde140.bpl ou dclbde.bpl) dans le répertoire courant de l'application ?

    Bon vu ton message d'erreur je pense que ce n'est pas le soucis mais est ce que t'as la BDE d'installé sur le poste cible (ODBC ... etc.) ? En tout cas d'après ce que tu dis, ça à l'air d'être plus un problème de déploiement que de code.

  4. #4
    Membre confirmé
    Homme Profil pro
    Electromécanicien
    Inscrit en
    Octobre 2009
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Electromécanicien

    Informations forums :
    Inscription : Octobre 2009
    Messages : 76
    Par défaut
    bonjour,

    j'ai crée un Module de Donnée que j'ai renommer "DM" j'ai ensuite déposer un couple "TDataSource/TTable" pour chaque base.(2 bases exactement)

    le premier couple je l'ai renommer :

    -TDataSource : dsPers
    -TTable : tblPers

    pour le deuxième :

    -TDataSource : dsComm
    -TTable : tblComm

    la table "tblPers" pointe bien sur "Pers.dbf" par la propriété "TableName".

    la table "tblComm" pointe bien sur "entr.dbf" par la propriété "TableName".

    les 2 propriété "DatabaseName" de chaque table le nom de l'alias "boo" et j'ai
    même essayer de mettre a la place le chemin ou se trouve l'application et mes 2 bases "c:\boo".

    en piece jointe la capture d'écran de l'Explorateur SQL
    Images attachées Images attachées    

  5. #5
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    531
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 531
    Par défaut
    Bon, il me semble que tu as choisis d'utiliser les composents BDE, regarde ici un petit Tuto sur un lien Access c'est le même ^principe:

    http://ricky81.developpez.com/tutoriel/bcb/bde/

  6. #6
    Membre confirmé
    Homme Profil pro
    Electromécanicien
    Inscrit en
    Octobre 2009
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Electromécanicien

    Informations forums :
    Inscription : Octobre 2009
    Messages : 76
    Par défaut
    OK, merci je regarde

Discussions similaires

  1. Problème base de donnée
    Par dispa dans le forum Windows Forms
    Réponses: 1
    Dernier message: 22/01/2008, 22h13
  2. problème base de donnée access
    Par Phiss dans le forum ASP
    Réponses: 6
    Dernier message: 21/11/2007, 21h15
  3. Problème base de données Microsoft Jet
    Par lilo415 dans le forum Access
    Réponses: 2
    Dernier message: 10/10/2007, 23h23
  4. Problème Base de donnée
    Par quedudev dans le forum C++Builder
    Réponses: 3
    Dernier message: 27/09/2007, 12h44
  5. Problème Base de données et CRecordSet
    Par LE CHAKAL dans le forum MFC
    Réponses: 3
    Dernier message: 20/08/2002, 11h59

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