JetGetTableColumnInfo 関数
適用対象: Windows |Windows Server
JetGetTableColumnInfo 関数
JetGetTableColumnInfo 関数は、テーブル列に関する情報を取得します。
JET_ERR JET_API JetGetTableColumnInfo(
__in JET_SESID sesid,
__in JET_TABLEID tableid,
__in const tchar* szColumnName,
__out void* pvResult,
__in unsigned long cbMax,
__in unsigned long InfoLevel
);
パラメーター
sesid
API 呼び出しに使用するデータベース セッション コンテキスト。
tableid
情報をフェッチする列を含むテーブル。
szColumnName
情報をフェッチする列の名前。
pvResult
情報を受け取るバッファーへのポインター。 バッファーの種類は InfoLevel に依存します。 バッファーを適切にアラインするように呼び出し元を構成する必要があります。
cbMax
pvResult で渡されたバッファーのサイズ (バイト単位)。
InfoLevel
szColumnName で指定された列に対して取得される情報の種類。 pvResult に格納されるデータの形式は InfoLevel に依存します。 一時テーブルのスキーマについては、「 JET_COLUMNLIST」を参照してください。
JET_ColInfoListSortColumnidは、一時テーブルを columnid で並べ替えます。
JET_ColInfoListCompactすると、出力が圧縮されます。 コンパクト出力の詳細については、「 JET_COLUMNLIST」を参照してください。
このパラメーターには、次のオプションを設定できます。
値 |
説明 |
---|---|
JET_ColInfo |
pvResult は JET_COLUMNDEFとして解釈され、 JET_COLUMNDEF 構造体のフィールドが適切に入力されます。 JET_ColInfoとJET_ColInfoByColidはどちらも同じ情報を取得します。 |
JET_ColInfoBase |
pvResult は 、JET_COLUMNBASE 構造体として解釈されます。 これは、 JET_COLUMNDEF 構造体に似ています。 この関数が成功すると、構造体に適切な値が設定されます。 この関数が失敗した場合、構造体には未定義のデータが含まれます。 |
JET_ColInfoByColid |
pvResult は JET_COLUMNDEFとして解釈されますが、この InfoLevel は、要求された列 (szColumName) が文字列列名ではなく、 JET_COLUMNIDへのポインターであることを示します。 JET_ColInfoとJET_ColInfoByColidはどちらも同じ情報を取得します。 |
JET_ColInfoList |
pvResult は 、JET_COLUMNLIST 構造体として解釈されます。 この関数が成功すると、構造体に適切な値が設定されます。 一時テーブルが開き、JET_COLUMNLISTの tableid メンバーによって識別されます。 テーブルは JetCloseTable で閉じる必要があります。 この関数が失敗した場合、構造体には未定義のデータが含まれます。 |
JET_ColInfoListCompact |
pvResult は 、JET_COLUMNLIST 構造体として解釈されます。 この関数が成功すると、構造体に適切な値が設定されます。 一時テーブルが開き、JET_COLUMNLISTの tableid メンバーによって識別されます。 テーブルは JetCloseTable で閉じる必要があります。 この関数が失敗した場合、構造体には未定義のデータが含まれます。 |
JET_ColInfoListSortColumnid |
JET_ColInfoListと同じですが、結果のテーブルは 列名ではなく columnid で並べ替えられます。 |
JET_ColInfoSysTabCursor |
JET_ColInfoSysTabCursorは非推奨となり、使用するとJET_errFeatureNotAvailableが返されます。 |
JET_ColInfoBaseByColId |
JET_ColInfoBaseと同じように、 pvResult は JET_COLUMNBASEとして解釈されます。ただし、この InfoLevel は、要求された列 (szColumName) が文字列列名ではなく、 JET_COLUMNIDへのポインターであることを示します。 Windows Vista: これは、Windows Vista 以降で使用できます。 |
JET_ColInfoGrbitNonDerivedColumnsOnly |
非派生列のみを返します (テーブルがテンプレートから派生している場合)。 基本 InfoLevel がJET_ColInfoListされている場合は、この値を論理的に InfoLevel に入れるか、 または入力 できます。 Windows Vista: この値は、Windows Vista で導入されています。 |
JET_ColInfoGrbitMinimalInfo |
各列の列名と columnid のみを返します。 基本 InfoLevel がJET_ColInfoListされている場合は、この値を論理的に InfoLevel に入れるか、 または入力 できます。 Windows Vista: この値は、Windows Vista で導入されています。 |
JET_ColInfoGrbitSortByColumnid |
返された列リストを columnid で並べ替えます (既定では、リストを列名で並べ替えます)。 基本 InfoLevel がJET_ColInfoListされている場合は、この値を論理的に InfoLevel に入れるか、 または入力 できます。 Windows Vista: この値は、Windows Vista で導入されています。 |
戻り値
この関数は、次のいずれかの戻りコードを 使用して、JET_ERR データ型を返します。 考えられる ESE エラーの詳細については、「 拡張ストレージ エンジン エラー と エラー処理パラメーター」を参照してください。
リターン コード |
説明 |
---|---|
JET_errSuccess |
操作は正常に完了しました。 |
JET_errColumnNotFound |
szColumnName という名前の列がテーブルに見つかりませんでした。 |
JET_errFeatureNotAvailable |
正しくない InfoLevel が指定されました。 |
JET_errInvalidName |
このエラーは、次の場合に返される可能性があります。
|
JET_errInvalidParameter |
このエラーは、次の場合に返される可能性があります。
|
解説
JetGetTableColumnInfo と JetGetColumnInfo はどちらも列に関する情報を取得します。 これらの違いは、テーブルの識別方法です。
JetGetTableColumnInfo は tableid によってテーブルを識別します。
JetGetColumnInfo は、 dbid と szTableName の組み合わせによってテーブルを識別します。
JET_ColInfoList、JET_ColInfoListSortColumnid、またはJET_ColInfoListCompactを使用してデータを取得すると、一時テーブルが開きます。 一時テーブルにはデータが含まれており、 JET_COLUMNLIST 構造体には一時テーブルを走査するのに十分な情報が含まれています。 一時テーブルは JetCloseTable で閉じる必要があります。
必要条件
要件 | 値 |
---|---|
Client |
Windows Vista、Windows XP、または Windows 2000 Professional が必要です。 |
[サーバー] |
Windows Server 2008、Windows Server 2003、または Windows 2000 Server が必要です。 |
Header |
Esent.h で宣言されています。 |
Library |
ESENT.lib を使用します。 |
[DLL] |
ESENT.dllが必要です。 |
Unicode |
JetGetTableColumnInfoW (Unicode) および JetGetTableColumnInfoA (ANSI) として実装されます。 |
参照
拡張可能なストレージ エンジン エラー
エラー処理パラメーター
JET_COLUMNBASE
JET_COLUMNDEF
JET_COLUMNID
JET_COLUMNLIST
JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JetCloseTable
JetGetColumnInfo
JetGetTableColumnInfo