Data.DB.TDataSet
Delphi
TDataSet = class(TComponent, {$IFNDEF NEXTGEN}IProviderSupport,{$ENDIF !NEXTGEN} IProviderSupportNG)
C++
class PASCALIMPLEMENTATION TDataSet : public System::Classes::TComponent
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
class | public | Data.DB.pas Data.DB.hpp |
Data.DB | Data.DB |
説明
TDataSet は、データを行と列で表すすべてのデータセット コンポーネントの基底クラスです。
TDataSet では、データを扱うための基本的なプロパティ、イベント、およびメソッドが導入されています。
これらのプロパティ、イベント、メソッドの多くは、TDataSet では abstract(Delphi の場合)または pure virtual(C++ の場合)です。abstract または pure virtual の宣言は、実装のない宣言です。TDataSet のレベルでは、使用したりアクセスすることができません。開発時には、これらの abstract または pure virtual のメソッドを再宣言して実装する TDataSet の下位クラスを使用するか作成する必要があります。TDataSet のその他のメソッドの多くは、TDataSet では virtual メソッドとして宣言および実装されていますが、その実装は、下位クラスで再実装するための単なるスタブです。
TDataSet には、次のような下位クラスがあります。Data.Win.ADODB.TCustomADODataSet、IBX.IBCustomDataSet.TIBCustomDataSet、Data.SqlExpr.TCustomSQLDataSet、Datasnap.DBClient.TCustomClientDataSet。
TCustomADODataSet は、ActiveX Data Objects(ADO)を使用してデータにアクセスするデータセットの基底クラスです。TCustomADODataSet の下位クラスには、Data.Win.ADODB.TADODataSet、Data.Win.ADODB.TADOTable、Data.Win.ADODB.TADOQuery、Data.Win.ADODB.TADOStoredProc などがあります。ADO を使用するカスタム データセット コンポーネントを作成する場合には、TCustomADODataSet から派生させます。
TIBCustomDataSet は、InterBase テーブルのデータに直接アクセスするデータセットの基底クラスです。TIBCustomDataSet の下位クラスには、IBX.IBCustomDataSet.TIBDataSet、IBX.IBTable.TIBTable、IBX.IBQuery.TIBQuery、IBX.IBStoredProc.TIBStoredProc などがあります。InterBase データベースのデータに直接アクセスするカスタム データセット コンポーネントを作成する場合には、TIBCustomDataSet から派生させます。
TCustomSQLDataSet は、単方向データセットの基底クラスです。単方向データセットは、読み取り専用のデータセットであり、前方向へのナビゲーションしかできません。TCustomSQLDataSet の下位クラスには、dbExpress データセットである Data.SqlExpr.TSQLDataSet、Data.SqlExpr.TSQLQuery、Data.SqlExpr.TSQLTable、Data.SqlExpr.TSQLStoredProc などがあります。dbExpress を使用してデータにアクセスするカスタム データセット コンポーネントを作成する場合には、TCustomSQLDataSet から派生させます。
TCustomClientDataSet は、インメモリ データセットの基底クラスです。クライアント データセットは、ディスク上のファイルのデータや、プロバイダを介して他のコンポーネントから提供されるデータを扱うことができます。そのデータをメモリ内にキャッシュし、変更の記録を変更ログに保持し、キャッシュした更新を後でデータ ソースに適用します。データをインメモリ キャッシュに格納するカスタム データセットを作成する場合には、TCustomClientDataSet から派生させます。
また、TDataSet から直接派生するカスタム データセット コンポーネントを作成し、独自のメカニズムを用意してデータのアクセスや操作を行うこともできます。