Estructura de JET_SETCOLUMN

Se aplica a: Windows | Windows Server

Estructura de JET_SETCOLUMN

La estructura JET_SETCOLUMN contiene parámetros de entrada y salida para JetSetColumns. Los campos de la estructura describen qué valor de columna se va a establecer, cómo establecerlo y dónde obtener los datos del conjunto de columnas.

    typedef struct {
      JET_COLUMNID columnid;
      const void* pvData;
      unsigned long cbData;
      JET_GRBIT grbit;
      unsigned long ibLongValue;
      unsigned long itagSequence;
      JET_ERR err;
    } JET_SETCOLUMN;

Miembros

columnid

Identificador de columna de una columna que se va a establecer.

pvData

Puntero a los datos que se van a establecer en una columna.

cbData

Tamaño de la asignación, en bytes, empezando por pvData en bytes.

grbit

Un grupo de bits que contienen las opciones que se usarán para esta llamada, que incluyen cero o más de lo siguiente.

Valor

Significado

JET_bitSetAppendLV

Anexa datos a una columna de tipo JET_coltypLongText o JET_coltypLongBinary. El mismo comportamiento se puede lograr mediante la determinación del tamaño del valor largo existente y la especificación de ibLongValue en psetinfo. Sin embargo, es más sencillo usar este grbit, ya que no es necesario conocer el tamaño del valor de columna existente.

JET_bitSetOverwriteLV

Reemplaza el valor long existente por los nuevos datos. Cuando se usa esta opción, es como si el valor largo existente se hubiera establecido en 0 (cero) longitud antes de establecer los nuevos datos.

JET_bitSetSizeLV

Interpreta el búfer de entrada como un número entero de bytes que se va a establecer como la longitud del valor largo descrito por el columnid especificado y, si se proporciona, el número de secuencia en psetinfo-itagSequence>. Si el tamaño especificado es mayor que el valor de columna existente, la columna se extenderá con 0s. Si el tamaño es menor que el valor de columna existente, el valor se truncará.

JET_bitSetZeroLength

Establece un valor en una longitud cero. Normalmente, un valor de columna se establece en NULL pasando un cbMax de 0. Sin embargo, para algunos tipos, como JET_coltypText, un valor de columna puede ser de 0 longitud en lugar de NULL, y esta opción se usa para diferenciar entre NULL y 0 longitud.

JET_bitSetSeparateLV

Obliga a almacenar un valor largo, columnas de tipo JET_coltypLongText o JET_coltypLongBinary, de forma independiente del resto de los datos de registro. Esto ocurre normalmente cuando el tamaño del valor largo impide que se almacene con los datos de registro restantes. Sin embargo, esta opción se puede usar para forzar que el valor largo se almacene por separado. Tenga en cuenta que los valores largos de cuatro bytes de tamaño o menor no se pueden forzar a ser independientes. En tales casos, se omite la opción.

JET_bitSetUniqueMultiValues

Aplica valores distintos en una columna con varios valores. Esta opción compara los datos de columna de origen, sin ninguna transformación, con otros valores de columna existentes y se devuelve un error si se encuentra un duplicado. Si se proporciona esta opción, tampoco se pueden proporcionar JET_bitSetAppendLv, JET_bitSetOverwriteLV y JET_bitSetSizeLV.

JET_bitSetUniqueNormalizedMultiValues

Aplica valores distintos en una columna con varios valores. Esta opción compara la transformación normalizada de clave de los datos de columna con otros valores de columna existentes transformados de forma similar y se devuelve un error si se encuentra un duplicado. Si se proporciona esta opción, tampoco se pueden proporcionar JET_bitSetAppendLv, JET_bitSetOverwriteLV y JET_bitSetSizeLV.

JET_bitSetRevertToDefaultValue

Hace que la columna devuelva el valor de columna predeterminado en las operaciones de recuperación de columnas posteriores. Se quitan todos los valores de columna existentes. Esta opción solo es aplicable a las columnas etiquetadas, dispersas o con varios valores.

JET_bitSetIntrinsicLV

Mantiene el valor largo, las columnas de tipo JET_coltypLongText o JET_coltypeLongBinary, almacenadas con los datos de registro restantes si es posible. Normalmente, las columnas largas se almacenan por separado cuando su longitud supera los 1024 bytes o, de lo contrario, provocaría que la longitud del registro superara su limitación de tamaño relacionado con el tamaño de página. Sin embargo, si se establece esta opción, se producirá un error en la operación de columna set JET_errColumnTooBig en lugar de almacenar este valor de columna independiente de los datos de registro restantes.

ibLongValue

Desplazamiento al primer byte que se va a recuperar de una columna de tipo JET_coltypLongBinary o JET_coltypLongText.

itagSequence

Describe el número de secuencia de valor en una columna con varios valores. Una itagSequence de 0 indica que el conjunto de valores de columna debe agregarse como una nueva instancia de una columna con varios valores.

err

Códigos de error y advertencias devueltos de la operación de columna set.

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.

Consulte también

JET_COLTYP
JET_COLUMNID
JET_ERR
JET_GRBIT
JetSetColumns