Condividi tramite


Dati della colonna

Importante

Questa funzionalità verrà rimossa nelle versioni future di Windows. Evitare di usare questa funzionalità nel nuovo lavoro di sviluppo e pianificare la modifica delle applicazioni che attualmente usano questa funzionalità. Microsoft consiglia di usare la funzionalità cursore del driver.

La libreria di cursori crea un buffer nella cache per ogni buffer di dati associato al set di risultati con SQLBindCol. Usa i valori in questi buffer per costruire una clausola WHERE quando emula un'istruzione di aggiornamento o eliminazione posizionata. Aggiorna questi buffer dai buffer del set di righe quando recupera i dati dall'origine dati e quando esegue istruzioni di aggiornamento posizionate.

Quando la libreria di cursori aggiorna la cache dai buffer del set di righe, trasferisce i dati in base al tipo di dati C specificato in SQLBindCol. Ad esempio, se il tipo di dati C di un buffer del set di righe è SQL_C_SLONG, la libreria di cursori trasferisce quattro byte di dati; se è SQL_C_CHAR e BufferLength è 10, la libreria di cursori trasferisce 10 byte di dati. La libreria di cursori non esegue alcun controllo dei tipi o conversioni sui dati trasferiti.

Nota

La libreria di cursori non aggiorna la cache per una colonna se *StrLen_or_IndPtr nel buffer del set di righe corrispondente è SQL_DATA_AT_EXEC o il risultato della macro SQL_LEN_DATA_AT_EXEC.

Quando aggiorna una colonna, un'origine dati include dati di tipo carattere a lunghezza fissa e dati binari a lunghezza fissa a lunghezza zero in base alle esigenze. Ad esempio, un'origine dati archivia "Smith" in una colonna CHAR(10) come "Smith". La libreria di cursori non contiene dati vuoti o zero-pad nei buffer del set di righe quando copia questi dati nella cache dopo l'esecuzione di un'istruzione update posizionata. Pertanto, se un'applicazione richiede che i valori nella cache della libreria di cursori siano vuoti o con riempimento zero, è necessario che i valori nel buffer del set di righe vengano vuoti o zero prima di eseguire un'istruzione update posizionata.