liangfeiyp 发表于 2006-8-16 17:08

[求助]一个关于CRecordset.GetFieldValue()函数取值的问题

我定义了一个CRecordset类对象rs,用其成员函数GetFieldValue()获取记录集中的字段数值,出现了问题,代码如下:<BR>------连接到数据库-----(略)<BR>CString sql = _T("select sum(SCORE) as ScoreSum,count(*) as TestCount,avg(SCORE) as AvgScore from Y_YXJK_MEN_SCORE ");<BR>       sql += _T("where START_YEAR = ") + strfenxiyear + _T(" and START_MONTH = ") + strfenximonth + _T(" and WORKNUM = '"+strWORKNUM+"'") ;<BR>       CRecordset rs(&amp;db);<BR>       rs.Open(CRecordset::forwardOnly,sql);<BR>       CDBVariant varField;<BR>       long strSum1,strCount1,strAvg1;<BR>       rs.GetFieldValue(_T("ScoreSum"),varField);<BR>       strSum1 = (varField.m_lVal); <BR>       rs.GetFieldValue(_T("TestCount"),varField);<BR>       strCount1 = (varField.m_lVal);<BR>       rs.GetFieldValue(_T("AvgScore"),varField);<BR>       strAvg1 = (varField.m_lVal);<BR><BR>程序编译没错,执行的时候到了rs.GetFieldValue(_T("ScoreSum"),varField);时报错终止.<BR>说明一下Y_YXJK_MEN_SCORE 表中SCORE字段为nunber类型.我在别的地方这样用过,<BR>如果SCORE字段为varchar类型时没有问题,估计是不是与字段为nunber类型有关?数据库是ORACLE9I,<BR>程序开发环境是vc++.net.哪位高手熟悉GetFieldValue()函数的详细用法,指点一下,看看我的问题出在什么地方,急等答复,万分感激!

十一月天 发表于 2006-8-17 13:42

vc++.net吗?那你把CRecordset rs(&amp;db);改称指针试试

页: [1]

编程论坛