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. |