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