次の方法で共有


JetGetColumnInfo 関数

適用対象: Windows |Windows Server

JetGetColumnInfo 関数

JetGetColumnInfo 関数は、列に関する情報を取得します。

    JET_ERR JET_API JetGetColumnInfo(
      __in          JET_SESID sesid,
      __in          JET_DBID dbid,
      __in          const tchar* szTableName,
      __in          const tchar* szColumnName,
      __out         void* pvResult,
      __in          unsigned long cbMax,
      __in          unsigned long InfoLevel
    );

パラメーター

sesid

API 呼び出しに使用するデータベース セッション コンテキスト。

dbid

情報の取得元の列を含むテーブルを、 szTableName と共に識別します。

szTableName

情報の取得元となる列を含むテーブルを dbid と共に識別します。

szColumnName

情報がフェッチされる列の名前。

pvResult

情報を受け取るバッファーへのポインター。 バッファーの種類は InfoLevel に依存します。 バッファーを適切に配置するように呼び出し元を構成する必要があります。

cbMax

pvResult で渡されるバッファーのサイズ (バイト単位)。

InfoLevel

szColumnName で指定された列に対して取得する情報の種類。 pvResult に格納されるデータの形式は、このパラメーターによって異なります。 一時テーブルのスキーマについては、「 JET_COLUMNLIST」を参照してください。

これらの InfoLevel は、 次の要素によって区別されます。

  • JET_ColInfoListSortColumnidは、一時テーブルを columnid で並べ替えます。

  • JET_ColInfoListCompactすると、出力が圧縮されます。 コンパクト出力の詳細については、「 JET_COLUMNLIST」を参照してください。

このパラメーターでは、次のオプションを使用できます。

説明

JET_ColInfo

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

JET_ColInfoBase

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

JET_ColInfoByColid

JET_ColInfoと同様に、 pvResultJET_COLUMNDEFとして解釈されます。ただし、この InfoLevel は、要求された列 (szColumName) が文字列列名ではなく、 JET_COLUMNIDへのポインターであることを示します。

JET_ColInfoList

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

JET_ColInfoListCompact

JET_ColInfoListと同じです。

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 はどちらも列に関する情報を取得します。 これらの違いは、テーブルの識別方法です。

  • JetGetTableColumnInfo は、 tableid によってテーブルを識別します。

  • 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

JetGetColumnInfoW (Unicode) および JetGetColumnInfoA (ANSI) として実装されます。

参照

エラー処理パラメーター
記憶域エンジンの拡張可能なエラー
JET_COLUMNBASE
JET_COLUMNDEF
JET_COLUMNID
JET_COLUMNLIST
JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JetCloseTable
JetGetTableColumnInfo