ODBC与oracle,绑定数字字段

时间:2013-09-23 15:19:03

标签: c++ oracle odbc

我有一个大问题。 我将这些函数用于db中的读取类型,并在c ++中绑定正确的类型

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

oracle的这个函数告诉我,类型是:SQL_DECIMAL 但这不正确。

1 个答案:

答案 0 :(得分: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_precisiondata_scale