📄 page1.cpp
字号:
if(counter>=60)
n++;
rs.MoveNext();
}
passID=n;
n=0;
rs.Close();
rs.Open(CRecordset::forwardOnly,
"select 成绩 from 成绩表 where 学界ID='"+strXuejieID+"' and 系别ID='"+strXiBieID+"' and 班级ID='"+strClassID+"' and 学期ID='"+strXueQiID+"' and 考试科目名称='"+strsql+"'");
while(!rs.IsEOF())
{
rs.GetFieldValue("成绩",strwellID);
sscanf(strwellID,"%f",&counter);
if(counter>=80)
n++;
rs.MoveNext();
}
wellID=n;
n=0;
rs.Close();
IDtemp=allID-passID;
strpassID.Format("%d",passID);
strwellID.Format("%d",wellID);
strIDtemp.Format("%d",IDtemp);
m_Ltongji.SetItemText(j,4,strpassID);
m_Ltongji.SetItemText(j,3,strwellID);
m_Ltongji.SetItemText(j,5,strIDtemp);
rs.Close();
}
rs.Close();
//授课教师
//
//m_Lteacher.DeleteAllItems();//更新
CString teachername,coursename;
int r=0;
j=0;
for(r=0;r<=kemu;r++)
{
strsql=m_Ltongji.GetItemText(j,0);//j是表项的序号,0是列。
rs.Open(CRecordset::forwardOnly,
"select 授课教师,考试科目 from 考试科目表 where 学界ID='"+strXuejieID+"' and 系别ID='"+strXiBieID+"' and 班级ID='"+strClassID+"' and 学期ID='"+strXueQiID+"' and 考试科目='"+strsql+"'");
while(!rs.IsEOF())
{ rs.GetFieldValue("授课教师",teachername);
rs.GetFieldValue("考试科目",coursename);
m_Lteacher.InsertItem(j,"");
m_Lteacher.SetItemText(j,0,coursename);
m_Lteacher.SetItemText(j,1,teachername);
rs.MoveNext();
j++;
}
rs.Close();
}
//
//学生成绩列表:
CString studentID,studentName,sex;
int m=0;
rs.Open(CRecordset::forwardOnly,
"select 学号ID,姓名,性别 from 学生表 where 学界ID='"+strXuejieID+"' and 系别ID='"+strXiBieID+"' and 班级ID='"+strClassID+"' ORDER BY 学号ID");
if(rs.GetRecordCount()!=0)
{
while(!rs.IsEOF())
{
rs.GetFieldValue("学号ID",studentID);
rs.GetFieldValue("姓名",studentName);
rs.GetFieldValue("性别",sex);
m_Lstudent.InsertItem(m,"");
m_Lstudent.SetItemText(m,0,strXuejie);
m_Lstudent.SetItemText(m,1,strXibie);
m_Lstudent.SetItemText(m,2,strClass);
m_Lstudent.SetItemText(m,3,studentID);
m_Lstudent.SetItemText(m,4,studentName);
m_Lstudent.SetItemText(m,5,sex);
rs.MoveNext();
m++;
}
}
rs.Close();
//学生成绩列表动态插入考试科目及清空
int w=6,b=26;
int stutemp;
while(b>=6)
{
m_Lstudent.DeleteColumn(b);
b--;
}
rs.Open(CRecordset::forwardOnly,
"select 考试科目 from 考试科目表 where 学界ID='"+strXuejieID+"' and 系别ID='"+strXiBieID+"' and 班级ID='"+strClassID+"' and 学期ID='"+strXueQiID+"'");
if(rs.GetRecordCount!=0)
{
while(!rs.IsEOF())
{
rs.GetFieldValue("考试科目",strsql);
m_Lstudent.InsertColumn(w,strsql,LVCFMT_LEFT,70);
rs.MoveNext();
w++;
stutemp=w;
}
m_Lstudent.InsertColumn(w,"总成绩",LVCFMT_LEFT,65);
m_Lstudent.InsertColumn(w+1,"平均成绩",LVCFMT_LEFT,65);
}
else
{
while(w>=6)
{
m_Lstudent.DeleteColumn(w+2);
w--;
}
}
rs.Close();
//学生成绩的加入
CString strSQL;
w=6;
int p=0,a=0;
for(p=0;p<m;p++)
{ w=6;
for(j=0;j<kemu;j++)
{
strsql=m_Ltongji.GetItemText(j,0);//j是表项的序号,0是列。
strSQL=m_Lstudent.GetItemText(a,3);
rs.Open(CRecordset::forwardOnly,
"select 成绩 from 成绩表 where 学界ID='"+strXuejieID+"' and 系别ID='"+strXiBieID+"' and 班级ID='"+strClassID+"' and 学期ID='"+strXueQiID+"' and 考试科目名称='"+strsql+"' and 学号ID='"+strSQL+"' ORDER BY 学号ID");
if(!rs.IsEOF())
{
rs.GetFieldValue("成绩",strCourse);
sscanf(strCourse,"%f",&counter);
strCourse.Format("%.2f",counter);
m_Lstudent.SetItemText(p,w,strCourse);
w++;
}
if(rs.IsEOF())
{w++;}
rs.Close();
}
a++;
rs.Close();
}
rs.Close();
//求平均成绩
float studentaveragecounter=0.000;
float averagetemp=0.000;
float studentaveragecourse=0.000;
int stuaveragecounter;
CString strstudentaverage,strstudentsum;
for(j=0;j<m;j++)
{
strSQL=m_Lstudent.GetItemText(j,3);
rs.Open(CRecordset::forwardOnly,
"select 成绩 from 成绩表 where 学界ID='"+strXuejieID+"' and 系别ID='"+strXiBieID+"' and 班级ID='"+strClassID+"' and 学期ID='"+strXueQiID+"' and 学号ID='"+strSQL+"'");
if(rs.IsEOF())
{
rs.Close();
}
else
{
while(!rs.IsEOF())
{
rs.GetFieldValue("成绩",strCourse);
stuaveragecounter=rs.GetRecordCount();//rs.GetRecordCount()只有放到此语句中才能实现计数;
sscanf(strCourse,"%f",&counter);
rs.MoveNext();
averagetemp=averagetemp+counter;
}
studentaveragecourse=averagetemp / stuaveragecounter;
strstudentaverage.Format("%.3f",studentaveragecourse);
strstudentsum.Format("%.2f",averagetemp);
m_Lstudent.SetItemText(j,stutemp,strstudentsum);
m_Lstudent.SetItemText(j,stutemp+1,strstudentaverage);
averagetemp=0;
stuaveragecounter=0;
}
rs.Close();
}
rs.Close();
return;
}
void CPage1::OnSelchangecobXueQi()
{
if(((m_xuejie.GetCurSel()!=-1)&&(m_xibie.GetCurSel()!=-1)
&&(m_xueqi.GetCurSel()!=-1)&&(m_class.GetCurSel()!=-1))
&&((m_xuejie.GetCurSel()!=sign_xuejie)||(m_xibie.GetCurSel()!=sign_xibie)
||(m_xueqi.GetCurSel()!=sign_xueqi)||(m_class.GetCurSel()!=sign_class)))
{
m_Ltongji.DeleteAllItems();//更新
m_Lstudent.DeleteAllItems();
m_Lteacher.DeleteAllItems();
DataDisplay();
//初始变量
sign_class=m_class.GetCurSel();
sign_xuejie=m_xuejie.GetCurSel();
sign_xueqi=m_xueqi.GetCurSel();
sign_xibie=m_xibie.GetCurSel();
}
else
{ m_Ltongji.DeleteAllItems();//更新
m_Lstudent.DeleteAllItems();
m_Lteacher.DeleteAllItems();
}
}
void CPage1::OnOK()
{ //卸载数据库
SQLConfigDataSource(NULL,ODBC_REMOVE_DSN,
"Microsoft Access Driver (*.mdb)",
"DSN=student\0"
"Description=student\0"
"FileType=Access\0"
"DBQ=.\\student.mdb\0"
);
OnClose();//调用OnClose()函数:自定义消息函数
}
void CPage1::OncmdFind()
{
CFindRecord findialg;
if(findialg.DoModal()==IDOK)
{
}
}
void CPage1::OncmdPrint()
{
MessageBox("此功能现在不可用!","系统提示:",MB_OK|MB_ICONASTERISK);
}
void CPage1::OncmdWatch()
{
MessageBox("此功能现在不可用!","系统提示:",MB_OK|MB_ICONASTERISK);
}
void CPage1::OnRclickList1(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
CMenu menu;
menu.LoadMenu(IDR_MENU_DATA);
CMenu* pM=menu.GetSubMenu(0);
CPoint pt;
GetCursorPos(&pt);
pM->TrackPopupMenu(TPM_LEFTALIGN,pt.x,pt.y,this);
*pResult = 0;
}
void CPage1::OnRclickList2(NMHDR* pNMHDR, LRESULT* pResult)
{
CMenu menu;
menu.LoadMenu(IDR_MENU_DATA);
CMenu* pM=menu.GetSubMenu(0);
CPoint pt;
GetCursorPos(&pt);
pM->TrackPopupMenu(TPM_LEFTALIGN,pt.x,pt.y,this);
*pResult = 0;
}
void CPage1::OnRclickList3(NMHDR* pNMHDR, LRESULT* pResult)
{
CMenu menu;
menu.LoadMenu(IDR_MENU_DATA);
CMenu* pM=menu.GetSubMenu(0);
CPoint pt;
GetCursorPos(&pt);
pM->TrackPopupMenu(TPM_LEFTALIGN,pt.x,pt.y,this);
*pResult = 0;
}
void CPage1::OnMenuAdd()
{
CAddRecord AddRecordDlg;//显示添加记录对话框;
CString strXueQi;
POSITION pos=m_Lstudent.GetFirstSelectedItemPosition();
if(pos==NULL)
{
MessageBox("请选择一个记录!","系统提示:",MB_ICONEXCLAMATION);
}
else
{
int iItem=m_Lstudent.GetNextSelectedItem(pos);
AddRecordDlg.m_xuejie=m_Lstudent.GetItemText(iItem,0);
AddRecordDlg.m_xibie=m_Lstudent.GetItemText(iItem,1);
AddRecordDlg.m_class=m_Lstudent.GetItemText(iItem,2);
AddRecordDlg.m_strcmb_studentID=m_Lstudent.GetItemText(iItem,3);
m_xueqi.GetLBText(m_xueqi.GetCurSel(),strXueQi);//m_xueqi是CCOMBOX控件
AddRecordDlg.m_xueqi=strXueQi;
if(AddRecordDlg.DoModal()==IDOK)
{
MessageBox("完成操作!","系统提示:",MB_ICONINFORMATION);
RefrshData();//刷新
OnMenuAdd();
return;
}
}
return;
}
void CPage1::OnMenuDelete()
{
CDelteDlg DelteDlg;//显示删除对话框;
//初始化:
CString strXueQi;
POSITION pos=m_Lstudent.GetFirstSelectedItemPosition();
if(pos==NULL)
{
MessageBox("请选择一个记录!","系统提示:",MB_ICONEXCLAMATION);
return;
}
else
{
int iItem=m_Lstudent.GetNextSelectedItem(pos);
DelteDlg.m_xuejie=m_Lstudent.GetItemText(iItem,0);
DelteDlg.m_xibie=m_Lstudent.GetItemText(iItem,1);
DelteDlg.m_class=m_Lstudent.GetItemText(iItem,2);
DelteDlg.m_studentID=m_Lstudent.GetItemText(iItem,3);
m_xueqi.GetLBText(m_xueqi.GetCurSel(),strXueQi);//m_xueqi是CCOMBOX控件
DelteDlg.m_xueqi=strXueQi;
if(DelteDlg.DoModal()==IDOK)
{
MessageBox("完成操作!","系统提示:",MB_ICONINFORMATION);
RefrshData();//刷新
OnMenuDelete();
return;
}
}
}
void CPage1::OnMenuFind()
{
CFindRecord FindRecordDlg;
if(FindRecordDlg.DoModal()==IDOK)
{
}
}
void CPage1::OnMenuModif()
{
CModifRecord ModifRecordDlg;//显示修改对话框
CString strXueQi;
POSITION pos=m_Lstudent.GetFirstSelectedItemPosition();
if(pos==NULL)
{
MessageBox("请选择一个记录!","系统提示:",MB_ICONEXCLAMATION);
}
else
{
int iItem=m_Lstudent.GetNextSelectedItem(pos);
ModifRecordDlg.m_xuejie=m_Lstudent.GetItemText(iItem,0);
ModifRecordDlg.m_xibie=m_Lstudent.GetItemText(iItem,1);
ModifRecordDlg.m_class=m_Lstudent.GetItemText(iItem,2);
ModifRecordDlg.m_studentID=m_Lstudent.GetItemText(iItem,3);
m_xueqi.GetLBText(m_xueqi.GetCurSel(),strXueQi);//m_xueqi是CCOMBOX控件
ModifRecordDlg.m_xueqi=strXueQi;
if(ModifRecordDlg.DoModal()==IDOK)
{
MessageBox("完成操作!","系统提示:",MB_ICONINFORMATION);
RefrshData();//刷新
OnMenuModif();
return;
}
}
return;
}
void CPage1::RefrshData()//刷新显示
{
if(!m_database.IsOpen()){
m_database.Open(_T("student"));
}
//清空原来已经显示的内容
m_Ltongji.DeleteAllItems();
m_Lteacher.DeleteAllItems();
m_Lstudent.DeleteAllItems();
DataDisplay();
}
void CPage1::OnRefashData()
{
RefrshData();
}
void CPage1::OnClose()
{
AfxGetMainWnd()->PostMessage(WM_CLOSE);//系统退出;
CPropertyPage::OnClose();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -