Data.SqlExpr.TSchemaType
Delphi
TSchemaType = (stNoSchema, stTables, stSysTables, stProcedures, stColumns,
stProcedureParams, stIndexes, stPackages, stUserNames);
C++
enum DECLSPEC_DENUM TSchemaType : unsigned char { stNoSchema, stTables, stSysTables, stProcedures, stColumns, stProcedureParams, stIndexes, stPackages, stUserNames };
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
enum | public | Data.SqlExpr.pas Data.SqlExpr.hpp |
Data.SqlExpr | Data.SqlExpr |
説明
TSchemaType および TSchemaInfo は,dbExpress を使ってアクセスするスキーマ情報(メタデータ)を示します。
TSchemaInfo を使用すると,SQL データセットを使用しているときにデータベースサーバーから取り出すメタデータを示すことができます。TSchemaInfo には,FType,ObjectName および Pattern という 3 つのメンバーがあり,それぞれについて以下に説明します。
TSchemaInfo を使用すると,SQL データセットを使用しているときにデータベースサーバーから取り出すメタデータを示すことができます。TSchemaInfo には,FType,ObjectName,Pattern および PackageName という 4 つのメンバーがあり,それぞれについて以下に説明します。
FType は TSchemaType 型です。これは,必要な情報の種類を識別します。以下のいずれかの値を指定できます。
値 | 説明 |
---|---|
stNoSchema |
スキーマ情報なし。FType が stNoSchema の場合,SQL データセットには,サーバーからのメタデータではなく,問い合わせまたはストアドプロシージャの結果が移入される。 |
stTables |
SQL 接続の TableScope プロパティで指定した条件に合致するデータベースサーバーの全データテーブルに関する情報。 |
stSysTables |
データベースサーバーの全システムテーブルに関する情報。すべてのサーバーがシステムテーブルを使ってメタデータを保存するわけではない。システムテーブルを使用しないサーバーからシステムテーブルのリストを要求すると,空のデータセットが返される。 |
stProcedures |
データベースサーバー上のすべてのストアドプロシージャに関する情報。 |
stColumns |
指定されたテーブル内のすべての列(項目)に関する情報。 |
stProcedureParams |
指定されたストアドプロシージャのすべてのパラメータに関する情報。 |
stIndexes |
指定されたテーブルに定義されているすべてのインデックスに関する情報。 |
stPackages |
データベースサーバー(Oracle のみ)上で定義されているすべてのパッケージに関する情報。 |
ObjectName は,情報が必要な列,インデックス,またはパラメータを持つテーブルまたはストアドプロシージャの名前です。FType が stColumns または stIndexes の場合,ObjectName はテーブルの名前です。FType が stProcedureParams の場合,ObjectName はストアドプロシージャの名前です。FType が stNone,stTables,stSysTables,または stProcedures の場合,ObjectName は無視されます。
Pattern は,返される項目を限定する SQL のパターンマスクです。各項目(テーブル,ストアドプロシージャ,項目,パラメータ,またはインデックス)の名前は,このパターンマスクに一致している必要があります。一致していない場合,SQL データセットを開いたときにレコードとして表示されません。Pattern では,ワイルドカード「'%'」(任意の 1 文字に一致する)および「'_'」(任意の長さの任意の文字列に一致する)を使用します。パターンでその記号を文字として使用する場合,その文字を 2 つ重ねます(%% または __)。パターンを使用しない場合は,Pattern を nil(Delphi)または NULL(C++)に設定します。
PackageName は,情報を要求しようとしているストアドプロシージャを格納する Oracle パッケージの名前です。このメンバーは,FType が stProcedures または stProcedureParams の場合に使用されます。サーバーが Oracle データベースでない場合,PackageName は無視されます。