Share via


Struttura JET_SETCOLUMN

Si applica a: Windows | Windows Server

Struttura JET_SETCOLUMN

La struttura JET_SETCOLUMN contiene parametri di input e output per JetSetColumns. I campi nella struttura descrivono il valore della colonna da impostare, come impostarlo e dove ottenere i dati del set di colonne.

    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;

Membri

columnid

Identificatore di colonna da impostare per una colonna.

pvData

Puntatore ai dati da impostare in una colonna.

cbData

Dimensioni dell'allocazione, in byte, a partire da pvData in byte.

grbit

Gruppo di bit che contengono le opzioni da usare per questa chiamata, che includono zero o più dei seguenti elementi.

Valore

Significato

JET_bitSetAppendLV

Aggiunge dati a una colonna di tipo JET_coltypLongText o JET_coltypLongBinary. Lo stesso comportamento può essere ottenuto determinando le dimensioni del valore lungo esistente e specificando ibLongValue in psetinfo. Tuttavia, è più semplice usare questo grbit, poiché non è necessario conoscere le dimensioni del valore di colonna esistente.

JET_bitSetOverwriteLV

Sostituisce il valore long esistente con i nuovi dati. Quando si usa questa opzione, è come se il valore lungo esistente sia stato impostato su 0 (zero) lunghezza prima di impostare i nuovi dati.

JET_bitSetSizeLV

Interpreta il buffer di input come numero intero di byte da impostare come lunghezza del valore lungo descritto dall'id colonna specificato e, se specificato, il numero di sequenza in psetinfo-itagSequence>. Se le dimensioni specificate sono maggiori del valore della colonna esistente, la colonna verrà estesa con 0s. Se le dimensioni sono inferiori al valore della colonna esistente, il valore verrà troncato.

JET_bitSetZeroLength

Imposta un valore su lunghezza zero. In genere, un valore di colonna è impostato su NULL passando un cbMax pari a 0. Tuttavia, per alcuni tipi, ad esempio JET_coltypText, un valore di colonna può essere 0 lunghezza anziché NULL e questa opzione viene usata per distinguere tra NULL e 0 lunghezza.

JET_bitSetSeparateLV

Forza l'archiviazione di un valore lungo, colonne di tipo JET_coltypLongText o JET_coltypLongBinary, separatamente dal resto dei dati del record. Ciò si verifica normalmente quando le dimensioni del valore lungo impediscono l'archiviazione con i dati dei record rimanenti. Tuttavia, questa opzione può essere usata per forzare l'archiviazione separata del valore long. Si noti che i valori lunghi quattro byte di dimensioni o inferiori non possono essere forzati a essere separati. In questi casi, l'opzione viene ignorata.

JET_bitSetUniqueMultiValues

Applica valori distinti in una colonna multivalore. Questa opzione confronta i dati della colonna di origine, senza trasformazioni, con altri valori di colonna esistenti e viene restituito un errore se viene trovato un duplicato. Se questa opzione viene specificata, non è possibile JET_bitSetAppendLv, JET_bitSetOverwriteLV e JET_bitSetSizeLV.

JET_bitSetUniqueNormalizedMultiValues

Applica valori distinti in una colonna multivalore. Questa opzione confronta la trasformazione normalizzata della chiave dei dati della colonna con altri valori di colonna trasformati in modo analogo e viene restituito un errore se viene trovato un duplicato. Se questa opzione viene specificata, non è possibile JET_bitSetAppendLv, JET_bitSetOverwriteLV e JET_bitSetSizeLV.

JET_bitSetRevertToDefaultValue

Fa sì che la colonna restituisca il valore di colonna predefinito nelle operazioni di recupero successive della colonna. Tutti i valori di colonna esistenti vengono rimossi. Questa opzione è applicabile solo per le colonne con tag, sparse o multivalore.

JET_bitSetIntrinsicLV

Mantiene il valore lungo, le colonne di tipo JET_coltypLongText o JET_coltypeLongBinary, archiviate con i dati del record rimanenti, se possibile. In genere, le colonne lunghe vengono archiviate separatamente quando la lunghezza supera i 1024 byte o altrimenti la lunghezza del record supera la limitazione delle dimensioni della pagina. Tuttavia, se questa opzione è impostata, l'operazione imposta colonna avrà esito negativo con errore JET_errColumnTooBig anziché archiviare questo valore di colonna separato dai dati dei record rimanenti.

ibLongValue

Offset del primo byte da recuperare da una colonna di tipo JET_coltypLongBinary o JET_coltypLongText.

itagSequence

Descrive il numero di sequenza di valore in una colonna multivalore. Un itagSequence pari a 0 indica che il set di valori di colonna deve essere aggiunto come nuova istanza di una colonna multivalore.

err

Codici di errore e avvisi restituiti dall'operazione di impostazione della colonna.

Requisiti

Requisito Valore

Client

Richiede Windows Vista, Windows XP o Windows 2000 Professional.

Server

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

Intestazione

Dichiarato in Esent.h.

Vedere anche

JET_COLTYP
JET_COLUMNID
JET_ERR
JET_GRBIT
JetSetColumns