0

我有一个大问题。我使用该函数从 db 读取类型并在 c++ 中绑定正确的类型

SQLGetDescField(cursor->_desc,i,SQL_DESC_TYPE,&field->type,NULL,NULL)

oracle 的那个函数总是告诉我类型是:SQL_DECIMAL 但它不正确。

4

1 回答 1

1

你看到VARCHARDATE列了吗?

您在架构信息中看到了什么:

SELECT table_name, column_name, data_type, 
decode(data_type,
    'DATE', '11',
    'NUMBER', data_precision || ',' || data_scale,
    data_length) data_length
FROM user_tab_columns
WHERE table_name='MY_TABLE' AND column_name = 'MY_COLUMN'

在 ODBC 中,我使用SQLColumns()函数来读取模式信息,并使用它可以检索(通过 RecordSet)类型名称和列大小(对于各种数字类型而言是不同的)。当然,您可以直接从user_tab_columns. 对于数字类型,只需处理data_precisionand data_scale

于 2013-09-24T11:28:54.880 回答