紧急求救,CRecordset读取oracle的number字段有误问题?
紧急求救,请大家帮忙一起看看,环境如下:
数据库服务端是unix系统,oracle 10g版本,
客户端为windows server2003环境,客户端装了oracle client for windows,
用mfc的CRecordset通过odbc访问oracle,
odbc驱动配的是oracle提供的"Oracle in OraClient10g_home1"。
现在出现以下问题:
访问oracle表中的某个字段money,类型是number(16,2),会出现分位数丢失的情况,比如库里面是"1234567.89",读出来后变成"1234567.8",该问题出现概率很低,很难重现。
CRecordset打开表的代码大概如下(省略一些判断语句):
CRecordset rs;
rs.Open(CRecordset::snapshot, "select money from table1", CRecordset::none);
CString strmoney;
CRecordset::GetFieldValue((short)0,strmoney);
请各位有经验的高人帮忙找下原因,在线等待,万分感谢!