2012-04-07 25 views
4

2.8 MBのXMLファイルをDelphi XEのClientDataSetに変換しました。 XMLファイルはかなり頻繁に変更され、基本的にXMLが変更されるたびにプログラムで新しいCDSファイルを作成しています。内容だけでなく、実際の構造も変化します。Delphi XEのTClientDataSet(CDSファイル)のSQLクエリ?

質問:ClientDataSet1で単純なSQLを使用して、メモリ内に結果テーブルを持つ2番目のClientDataSetを作成できますか?答えが「はい」の場合、基本的な仕組みは何ですか?現在、TClientDataSetとTDataSourceを使用して、データベースをデータ対応コンポーネントで使用できるようにしています。

答えて

5

TxQueryが必要な処理を行う可能性があります。これは、SQLステートメントを使用して1つまたは複数のTDataSet子孫コンポーネントを照会するために使用できるTDataSet子孫コンポーネントです。それはで利用できるhttp://code.google.com/p/txquery/

+0

ありがとうございます。それはたくさんの助けになりました。 – Delphinarium

5

いいえ、メモリプロバイダに関連付けられていないため、TClientDataSetを超えるSQL文をメモリデータセットとして使用することはできません。最適なオプションは、TClientDataSetに含まれるフィルタリング機能を使用することです。そのためには、RangesまたはFiltersを使用して、セカンダリTClientDataSetで結果を複製することができます。フィルタリングの詳細については、この記事をお試しください。Filtering ClientDataSets

関連する問題