2011-12-06 8 views

答えて

3

主な違いは、ClientDataSetが外部データベースに接続せずに動作できることです。メモリ内のテーブルとして使用したり、ファイルから内容を読み込んだりすることができます。 DataSetProviderとの組み合わせでは、単方向データセットの限界やキャッシュとして克服するために頻繁に使用されます。

3

ClientDataSetはメモリ内のデータセットであり、多くの便利な機能が追加されています。 Interbase/Firebirdのテーブルやクエリと比較して大きな利点は、トランザクションを有効にする必要がないことです。グリッド内にデータを表示している限りです。私は考えることができる A ClientDataSet in Every Database Application

0

最も重要な違いは、更新の競合を解決します

は、この記事を見てください。実際、TClientDataSetは便利なReconcileErrorFormダイアログを公開しています。これは、古いレコードと新しいレコードを表示するプロセスをまとめ、どのアクションを取るかを指定できるようにします。例えば、TADOTableでは基本的にあなた自身です。

3

クライアントデータセットは、基礎となるdbアクセスライブラリに関係なく機能する一般的な実装です。 dbExpressデータセット、BDE API、ADO API、またはDelphiがネイティブクライアントを使用して直接データベースアクセスを可能にするために利用できる多くのライブラリのいずれか(つまり、ODAC、 Direct Access、ecc。)

また、データアクセスデータセットとプロバイダがリモートサーバーアプリケーションにあり、TClientDatasetがクライアントアプリケーション内にあり、「シンクライアントクライアントにインストールされたADOのようなデータベースクライアントやデータアクセスライブラリを必要としないデプロイ(最新のバージョンのDelphiを使用する場合、必要なmidas.dllコードはアプリケーションにリンクできますが、それ以外の場合はmidas.dllのみ必要です)。

これ以外にも、ローカルファイルにデータを格納できるインメモリテーブルとして使用できます。これは、シンクライアントがデータベースに接続されていない場合でも動作し、接続が利用可能になると「同期」する「ブリーフケース」モデルも可能にします。これは、ワイヤレスアクセスが一般的ではなかった過去においてより有用でした。

ご覧のとおり、TClientDatasetにはさらに多くのTADODatasetが用意されています。

関連する問題