SQLSetDescRec
In questo argomento viene illustrata la funzionalità SQLSetDescRec specifica di SQL Server Native Client.
SQLSetDescRec e parametri con valori di tabella
SQLSetDescRec può essere utilizzato per impostare campi di descrizione per i parametri con valori di tabella e le relative colonne. Le colonne dei parametri con valori di tabella sono disponibili solo quando il campo dell'intestazione del descrittore SQL_SOPT_SS_PARAM_FOCUS è impostato sull'ordinale di un record in cui SQL_DESC_TYPE è impostato su SQL_SS_TABLE. Per ulteriori informazioni su SQL_SOPT_SS_PARAM_FOCUS, vedere SQLSetStmtAttr.
Nella tabella seguente viene descritto il mapping tra parametri e campi di descrizione.
Parametro |
Attributo correlato per i tipi di parametro non con valori di tabella, incluse le relative colonne |
Attributo correlato per i parametri con valori di tabella |
---|---|---|
Type |
SQL_DESC_TYPE |
SQL_SS_TABLE |
SubType |
Ignorato |
Per i record di tipo SQL_DATETIME o SQL_INTERVAL, impostare su SQL_DESC_DATETIME_INTERVAL_CODE. |
Length |
SQL_DESC_OCTET_LENGTH |
Lunghezza del nome del tipo di parametro con valori di tabella. Può essere SQL_NTS, se il nome del tipo è con terminazione Null oppure zero se il nome del tipo di parametro con valori di tabella non è obbligatorio. |
Precision |
SQL_DESC_PRECISION |
SQL_DESC_ARRAY_SIZE |
Scale |
SQL_DESC_SCALE |
Non utilizzato. Questo parametro deve essere zero. |
DataPtr |
SQL_DESC_DATA_PTR in APD |
SQL_CA_SS_TYPE_NAME Questo parametro è facoltativo per le chiamate di stored procedure ed è possibile specificare NULL se non è obbligatorio. È necessario specificarlo per istruzioni SQL che non sono chiamate di procedure. DataPtr viene utilizzato anche come valore univoco che consente all'applicazione di identificare il parametro con valori di tabella quando viene impiegata l'associazione variabile di righe. |
StringLengthPtr |
SQL_DESC_OCTET_LENGTH_PTR |
SQL_DESC_OCTET_LENGTH_PTR Per un parametro con valori di tabella, è il numero di righe da trasferire o SQL_DATA_AT_EXEC.SQL_DATA_AT_EXEC. Si tratta di un puntatore a un valore che contiene il numero di righe da trasferire con SQLExecDirect. |
IndicatorPtr |
SQL_DESC_INDICATOR_PTR |
SQL_DESC_INDICATOR_PTR |
Per ulteriori informazioni sui parametri con valori di tabella, vedere Parametri con valori di tabella (ODBC).
Supporto di SQLSetDescRec per le funzionalità avanzate di data e ora
I valori consentiti per i tipi di data/ora sono i seguenti:
Type |
SubType |
Length |
Precision |
Scale |
|
---|---|---|---|---|---|
datetime |
SQL_DATETIME |
SQL_CODE_TIMESTAMP |
4 |
3 |
3 |
smalldatetime |
SQL_SQL_DATETIME |
SQL_CODE_TIMESTAMP |
8 |
0 |
0 |
date |
SQL_DATETIME |
SQL_CODE_DATE |
6 |
0 |
0 |
time |
SQL_SS_TIME2 |
0 |
10 |
0..7 |
0..7 |
datetime2 |
SQL_DATETIME |
SQL_CODE_TIMESTAMP |
16 |
0..7 |
0..7 |
datetimeoffset |
SQL_SS_TIMESTAMPOFFSET |
0 |
20 |
0..7 |
0..7 |
Per ulteriori informazioni, vedere Miglioramenti relativi a data e ora (ODBC).
Supporto di SQLSetDescRec per tipi definiti dall'utente CLR di grandi dimensioni
SQLSetDescRec supporta i tipi definiti dall'utente (UDT) CLR di grandi dimensioni. Per ulteriori informazioni, vedere Tipi CLR definiti dall'utente di grandi dimensioni (ODBC).