Condividi tramite


Buffer posticipati

Un buffer posticipato è un buffer il cui valore viene usato in un determinato momento dopo che viene specificato in una chiamata di funzione. Ad esempio, SQLBindParameter viene usato per associare o eseguire il binding di un buffer di dati a un parametro di un'istruzione SQL. L'applicazione specifica il numero del parametro e passa l'indirizzo, la lunghezza dei byte e il tipo del buffer. Il driver salva queste informazioni ma non esamina il contenuto del buffer. Successivamente, quando l'applicazione esegue l'istruzione, il driver recupera le informazioni e le usa per recuperare i dati dei parametri e inviarli all'origine dati. Di conseguenza, l'input dei dati nel buffer viene posticipato. Poiché i buffer posticipati vengono specificati in una funzione e usati in un'altra, liberare un buffer posticipato mentre il driver lo prevede ancora è un errore di programmazione dell'applicazione; per altre informazioni, vedere Allocazione e liberazione di buffer, più avanti in questa sezione.

I buffer di input e di output possono essere posticipati. Nella tabella seguente vengono riepilogati gli usi dei buffer posticipati. Si noti che i buffer posticipati associati alle colonne del set di risultati vengono specificati con SQLBindCol e i buffer posticipati associati ai parametri dell'istruzione SQL vengono specificati con SQLBindParameter.

Utilizzo dei buffer Type Specificato con Usato da
Invio di dati per i parametri di input Input posticipato SQLBindParameter SQLExecute
SQLExecDirect
Invio di dati per aggiornare o inserire una riga in un set di risultati Input posticipato SQLBindCol SQLSetPos
Restituzione di dati per i parametri di output e input/output Output posticipato SQLBindParameter SQLExecute
SQLExecDirect
Restituzione dei dati del set di risultati Output posticipato SQLBindCol SQLFetch
SQLFetchScroll SQLSetPos