bonjour,
J'ai une TTable nommée TableTemporaire, je la remplis grâce à la méthode BatchMove() qui a comme paramètre le résultat d'une requête SQL et l'attribut batCopy.
Querytempo est un composant TQuery. Quoi qu'il arrive les données de cette base sont écrasées lors de chaque requête.
Le code ci-dessus fonctionne très bien si le fichier DB est présent sur le disque dur. Par contre si mon fichier n'existe pas le programme plante car il ne trouve pas mon fichier DB.
Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 TableTemporaire->Open(); TableTemporaire->BatchMove(Querytempo,batCopy); TableTemporaire->Close();
J'ai cependant constaté que ce code (sans la méthode open())
fonctionne très bien que ma base de données existe ou non.... Si mon fichier DB n'existe pas il est créé sur le disque lors du BatchMove().
Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 TableTemporaire->BatchMove(Querytempo,batCopy); TableTemporaire->Close();
D'où ces questions :
- est-ce que je peux me passer de la méthode open() ? Car visiblement Batchmove() créé mon fichier DB s'il n'existe pas ou l'ouvre s'il existe.
- est-ce que ce code :
est un bon compromis finalement ?
Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 if (TableTemporaire->Exists) TableTemporaire->Open(); TableTemporaire->BatchMove(Querytempo,batCopy); TableTemporaire->Close();- quel est le rôle de la méthode open() dans ce cas là ?
Partager