郑林鸿:学生信息和成绩管理系统的设计与实现 }
m_ctrList.InsertColumn(2,\班级\m_ctrList.InsertColumn(3,\总成绩\m_ctrList.InsertColumn(4,\平均分\m_ctrList.InsertColumn(5,\名次\m_ctrList.SetColumnWidth(0,80); m_ctrList.SetColumnWidth(1,80); m_ctrList.SetColumnWidth(2,80); m_ctrList.SetColumnWidth(3,80); m_ctrList.SetColumnWidth(4,80); m_ctrList.SetColumnWidth(5,80);
m_ctrList.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE
附录5——统计查询学生总分名次MFC代码
void CScoreTotalDlg::OnButtonStat()
{ // TODO: Add your control notification handler code here
UpdateData();
if(m_strClass.IsEmpty())
{ AfxMessageBox(\请选择班级\ }
if(m_strTime.IsEmpty())
{ AfxMessageBox(\请选择考试时间段\ }
if(m_strType.IsEmpty())
{ AfxMessageBox(\请选择考试类型\ }
m_ctrList.DeleteAllItems(); m_ctrList.SetRedraw(FALSE); CString strSQL; CString strValue=\CString strTemp; CDatabase db; db.Open(_T(\CRecordset rs1(&db); CRecordset rs2(&db); strSQL.Format(\
31
return;
return;
return;
郑林鸿:学生信息和成绩管理系统的设计与实现 }
avg(score) as average,\\ sum(score) as total from score \\ where class = '%s' and time = '%s' \\
and type = '%s' group by code order by sum(score) desc\,m_strClass,m_strTime,m_strType);
if(!rs1.Open(CRecordset::forwardOnly,strSQL))
{ MessageBox(\打开数据库失败!\数据库错误\ } int i=0;
rs1.m_strSort = \char buffer[20]; while(!rs1.IsEOF())
{ rs1.GetFieldValue(\学号 }
rs1.Close();
m_ctrList.SetRedraw(TRUE);
m_ctrList.InsertItem(i,strValue); //姓名
strTemp.Format(\if(!rs2.Open(CRecordset::forwardOnly,strTemp))
{ MessageBox(\打开数据库失败!\数据库错误\ }
rs2.GetFieldValue(\rs2.Close();
m_ctrList.SetItemText(i,1,strValue); m_ctrList.SetItemText(i,2,m_strClass); //班级 rs1.GetFieldValue(\总成绩 m_ctrList.SetItemText(i,3,strValue);
rs1.GetFieldValue(\平均成绩 m_ctrList.SetItemText(i,4,strValue); itoa(i+1,buffer,10);
m_ctrList.SetItemText(i,5,buffer); i++;
rs1.MoveNext();
rs1.Close(); return ; return ;
附录6——数据备份的MFC代码
void CMainFrame::OnDatabaseBackup() {
32
郑林鸿:学生信息和成绩管理系统的设计与实现 // TODO: Add your command handler code here
if(AfxMessageBox(\您确定要备份数据库吗?\ { return; }
if(CopyFile(\ AfxMessageBox(\数据库备份成功!\ else AfxMessageBox(\数据库备份失败!\
}
附录7——数据库恢复的MFC代码
void CMainFrame::OnDatabaseRecover()
{ if(AfxMessageBox(\还原数据库将覆盖原来的数据库。吗?\ { return; }
if(CopyFile(\ AfxMessageBox(\数据库还原成功!\ else
AfxMessageBox(\数据库还原失败!\ }
33
您确定要还原