📄 page2.cpp
字号:
counter=rs.GetRecordCount();
rs.MoveNext();
}
sql.Format("%d",counter);
m_clist1.SetItemText(j,3,sql);
rs.Close();
}
rs.Close();
//各系参加考试的总人数;
long attendCount;
CString studentID,xueqitemp;
for(j=0;j<count;j++)
{
xueqitemp=m_clist1.GetItemText(j,1);//学期
strsql=m_clist1.GetItemText(j,2);//系别,j是表项的序号,1是列。
rs.Open(CRecordset::forwardOnly,
"select DISTINCT 学号ID from 成绩表 where 系别ID='"+strsql+"'and 学期ID='"+xueqitemp+"'");
while(!rs.IsEOF())
{
attendCount=rs.GetRecordCount();
rs.MoveNext();
}
sql.Format("%d",attendCount);
m_clist1.SetItemText(j,4,sql);
rs.Close();
}
rs.Close();
//各系不合格人数及合格率
long notWellCount=0;
float wellRatio=0,SattendCount=0;//参加考试的总人数
CString strNoWellCount,strWellRatio;
for(j=0;j<count;j++)//循环
{
xueqitemp=m_clist1.GetItemText(j,1);//学期
strsql=m_clist1.GetItemText(j,2);//系别,j是表项的序号,1是列。
rs.Open(CRecordset::forwardOnly,
"select DISTINCT 学号ID from 成绩表 where 系别ID='"+strsql+"'and 学期ID='"+xueqitemp+"'and 成绩 < 60");
while(!rs.IsEOF())
{
notWellCount=rs.GetRecordCount();
rs.MoveNext();
}
//不合格人数
strNoWellCount.Format("%d",notWellCount);
m_clist1.SetItemText(j,8,strNoWellCount);
//合格率
sql=m_clist1.GetItemText(j,4);//得出参加总人数
sscanf(sql,"%f",&SattendCount);//
wellRatio=((SattendCount - notWellCount) / SattendCount)*100 ;
strWellRatio.Format("%.2f",wellRatio);
strWellRatio+=_T("%");//字符串连接;
m_clist1.SetItemText(j,5,strWellRatio);
notWellCount=0;
rs.Close();
}
rs.Close();
//优秀人数及优秀率
long notexcellenceCount=0;
CString strExcellence;
float excellenceRatio=0,excellenceCount=0;
for(j=0;j<count;j++)//循环
{
xueqitemp=m_clist1.GetItemText(j,1);//学期
strsql=m_clist1.GetItemText(j,2);//系别,j是表项的序号,1是列。
rs.Open(CRecordset::forwardOnly,
"select DISTINCT 学号ID from 成绩表 where 系别ID='"+strsql+"'and 学期ID='"+xueqitemp+"'and 成绩 < 80 ");
while(!rs.IsEOF())
{
notexcellenceCount=rs.GetRecordCount();
rs.MoveNext();
}
//优秀率
sql=m_clist1.GetItemText(j,4);//得出参加总人数
sscanf(sql,"%f",&SattendCount);//
excellenceRatio=((SattendCount - notexcellenceCount) / SattendCount)*100;
strExcellence.Format("%.2f",excellenceRatio);
strExcellence+=_T("%");//字符串连接;
m_clist1.SetItemText(j,6,strExcellence);
//优秀人数
excellenceCount = SattendCount - notexcellenceCount;
strExcellence.Format("%.0f",excellenceCount);
m_clist1.SetItemText(j,7,strExcellence);
notexcellenceCount=0;
rs.Close();
}
//系别
for(j=0;j<count;j++)
{
strsql=m_clist1.GetItemText(j,2);//j是表项的序号,1是列。
rs.Open(CRecordset::forwardOnly,
"select 系别名称 from 系别 where 系别ID='"+strsql+"'");
rs.GetFieldValue("系别名称",sql);
m_clist1.SetItemText(j,2,sql);
rs.Close();
}
rs.Close();
}
void CPage2::DataDisPlayXIji()
{
if(m_database.IsOpen())
m_database.Close();//发现数据库有冲突,关闭数据库;
m_database.Open(_T("student"));//重新打开数据库;
CRecordset rs(&m_database);
CString sql,strsql,strXibie,strXiBieID;
CString str,strnian;
//得到系别ID
m_xibie_xijitongji.GetLBText(m_xibie_xijitongji.GetCurSel(),strXibie);
rs.Open(CRecordset::forwardOnly,
"select 系别ID from 系别 where 系别名称='"+strXibie+"'");
rs.GetFieldValue("系别ID",strXiBieID);
rs.Close();
int i=0,count,j;
//系级统计的数据显示
m_clist2.DeleteAllItems();//更新
//学期ID
rs.Open(CRecordset::forwardOnly,
"select DISTINCT 学期ID,学界ID,班级ID from 成绩表 where 系别ID='"+strXiBieID+"' ORDER BY 学期ID ");
if(rs.GetRecordCount()!=0)
{
while(!rs.IsEOF())
{
rs.GetFieldValue("学期ID",sql);
rs.GetFieldValue("班级ID",strsql);
rs.GetFieldValue("学界ID",strnian);
m_clist2.InsertItem(i,"");
m_clist2.SetItemText(i,0,strnian);
m_clist2.SetItemText(i,1,sql);
m_clist2.SetItemText(i,2,strsql);
rs.MoveNext();
i++;
count=i;
}
}
rs.Close();
//各班参加考试的总人数;
long attendCount;
CString studentID,xueqitemp;
for(j=0;j<count;j++)
{
xueqitemp=m_clist2.GetItemText(j,1);//学期
strsql=m_clist2.GetItemText(j,2);//班级,j是表项的序号,1是列。
rs.Open(CRecordset::forwardOnly,
"select DISTINCT 学号ID from 成绩表 where 系别ID='"+strXiBieID+"' and 班级ID='"+strsql+"'and 学期ID='"+xueqitemp+"'");
if(rs.GetRecordCount()!=0)
{
while(!rs.IsEOF())
{
attendCount=rs.GetRecordCount();
rs.MoveNext();
}
sql.Format("%d",attendCount);
m_clist2.SetItemText(j,3,sql);
rs.Close();
}
rs.Close();
}
rs.Close();
//各班不合格人数及合格率及合格人数
long notWellCount=0;
float wellRatio=0,SattendCount=0,WellCount;//参加考试的总人数
CString strNoWellCount,strWellRatio,strWellCount;
for(j=0;j<count;j++)//循环
{
xueqitemp=m_clist2.GetItemText(j,1);//学期
strsql=m_clist2.GetItemText(j,2);//班级,j是表项的序号,1是列。
rs.Open(CRecordset::forwardOnly,
"select DISTINCT 学号ID from 成绩表 where 系别ID='"+strXiBieID+"' and 班级ID='"+strsql+"'and 学期ID='"+xueqitemp+"'and 成绩 < 60");
while(!rs.IsEOF())
{
notWellCount=rs.GetRecordCount();
rs.MoveNext();
}
//不合格人数
strNoWellCount.Format("%d",notWellCount);
m_clist2.SetItemText(j,8,strNoWellCount);
//
sql=m_clist2.GetItemText(j,3);//得出参加总人数
sscanf(sql,"%f",&SattendCount);//
//合格人数
WellCount=SattendCount - notWellCount;
strWellCount.Format("%.0f",WellCount);
m_clist2.SetItemText(j,6,strWellCount);
//合格率
wellRatio=((SattendCount - notWellCount) / SattendCount)*100 ;
strWellRatio.Format("%.2f",wellRatio);
strWellRatio+=_T("%");//字符串连接;
m_clist2.SetItemText(j,4,strWellRatio);
notWellCount=0;
rs.Close();
}
rs.Close();
//优秀人数及优秀率
long notexcellenceCount=0;
CString strExcellence;
float excellenceRatio=0,excellenceCount=0;
for(j=0;j<count;j++)//循环
{
xueqitemp=m_clist2.GetItemText(j,1);//学期
strsql=m_clist2.GetItemText(j,2);//班级,j是表项的序号,1是列。
rs.Open(CRecordset::forwardOnly,
"select DISTINCT 学号ID from 成绩表 where 系别ID='"+strXiBieID+"' and 班级ID='"+strsql+"'and 学期ID='"+xueqitemp+"'and 成绩 < 80 ");
while(!rs.IsEOF())
{
notexcellenceCount=rs.GetRecordCount();
rs.MoveNext();
}
//优秀率
sql=m_clist2.GetItemText(j,3);//得出参加总人数
sscanf(sql,"%f",&SattendCount);//
excellenceRatio=((SattendCount - notexcellenceCount) / SattendCount)*100;
strExcellence.Format("%.2f",excellenceRatio);
strExcellence+=_T("%");//字符串连接;
m_clist2.SetItemText(j,5,strExcellence);
//优秀人数
excellenceCount = SattendCount - notexcellenceCount;
strExcellence.Format("%.0f",excellenceCount);
m_clist2.SetItemText(j,7,strExcellence);
notexcellenceCount=0;
rs.Close();
}
rs.Close();
//班级
for(j=0;j<count;j++)
{
strsql=m_clist2.GetItemText(j,2);//j是表项的序号,1是列。
rs.Open(CRecordset::forwardOnly,
"select 班级名称 from 班级 where 班级ID='"+strsql+"'");
rs.GetFieldValue("班级名称",sql);
m_clist2.SetItemText(j,2,sql);
rs.Close();
}
rs.Close();
}
void CPage2::OnSelchangecmbXiBiexijitongji()
{
OncmdMeRenxiji();
}
void CPage2::RefreshData()//刷新院级统计
{
m_clist1.DeleteAllItems();//更新
DataDisplay();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -