2010-04-21 3 views
1

J'ai 50 ou 60 enregistrements de quatre ou cinq champs. J'ai besoin de charger les enregistrements dans la RAM (à partir d'un fichier CSV), de chercher sur différents champs, d'énumérer, etc. Pas beaucoup de données, pas beaucoup de fonctionnalités. J'étais tout excité d'utiliser le nouveau TDictionary ou TList, mais je pensais qu'un TClientDataset (que je n'ai jamais utilisé auparavant) pourrait être plus approprié.Les TClientDataSets font-ils partie de votre boîte à outils ou ont-ils été remplacés par quelque chose d'autre?

Avec un TClientDataSet, je peux utiliser SITUES sur tout terrain, énumérer avec tout en ne CDS.EOF, etc.

Et, ce qui est exactement ce MidasLib que je dois utiliser avec la CDS? Puis-je raisonnablement m'attendre à ce qu'il soit pris en charge à l'avenir?

est TClientDataSet toujours considéré comme l'état de l'art, ou est-il montre son âge et un peu dépréciée (sens propre et figuré)?

J'ai vu des collègues utilisent la TdxMemData DX. Pourquoi l'utiliser (ou l'un des autres ensembles de données de mémoire que j'ai vu en recherchant ce problème) plutôt qu'un CDS?

question connexe: Delphi: using TClientDataset as an in-memory dataset

Répondre

1

TClientDataset est un outil très utile. Vous pouvez faire beaucoup de choses que vous ne pouvez pas faire avec un dictionnaire, comme le filtrage et la liaison des contrôles sensibles aux données. Et c'est toujours une partie active de l'ensemble d'outils d'Embarcadero.

technologie Midas est la base de données en mémoire qui est basé sur TClientDataset. C'est une bibliothèque séparée, mais il y a une unité MidasLib que vous pouvez inclure dans votre EXE si vous ne voulez pas de dépendance de DLL externe.

En ce qui concerne TdxMemData, je l'ai utilisé un peu au travail, mais je ne prends pas soin tant que ça. Il n'a pas CloneCursor, qui est l'une des meilleures fonctionnalités de TClientDataset. Il vous permet de prendre un deuxième ensemble de données client et avoir « clone » le premier, puis vous avez deux ensembles de données client qui pointent vers le même magasin de données, mais avec des enregistrements actifs, les options de filtrage et d'autres propriétés. C'est très utile pour configurer plusieurs "vues" différentes basées sur les mêmes données de base.

+0

Pouvez-vous suggérer un bon tutoriel TClientDataset ou écrivez-up couvrant des fonctionnalités avancées (telles que CloneCursor)? –

+0

Cary Jensen a plusieurs excellentes publications sur l'utilisation des ensembles de données client sur EDN, y compris un article entièrement dédié aux curseurs de clonage. Vous pouvez les trouver sous http://gp.embarcadero.com/authors/edit/3030.aspx –

Questions connexes