我在用MFC ODBC做一个简单的学籍管理系统,其中要统计每门课程的平均成绩,数据源的表是selcourse(sel_strID,sel_cname,selscore),分别是选课的学号,课程,成绩,另外定义表AvgScore用来存储统计后的记录.下面的sql语句,我在sql 查询分析器上能通过,得到正确结果,在vc下运行,却遇见了"数据被截断的"错误,不能显示完全,网上查了好久,没找到解决方法,请教各位问题在哪??代码如下:
//按课程统计平均成绩
void CMyView::OnStaCourse() 
{
    CAvgScore ab;//ab记录集用来存放统计结果
    CString sql;
sql = "select sel_cname,AVG(sel_score) from selcourse group by sel_cname";
ab.Open(AFX_DB_USE_DEFAULT_TYPE,sql); m_ListCtrlStaC.DeleteAllItems();
int i = 0;
if(ab.IsBOF())
{
AfxMessageBox("数据库空!");
return;
}
//CString s;
//s.Format("%d",ab.GetRecordCount());
//AfxMessageBox(s);
while(!ab.IsEOF())
{
m_ListCtrlStaC.InsertItem(i,ab.m_cname);
                  CString s;
s.Format("%d",ab.m_ascore);
m_ListCtrlStaC.SetItemText(i,1,s);
i++;
ab.MoveNext();  //用debug好像是这句出现异常
}
ab.Close();
}

解决方案 »

  1.   

    CAvgScore派生于 CRecordset ?代码看起来没什么错?"数据被截断的"错误,这错误怎么提示滴,执行到一半就弹出吗
      

  2.   

    说明一下,CAvgScore是派生于CRecordset的,代码编译通过没错误,能够运行
    我是定义一个函数OnStaCourse作为一个按钮单击的响应函数,"数据被截断的"错误,就是在运行成功后单击这个按钮时调用这个函数弹出的错误.还有,在selcourse的记录少时,不会出现错误,但是记录增加多时就会弹出这样的错误,请教???
      

  3.   

    这个问题好象是打开的方法不对,不能MOVENEXT
      

  4.   

    请问pioneer_public(),打开的方法有什么错误吗,能不能指点一下