设为首页 加入收藏

TOP

recordset记录集方式使用(一)
2015-07-24 10:24:25 来源: 作者: 【 】 浏览:4
Tags:recordset 记录 方式 使用

一 获得每个学生的成绩

?

    _RecordsetPtr pRecordSet;
    pRecordSet.CreateInstance(_uuidof(Recordset));
    CString recordStr;
    recordStr.Format (_T("Select * from  课堂成绩表%d order by 学号 "),
        m_pParentStudentInfo->m_nXueqiID);
    try{
        pRecordSet->Open(
            (LPCTSTR)recordStr,
            m_pConnection.GetInterfacePtr(),
            adOpenDynamic,
            adLockOptimistic,
            adCmdText
            );
        if (!pRecordSet->adoBOF)
        {
            pRecordSet->MoveFirst ();
        }else
            return; //数据库为空
        CString nXuehaoStr;
        CString nameStr;
        CString youxiuStr;
        CString liangStr;
        CString jiayouStr;
        CString kuangkeStr;
        _variant_t varValue;
        unsigned nCount=0;
        while (!pRecordSet->adoEOF)
        {
            varValue=pRecordSet->GetCollect(_T("学号"));
            if (varValue.vt!=VT_NULL)
            {
                nXuehaoStr=((LPCTSTR)_bstr_t(varValue));
                if (_ttoi(nXuehaoStr)==0) //特殊学生 保存其他信息
                {    
                    pRecordSet->MoveNext ();
                    continue;
                }
            }else{
                pRecordSet->MoveNext ();
                continue;
            }
            varValue=pRecordSet->GetCollect (_T("姓名"));
            if (varValue.vt!=VT_NULL)
            {
                nameStr=(LPCTSTR)_bstr_t(varValue);
            }else
                nameStr=L"";
            varValue=pRecordSet->GetCollect (_T("优秀"));
            if (varValue.vt!=VT_NULL)
            {
                youxiuStr=(LPCTSTR)_bstr_t(varValue);
            }else
                youxiuStr=L"0";
            varValue=pRecordSet->GetCollect (_T("良"));
            if (varValue.vt!=VT_NULL)
            {
                liangStr=(LPCTSTR)_bstr_t(varValue);
            }else
                liangStr=L"0";
            varValue=pRecordSet->GetCollect (_T("一般"));
            if (varValue.vt!=VT_NULL)
            {
                jiayouStr=(LPCTSTR)_bstr_t(varValue);
            }else
                jiayouStr=L"0";
            varValue=pRecordSet->GetCollect (_T("旷课"));
            if (varValue.vt!=VT_NULL)
            {
                kuangkeStr=(LPCTSTR)_bstr_t(varValue);
            }else
                kuangkeStr=L"0";
            m_StuKetangScoreList.InsertItem(nCount,nXuehaoStr);
            m_StuKetangScoreList.SetItemText(nCount,1,nameStr);
             m_StuKetangScoreList.SetItemText(nCount,2,youxiuStr);
             m_StuKetangScoreList.SetItemText(nCount,3,liangStr);
             m_StuKetangScoreList.SetItemText(nCount,4,jiayouStr);
            m_StuKetangScoreList.SetItemText(nCount,5,kuangkeStr);
            nCount++;
            pRecordSet->MoveNext ();
        }
    }
    catch(_com_error & e)
    {
        AfxMessageBox(e.ErrorMessage());
    }

获得班级信息

?

    _RecordsetPtr pRecordSet;
    pRecordSet.CreateInstance(_uuidof(Recordset));
    CString recordStr;
    recordStr.Format (_T("Select * from  ClassInfo order by 入学年,班级,ID"));
    try{
        pRecordSet->Open(
            (LPCTSTR)recordStr,
            m_pConnection.GetInterfacePtr(),
            adOpenDynamic,
            adLockOptimistic,
            adCmdText
            );
        if (!pRecordSet->adoBOF)
        {
            pRecordSet->MoveFirst ();
        }else
            return; //数据库为空
        CString ruxueNianStr;
        CString banjiStr;
        CString xueqiStr;
        _variant_t varValue;
        unsigned nCount=0;
        int nID=0;
        int banjiID=0;
    
        BOOL bSelected=FALSE;
        short nDianming=0;
        while (!pRecordSet->adoEOF)
        {
            varValue=pRecordSet->GetCollect(_T("点名"));
            if (varValue.vt!=VT_NULL)
            {
                nDianming=_ttoi((LPCTSTR)_bstr_t(varValue));
            }else
                nDianming=0;
            varValue=pRecordSet->GetCollect(_T("入学年"));
            if (varValue.vt!=VT_NULL)
            {
                ruxueNianStr=(LPCTSTR)_bstr_t(varValue);
            }else
                continue;
            varValue=pRecordSet->GetCollect (_T("班级"));
            if (varValue.vt!=VT_NULL)
            {
                banjiStr=(LPCTSTR)_bstr_t(varValue);
            }else
                continue;
            varValue=pRecordSet->GetCollect (_T("学期"));
            if (varValue.vt!=VT_NULL)
            {
                xueqiStr=(LPCTS
首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Redis的持久化-AOF 下一篇数据库一列多行转一行多列

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·微服务 Spring Boot (2025-12-26 18:20:10)
·如何调整 Redis 内存 (2025-12-26 18:20:07)
·MySQL 数据类型:从 (2025-12-26 18:20:03)
·Linux Shell脚本教程 (2025-12-26 17:51:10)
·Qt教程,Qt5编程入门 (2025-12-26 17:51:07)