SQLSetDescRec
Este tópico discute a funcionalidade SQLSetDescRec específica para SQL Server Native Client.
SQLSetDescRec e parâmetros com valor de tabela
SQLSetDescRec pode ser usado para definir campos de descritor para parâmetros com valor de tabela e colunas de parâmetro com valor de tabela. As colunas do parâmetro com valor de tabela ficam disponíveis somente quando o campo do cabeçalho do descritor SQL_SOPT_SS_PARAM_FOCUS é definido como o ordinal de um registro que tenha SQL_DESC_TYPE definido como SQL_SS_TABLE. Para obter mais informações sobre SQL_SPOT_SS_PARAM_FOCUS, consulte SQLSetStmtAttr.
A seguinte tabela descreve o mapeamento entre parâmetros e campos de descritor.
Parâmetro | Atributo relacionado para tipos de parâmetro sem valor de tabela, incluindo colunas de parâmetro com valor de tabela | Atributo relacionado para parâmetros com valor de tabela |
---|---|---|
Tipo | SQL_DESC_TYPE | SQL_SS_TABLE |
SubType | Ignored | Para registros de tipo SQL_DATETIME ou SQL_INTERVAL, defina como SQL_DESC_DATETIME_INTERVAL_CODE. |
Comprimento | SQL_DESC_OCTET_LENGTH | O comprimento do nome do tipo de parâmetro com valor de tabela. Isso poderá ser SQL_NTS se o nome do tipo terminar com caractere nulo ou zero se o nome do tipo de parâmetro com valor de tabela não for necessário. |
Precisão | SQL_DESC_PRECISION | SQL_DESC_ARRAY_SIZE |
Escala | SQL_DESC_SCALE | Não utilizado. O parâmetro deve ser zero. |
DataPtr | SQL_DESC_DATA_PTR em APD | SQL_CA_SS_TYPE_NAME O parâmetro é opcional para chamadas de procedimento armazenado e NULL poderá ser especificado se ele não for necessário. Esse parâmetro deve ser especificado para instruções SQL que não sejam chamadas de procedimento. DataPtr também serve como um valor exclusivo que o aplicativo pode usar para identificar esse parâmetro com valor de tabela quando a associação de linha variável é usada. |
StringLengthPtr | SQL_DESC_OCTET_LENGTH_PTR | SQL_DESC_OCTET_LENGTH_PTR Para um parâmetro com valor de tabela, trata-se do número de linhas de transferência ou SQL_DATA_AT_EXEC. Esse é um ponteiro para um valor que contém o número de linhas a serem transferidas com SQLExecDirect. |
IndicatorPtr | SQL_DESC_INDICATOR_PTR | SQL_DESC_INDICATOR_PTR |
Para obter mais informações sobre parâmetros com valor de tabela, consulte Parâmetros com valor de tabela (ODBC).
Suporte de SQLSetDescRec a recursos aprimorados de data e hora
Os valores permitidos para tipos de data/hora são os seguintes:
Tipo | SubType | Comprimento | Precisão | Escala | |
---|---|---|---|---|---|
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 |
Para obter mais informações, consulte Melhorias de data e hora (ODBC).
Suporte de SQLSetDescRec para UDTs CLR grandes
SQLSetDescRec
dá suporte a UDTs grandes do CLR. Para obter mais informações, consulte Tipos de User-Defined CLR grandes (ODBC).