Migration D7 vers D2009 avec TIBClientDataSet

Résolu
grandyaka54 Messages postés 97 Date d'inscription vendredi 19 octobre 2007 Statut Membre Dernière intervention 18 décembre 2013 - 6 mai 2009 à 09:52
grandyaka54 Messages postés 97 Date d'inscription vendredi 19 octobre 2007 Statut Membre Dernière intervention 18 décembre 2013 - 11 mai 2009 à 09:51
Bonjour tout le monde,

On me demande de migrer une application développé sur Delphi7 vers Delphi2009...

Tout c'est bien passé sauf pour un composant. En effet, avec Delphi7, j'ai un DataModule avec le composant TIBClientDataSet qu'on trouve dans l'onglet InterBase qui est lié à un TIBDataBase et TIBTransaction. Or avec Delphi2009, ce composant n'est plus présent...

Comment et par quels composants je pourrais remplaçer le TIBClientDataSet ? En parcourant le web, j'ai vu qu'on peut le remplacer par un TIBDataSet, un TDataSetProvider ou encore un TClientDataSet... Lequel est plus préférable de prendre pour eviter de grosses modifications du code actuel...

Merci pour vos futurs conseils....

3 réponses

f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
6 mai 2009 à 10:51
TIBClientDataSet est un ensemble de
données client qui utilise un TIBDataSet et un TDataSetProvider internes pour
récupérer des données et appliquer des mises à jour. Il vous permet de placer en
mémoire cache les mises à jour récupérées à l'aide d'InterBase Express sans
avoir recours à un fournisseur externe ni à un ensemble de données client. 


La mise en mémoire cache des mises à jour à l'aide de TIBClientDataSet (ou d'un ensemble de
données InterBase Express avec un fournisseur externe et un ensemble de données
client) confère de nombreux avantages, Notamment :



<li class= "Element600">
TIBClientDataSet vous permet d'utiliser
des données stockées dans des fichiers sur disque et des données récupérées à
partir d'un serveur de bases de données. Ceci vous permet d'implémenter une
application en "mode briefcase".
</li>
<li class="Element600">Vous bénéficiez des fonctionnalités uniques aux ensembles
de données clients, par exemple les agrégats mis à jour, le support de filtres
et les intervalles.
</li>
<li class="Element600">Votre application peut être convertie plus facilement vers
ou depuis une application qui utilise un mécanisme d'accès aux données
différent, en exploitant les similitudes entre TIBClientDataSet et d'autres ensembles
de données clients tels que TSQLClientDataSet et TBDEClientDataSet. </li>


TIBClientDataSet fonctionne comme
TClientDataSet quand il est connecté à un TIBDataSet local par l'intermédiaire
d'un fournisseur, excepté que l'ensemble de données source et le fournisseur
sont internes. Il met à disposition certaines des propriétés et des événements
de TIBDataSet et de TDataSetProvider afin que vous puissiez spécifier le serveur
de bases de données à partir duquel récupérer les données, indiquer les données
à récupérer sur ce serveur, influer sur les informations à inclure dans les
paquets de données et fournir une entrée sur le processus de mise à jour. 


Outre l'utilisation du TIBDataSet source, TIBClientDataSet peut lire et écrire
dans un fichier dédié sur disque. Le fournisseur interne et l'ensemble de
données source ne sont pas requis pour la manipulation de données basées sur des
fichiers, faisant de TClientDataSet un choix plus approprié si vous écrivez une
application purement à base de fichiers. Néanmoins, avec son aptitude à
travailler avec un fichier sur disque, TIBClientDataSet convient bien aux
applications à "modèle briefcase".
















<hr size ="2" width="100%" />
3
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
7 mai 2009 à 22:31
Bonsoir,

Comment et par quels composants je pourrais remplaçer le TIBClientDataSet ?

par un simple Query et en servant du SQL afin d'établir l'éventuelle relation existante entre les tables père et fils.

cantador
3
grandyaka54 Messages postés 97 Date d'inscription vendredi 19 octobre 2007 Statut Membre Dernière intervention 18 décembre 2013 5
11 mai 2009 à 09:51
Salut,

Merci Foxi pour ces précisions et merci Cantador pour ton aide. J'ai effectivement remplacé TIBClientDataSet par un TIBQuery + un TDataSource.....

Merci.
0
Rejoignez-nous