Función JetGetColumnInfo

Se aplica a: Windows | Windows Server

Función JetGetColumnInfo

La función JetGetColumnInfo recupera información sobre una columna.

    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
    );

Parámetros

sesid

Contexto de sesión de base de datos que se va a usar para la llamada API.

dbid

Identifica, junto con szTableName, la tabla que contiene la columna de la que se recupera la información.

szTableName

Identifica, junto con dbid, la tabla que contiene la columna de la que se recupera la información.

szColumnName

Nombre de la columna para la que se captura la información.

pvResult

Puntero a un búfer que recibirá la información. El tipo del búfer depende de InfoLevel. El autor de la llamada debe configurarse para alinear el búfer correctamente.

cbMax

Tamaño, en bytes, del búfer que se pasa en pvResult.

InfoLevel

Tipo de información que se va a recuperar para la columna especificada por szColumnName. El formato de los datos almacenados en pvResult depende de este parámetro. Para obtener el esquema de la tabla temporal, consulte JET_COLUMNLIST.

Estos InfoLevels se diferencian por:

  • JET_ColInfoListSortColumnid ordenará la tabla temporal por columnid.

  • JET_ColInfoListCompact compactará la salida. Para obtener más información sobre la salida compacta, consulte JET_COLUMNLIST.

Las siguientes opciones están disponibles para su uso con este parámetro.

Valor

Significado

JET_ColInfo

JET_ColInfo y JET_ColInfoByColid recuperan la misma información. pvResult se interpreta como un JET_COLUMNDEF y los campos de la estructura JET_COLUMNDEF se rellenan correctamente.

JET_ColInfoBase

pvResult se interpreta como una estructura JET_COLUMNBASE . Esto es similar a una estructura de JET_COLUMNDEF . Si esta función se realiza correctamente, la estructura se rellena con los valores adecuados. Si se produce un error en esta función, la estructura contiene datos no definidos.

JET_ColInfoByColid

Al igual que JET_ColInfo, pvResult se interpreta como un JET_COLUMNDEF, salvo que infoLevel indica que la columna solicitada (szColumName) no es el nombre de columna de cadena, sino un puntero a un JET_COLUMNID.

JET_ColInfoList

pvResult se interpreta como una estructura de JET_COLUMNLIST . Si esta función se realiza correctamente, la estructura se rellena con los valores adecuados. Se abre una tabla temporal y se identifica mediante el miembro tableid de la estructura JET_COLUMNLIST . La tabla debe cerrarse con JetCloseTable. Si se produce un error en esta función, la estructura contiene datos no definidos.

JET_ColInfoListCompact

Igual que JET_ColInfoList.

JET_ColInfoListSortColumnid

Igual que JET_ColInfoList; sin embargo, la tabla resultante se ordena por columnid, en lugar de por nombre de columna.

JET_ColInfoSysTabCursor

JET_ColInfoSysTabCursor está en desuso y su uso devolverá JET_errFeatureNotAvailable.

JET_ColInfoBaseByColId

Al igual que JET_ColInfoBase, pvResult se interpreta como un JET_COLUMNBASE, salvo que infoLevel indica que la columna solicitada (szColumName) no es el nombre de columna de cadena, sino un puntero a un JET_COLUMNID.

Windows Vista: Este valor se introduce en Windows Vista.

JET_ColInfoGrbitNonDerivedColumnsOnly

Solo devuelve columnas no derivadas (si la tabla se deriva de una plantilla).

Este valor puede estar lógicamente o en InfoLevel, cuando se JET_ColInfoList el infoLevel base.

Windows Vista: Este valor se introduce en Windows Vista.

JET_ColInfoGrbitMinimalInfo

Solo devuelve el nombre de columna y columnid de cada columna.

Este valor puede estar lógicamente o en InfoLevel, cuando se JET_ColInfoList el infoLevel base.

Windows Vista: Este valor se introduce en Windows Vista.

JET_ColInfoGrbitSortByColumnid

Ordenar la lista de columnas devuelta por columnid (el valor predeterminado es ordenar la lista por nombre de columna).

Este valor puede estar lógicamente o en InfoLevel, cuando se JET_ColInfoList el infoLevel base.

Windows Vista: Este valor se introduce en Windows Vista.

Valor devuelto

Esta función devuelve el JET_ERR tipo de datos con uno de los siguientes códigos de retorno. Para obtener más información sobre los posibles errores de ESE, vea Extensible Storage Engine Errors and Error Handling Parameters.

Código devuelto

Descripción

JET_errSuccess

La operación se ha completado correctamente.

JET_errColumnNotFound

La columna denominada szColumnName no se encontró en la tabla.

JET_errFeatureNotAvailable

Se especificó un infoLevel incorrecto.

JET_errInvalidName

Este error se puede devolver si:

  • Se ha dado un nombre incorrecto para szTableName .

  • Se ha dado un nombre incorrecto para szColumnName .

JET_errInvalidParameter

Este error se puede devolver si:

  • Se especificó un infoLevel incorrecto.

  • Se pasó un valor null szTableName .

  • El búfer es demasiado pequeño.

Observaciones

JetGetTableColumnInfo y JetGetColumnInfo recuperan información sobre una columna. La diferencia entre ellos es cómo se identifica la tabla:

  • JetGetTableColumnInfo identifica una tabla por tableid.

  • JetGetColumnInfo identifica una tabla por combinación dbid y szTableName .

Al recuperar datos con JET_ColInfoList, JET_ColInfoListSortColumnid o JET_ColInfoListCompact, se abrirá una tabla temporal. La tabla temporal contiene datos y la estructura de JET_COLUMNLIST contiene suficiente información para recorrer la tabla temporal. La tabla temporal debe cerrarse con JetCloseTable.

Requisitos

Requisito Value

Cliente

Requiere Windows Vista, Windows XP o Windows 2000 Professional.

Servidor

Requiere Windows Server 2008, Windows Server 2003 o Windows 2000 Server.

Encabezado

Declarado en Esent.h.

Library

Use ESENT.lib.

Archivo DLL

Requiere ESENT.dll.

Unicode

Se implementa como JetGetColumnInfoW (Unicode) y JetGetColumnInfoA (ANSI).

Consulte también

Parámetros de control de errores
Errores del motor de almacenamiento extensible
JET_COLUMNBASE
JET_COLUMNDEF
JET_COLUMNID
JET_COLUMNLIST
JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JetCloseTable
JetGetTableColumnInfo