SQLSetDescRec
本主題討論SQL Server Native Client特有的 SQLSetDescRec 功能。
SQLSetDescRec 和資料表值參數
SQLSetDescRec 可用來設定資料表值參數和資料表值參數資料行的描述元欄位。 只有當描述項標頭欄位 SQL_SOPT_SS_PARAM_FOCUS 設定為將 SQL_DESC_TYPE 設定為 SQL_SS_TABLE 之記錄的序數時,才可使用資料表值參數資料行。 如需SQL_SOPT_SS_PARAM_FOCUS的詳細資訊,請參閱 SQLSetStmtAttr。
下表描述參數與描述項欄位之間的對應。
參數 | 非資料表值參數類型的相關屬性,包括資料表值參數資料行 | 資料表值參數的相關屬性 |
---|---|---|
類型 | SQL_DESC_TYPE | SQL_SS_TABLE |
亞 | 忽略 | 如果是 SQL_DATETIME 或 SQL_INTERVAL 類型的記錄,請將這個設定為 SQL_DESC_DATETIME_INTERVAL_CODE。 |
長度 | SQL_DESC_OCTET_LENGTH | 資料表值參數類型名稱的長度。 如果此類型名稱以 null 結尾,這項設定可以是 SQL_NTS;如果不需要資料表值參數類型名稱則為零。 |
有效位數 | SQL_DESC_PRECISION | SQL_DESC_ARRAY_SIZE |
調整 | SQL_DESC_SCALE | 未使用的。 這個參數應為零。 |
DataPtr | SQL_DESC_DATA_PTR in APD | SQL_CA_SS_TYPE_NAME 這個參數對於預存程序呼叫而言是選擇性的,如果不需要的話可以指定 NULL。 必須針對不是程序呼叫的 SQL 陳述式指定這個參數。 當使用變數資料列系結時,DataPtr也會做為應用程式可用來識別這個資料表值參數的唯一值。 |
StringLengthPtr | SQL_DESC_OCTET_LENGTH_PTR | SQL_DESC_OCTET_LENGTH_PTR 如果是資料表值參數,這就是要傳送的資料列數或 SQL_DATA_AT_EXEC。 這是一個值的指標,這個值會保存使用 SQLExecDirect 傳輸的資料列數目。 |
IndicatorPtr | SQL_DESC_INDICATOR_PTR | SQL_DESC_INDICATOR_PTR |
如需資料表值參數的詳細資訊,請參閱 資料表值參數 (ODBC) 。
增強型日期和時間功能的 SQLSetDescRec 支援
日期/時間類型所允許的值如下:
類型 | 亞 | 長度 | 有效位數 | 縮放比例 | |
---|---|---|---|---|---|
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 |
如需詳細資訊,請參閱 ODBC) (日期和時間改善 。
大型 CLR UDT 的 SQLSetDescRec 支援
SQLSetDescRec
支援大型 CLR 使用者定義型別 (UDT)。 如需詳細資訊,請參閱 ODBC) (大型 CLR User-Defined 類型 。