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.