Data.SqlExpr.TCustomSQLDataSet.SetSchemaInfo

提供: RAD Studio API Documentation
移動先: 案内検索

Delphi

procedure SetSchemaInfo(SchemaType: TSchemaType; SchemaObjectName, SchemaPattern: string; PackageName: string = '' );

C++

void __fastcall SetSchemaInfo(TSchemaType SchemaType, System::UnicodeString SchemaObjectName, System::UnicodeString SchemaPattern, System::UnicodeString PackageName = System::UnicodeString());

プロパティ

種類 可視性 ソース ユニット
procedure
function
public
Data.SqlExpr.pas
Data.SqlExpr.hpp
Data.SqlExpr TCustomSQLDataSet

説明

データセットがメタデータを表すか,そうであればどのような種類のメタデータかを示します。

SetSchemaInfo を呼び出すと,SQL データセットが(CommandText で指定した)SQL コマンドの結果を表すかどうか,またはデータセットがスキーマ情報(メタデータ)のテーブルを表すかどうかを示すことができます。

SchemaType パラメータは,必要な情報の種類を示します。以下のいずれかの値を指定できます。



説明

stNoSchema

スキーマ情報なし。SQL データセットには,サーバーのメタデータではなく,問い合わせまたはストアドプロシージャの結果が格納される。

stTables

SQL 接続の TableScope プロパティで指定した条件に合致するデータベースサーバーの全データテーブルに関する情報。

stSysTables

データベースサーバーの全システムテーブルに関する情報。すべてのサーバーがシステムテーブルを使ってメタデータを保存するわけではない。システムテーブルを使用しないサーバーからシステムテーブルのリストを要求すると,空のデータセットが返される。

stProcedures

データベースサーバー上のすべてのストアドプロシージャに関する情報。

stColumns

指定されたテーブル内のすべての列(項目)に関する情報。

stProcedureParams

指定されたストアドプロシージャのすべてのパラメータに関する情報。

stIndexes

指定されたテーブルに定義されているすべてのインデックスに関する情報。



SchemaObjectName は,情報が必要な列,インデックス,パラメータに関するテーブルまたはストアドプロシージャの名前です。SchemaType が stColumns または stIndexes の場合,SchemaObjectName はテーブル名です。SchemaType が stProcedureParams の場合,SchemaObjectName はストアドプロシージャ名です。SchemaType が stNoSchema,stTables,stSysTables,stProcedures,または stPackages の場合,SchemaObjectName は無視されます。

SchemaPattern は,結果のデータセットをフィルタ処理する SQL パターンマスクです。各項目(テーブル,ストアドプロシージャ,項目,パラメータ,またはインデックス)の名前は,このパターンマスクに一致している必要があります。一致していない場合,SQL データセットを開いたときにレコードとして表示されません。SchemaPattern は,ワイルドカードとして「'%'」(任意の長さの任意の文字列)および「'_'」(任意の 1 文字)を使用します。パターンでその記号を文字として使用する場合,その文字を 2 つ重ねます(%% または __)。パターンを使用しない場合は,Pattern を nil(Delphi)または NULL(C++)に設定します。

PackageName は Oracle パッケージの名前です。SchemaType が stProcedures または stProcedureParams の場合,ストアドプロシージャがここで検索されます。サーバーが Oracle サーバーでない場合,またはストアドプロシージャがパッケージで定義されていない場合,PackageName には空の文字列を指定します。

SetSchemaInfo を呼び出してからデータセットを開くと,指定した情報が格納された状態でデータセットが開かれます。SchemaType が stNoSchema の場合,データセットは,CommandText で指定したコマンドに戻ります。

メモ:  CommandText プロパティを変更すると,データセットの SchemaType は,自動的に stNoSchema に戻ります。

関連項目