Tamanho da coluna, dígitos decimais, comprimento 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 ele descreve.
SQLDescribeParam retorna o tamanho do parâmetro e os dígitos decimais dos parâmetros que ele descreve. 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ínimo e máximo de um tipo de dados SQL em uma fonte de dados.
Os valores retornados por essas funções para o tamanho da coluna ou do parâmetro correspondem à "precisão", conforme definido no 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 no 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 descritor que contenha essas informações para outros tipos.
O valor do 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 descritores descrevem as características de um conjunto de resultados. Os campos descritores não contêm valores válidos sobre os 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 das colunas na fonte de dados; esses valores não são necessariamente os mesmos que os valores nos campos descritor SQL_DESC_PRECISION, SQL_DESC_SCALE e SQL_DESC_OCTET_LENGTH.
Para obter mais informações sobre esses campos de descritor, consulte SQLSetDescField.
Tópicos relacionados: