Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
SQLBindParameter può eliminare il carico di lavoro della conversione dei dati quando viene usato per fornire dati per il driver ODBC di SQL Server Native Client, con conseguente miglioramento significativo delle prestazioni per i componenti client e server delle applicazioni. Altri vantaggi includono una riduzione della perdita di precisione durante l'inserimento o l'aggiornamento di tipi di dati numerici approssimativi.
Annotazioni
Quando si inseriscono char e wchar si digitano dati in una colonna immagine, vengono utilizzate le dimensioni dei dati passati, anziché le dimensioni dei dati dopo la conversione in un formato binario.
Se il driver ODBC di SQL Server Native Client rileva un errore in un singolo elemento di matrice di una matrice di parametri, il driver continua a eseguire l'istruzione per gli elementi della matrice rimanenti. Se l'applicazione ha associato una matrice di elementi di stato dei parametri per l'istruzione, è possibile determinare le righe di parametri che generano errori dalla matrice.
Quando si usa il driver ODBC di SQL Server Native Client, specificare SQL_PARAM_INPUT quando si associano parametri di input. Specificare solo SQL_PARAM_OUTPUT o SQL_PARAM_INPUT_OUTPUT quando si associano parametri di stored procedure definiti con la parola chiave OUTPUT.
SQLRowCount non è affidabile con il driver ODBC di SQL Server Native Client se un elemento matrice di una matrice di parametri associati causa un errore nell'esecuzione dell'istruzione. L'attributo dell'istruzione ODBC SQL_ATTR_PARAMS_PROCESSED_PTR segnala il numero di righe elaborate prima che si verifichi l'errore. L'applicazione può quindi attraversare la matrice di stato dei parametri per individuare il numero di istruzioni eseguite correttamente, se necessario.
Parametri di associazione per i tipi di caratteri SQL
Se il tipo di dati SQL passato è un tipo di carattere, ColumnSize è la dimensione in caratteri (non byte). Se la lunghezza della stringa di dati in byte è maggiore di 8000, ColumnSize deve essere impostata su SQL_SS_LENGTH_UNLIMITED, a indicare che non esiste alcun limite per le dimensioni del tipo SQL.
Ad esempio, se il tipo di dati SQL è SQL_WVARCHAR, ColumnSize non deve essere maggiore di 4000. Se la lunghezza effettiva dei dati è maggiore di 4000, ColumnSize deve essere impostata su SQL_SS_LENGTH_UNLIMITED in modo che nvarchar(max) venga usata dal driver.
Parametri SQLBindParameter e Table-Valued
Analogamente ad altri tipi di parametri, i parametri con valori di tabella sono associati da SQLBindParameter.
Dopo che un parametro con valori di tabella è stato associato, vengono associate anche le relative colonne. Per associare le colonne, chiamare SQLSetStmtAttr per impostare SQL_SOPT_SS_PARAM_FOCUS sull'ordinale del parametro con valori di tabella. Chiamare quindi SQLBindParameter per ogni colonna nel parametro con valori di tabella. Per tornare alle associazioni di parametri di primo livello, impostare SQL_SOPT_SS_PARAM_FOCUS su 0.
Per informazioni sul mapping dei parametri ai campi descrittore per i parametri con valori di tabella, vedere Binding e trasferimento dei dati dei parametri Table-Valued e valori di colonna.
Per altre informazioni sui parametri con valori di tabella, vedere Parametri con valori di tabella (ODBC).
Supporto di SQLBindParameter per le funzionalità avanzate di data e ora
I valori dei parametri dei tipi di data/ora vengono convertiti come descritto in Conversioni da C a SQL. Si noti che i parametri di tipo time e datetimeoffset devono avere ValueType specificato come SQL_C_DEFAULT o SQL_C_BINARY se vengono usate le strutture corrispondenti (SQL_SS_TIME2_STRUCT e SQL_SS_TIMESTAMPOFFSET_STRUCT).
Per altre informazioni, vedere Miglioramenti di data e ora (ODBC).
Supporto di SQLBindParameter per tipi definiti dall'utente CLR di grandi dimensioni
SQLBindParameter supporta tipi CLR definiti dall'utente di grandi dimensioni. Per altre informazioni, vedere Tipi CLR definiti dall'utente (ODBC) di grandi dimensioni.
Vedere anche
Dettagli di implementazione dell'API ODBC
funzione SQLBindParameter