1

実行時にオブジェクト内で TClientDataSet を作成して使用することは可能ですか?

テーブルにいくつかの変更を加えて、キャッシュのような方法でそれらをすべて同時に適用したいのですが、TClientDataSet を使用するとそれが可能になります。TForm を作成する必要があるときに、これを実行する必要があることを知っています。

出来ますか?

アップデート

TDataSetProvider なしで TSQLQuery なしで使用できますか?どのように使用できますか? 私はそれを試したので、プロバイダーなしのエラーが発生しました!!

4

4 に答える 4

5

コンポーネントは単なるクラスであり、同様に使用できます。

procedure TMyObject.DoSomeDBStuff;
var
  localClientDataset: TClientDataset;
begin
  localClientDataset := TClientDataset.Create( );
  try

  finally
    localClientDataset.Free;
  end;
end;

必要に応じて、clientdataset-property を作成することもできます。

type
  TMyObject = class
  private
    FClientDB: TClientDataset;
  published
    property Dataset: TClientDataset read FClientDB;
  end;

一部のビジュアル コンポーネントではビジュアルの親が必要になる場合がありますが、TClientDataset の場合はそのような要件はありません。

于 2009-02-20T12:15:08.027 に答える
3

実行時に TClientDataset を作成できます。(Vegar の回答を参照してください。)プロバイダーの問題については、解決策はそのフィールドを定義し、CreateDataset メソッド (Open メソッドではありません!) でデータセットを開くことです。

于 2009-02-20T23:42:28.313 に答える
2

もちろん、それはできます。ただし、データ モジュールの使用を検討することもできます。非表示のコンポーネントをデータ モジュールにドラッグし、オブジェクト インスペクタを使用して値を設定できます。

于 2009-02-20T11:59:55.130 に答える