Partilhar via


Tamanho da coluna, dígitos decimais, tamanho do octeto de transferência e tamanho de exibição – ODBC

Os tipos de dados são caracterizados pelo tamanho da coluna (ou parâmetro), dígitos decimais, comprimento e tamanho de exibição. As funções ODBC a seguir retornam esses atributos para um parâmetro em uma instrução SQL ou para um tipo de dados SQL em uma fonte de dados. Cada função ODBC retorna um conjunto diferente desses atributos, da seguinte maneira:

  • SQLDescribeCol retorna o tamanho da coluna e os dígitos decimais das colunas que descreve.

  • SQLDescribeParam retorna o tamanho do parâmetro e os dígitos decimais dos parâmetros descritos por ele. SQLBindParameter define o tamanho do parâmetro e os dígitos decimais de um parâmetro em uma instrução SQL.

  • As funções de catálogo SQLColumns, SQLProcedureColumns e SQLGetTypeInfo retornam atributos para uma coluna em uma tabela, conjunto de resultados ou um parâmetro de procedimento e os atributos de catálogo dos tipos de dados na fonte de dados. SQLColumns retorna o tamanho da coluna, os dígitos decimais e o comprimento de uma coluna em tabelas especificadas (como a tabela base, a exibição ou uma tabela do sistema). SQLProcedureColumns retorna o tamanho da coluna, os dígitos decimais e o comprimento de uma coluna em um procedimento. SQLGetTypeInfo retorna o tamanho máximo da coluna e os dígitos decimais mínimos e máximos de um tipo de dados SQL em uma fonte de dados.

Os valores retornados por essas funções para a coluna ou o tamanho do parâmetro correspondem à "precisão", conforme definido em ODBC 2. x. No entanto, os valores não correspondem necessariamente aos valores retornados em SQL_DESC_PRECISION ou em qualquer outro campo descritor. O mesmo vale para dígitos decimais, que correspondem à "escala", conforme definido em ODBC 2. x. Ele não corresponde necessariamente aos valores retornados em SQL_DESC_SCALE ou em qualquer outro campo descritor, mas vem de campos descritores diferentes, dependendo do tipo de dados. Para obter mais informações, consulte Tamanho da coluna e Dígitos Decimais.

Da mesma forma, os valores para o comprimento do octeto de transferência não vêm de SQL_DESC_LENGTH. Eles vêm do SQL_DESC_OCTET_LENGTH de um campo de um descritor para todos os tipos de caracteres e binários. Não há nenhum campo de descritor que contenha essas informações para outros tipos.

O valor de tamanho de exibição para todos os tipos de dados corresponde ao valor em um único campo de descritor, SQL_DESC_DISPLAY_SIZE.

Os campos do descritor descrevem as características de um conjunto de resultados. Os campos do descritor não contêm valores válidos sobre dados antes da execução da instrução. Os valores para tamanho da coluna, dígitos decimais e tamanho de exibição retornados por SQLColumns, SQLProcedureColumns e SQLGetTypeInfo, por outro lado, retornam características de objetos de banco de dados, como colunas de tabela e tipos de dados, que existem no catálogo da fonte de dados. Da mesma forma, em seu conjunto de resultados, SQLColAttribute retorna o tamanho da coluna, os dígitos decimais e o comprimento do octeto de transferência de colunas na fonte de dados; esses valores não são necessariamente os mesmos que os valores nos campos SQL_DESC_PRECISION, SQL_DESC_SCALE e SQL_DESC_OCTET_LENGTH descritor.

Para obter mais informações sobre esses campos de descritor, consulte SQLSetDescField.

Tópicos relacionados: