次の方法で共有


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

pvResultJET_COLUMNDEFとして解釈され、 JET_COLUMNDEF 構造体のフィールドが適切に入力されます。 JET_ColInfoとJET_ColInfoByColidはどちらも同じ情報を取得します。

JET_ColInfoBase

pvResult、JET_COLUMNBASE 構造体として解釈されます。 これは、 JET_COLUMNDEF 構造体に似ています。 この関数が成功すると、構造体に適切な値が設定されます。 この関数が失敗した場合、構造体には未定義のデータが含まれます。

JET_ColInfoByColid

pvResultJET_COLUMNDEFとして解釈されますが、この InfoLevel は、要求された列 (szColumName) が文字列列名ではなく、 JET_COLUMNIDへのポインターであることを示します。 JET_ColInfoとJET_ColInfoByColidはどちらも同じ情報を取得します。

JET_ColInfoList

pvResult、JET_COLUMNLIST 構造体として解釈されます。 この関数が成功すると、構造体に適切な値が設定されます。 一時テーブルが開き、JET_COLUMNLISTtableid メンバーによって識別されます。 テーブルは JetCloseTable で閉じる必要があります。 この関数が失敗した場合、構造体には未定義のデータが含まれます。

JET_ColInfoListCompact

pvResult、JET_COLUMNLIST 構造体として解釈されます。 この関数が成功すると、構造体に適切な値が設定されます。 一時テーブルが開き、JET_COLUMNLISTtableid メンバーによって識別されます。 テーブルは JetCloseTable で閉じる必要があります。 この関数が失敗した場合、構造体には未定義のデータが含まれます。

JET_ColInfoListSortColumnid

JET_ColInfoListと同じですが、結果のテーブルは 列名ではなく columnid で並べ替えられます。

JET_ColInfoSysTabCursor

JET_ColInfoSysTabCursorは非推奨となり、使用するとJET_errFeatureNotAvailableが返されます。

JET_ColInfoBaseByColId

JET_ColInfoBaseと同じように、 pvResultJET_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

このエラーは、次の場合に返される可能性があります。

  • szTableName の名前が正しくありません。

  • szColumnName の名前が正しくありません。

JET_errInvalidParameter

このエラーは、次の場合に返される可能性があります。

  • 正しくない InfoLevel が指定されました。

  • NULL szTableName が渡されました。

  • バッファーが小さすぎます。

解説

JetGetTableColumnInfoJetGetColumnInfo はどちらも列に関する情報を取得します。 これらの違いは、テーブルの識別方法です。

  • JetGetTableColumnInfotableid によってテーブルを識別します。

  • JetGetColumnInfo は、 dbidszTableName の組み合わせによってテーブルを識別します。

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