?? page1.cpp
字號:
if(counter>=60)
n++;
rs.MoveNext();
}
passID=n;
n=0;
rs.Close();
rs.Open(CRecordset::forwardOnly,
"select 成績 from 成績表 where 學(xué)界ID='"+strXuejieID+"' and 系別ID='"+strXiBieID+"' and 班級ID='"+strClassID+"' and 學(xué)期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是表項(xiàng)的序號,0是列。
rs.Open(CRecordset::forwardOnly,
"select 授課教師,考試科目 from 考試科目表 where 學(xué)界ID='"+strXuejieID+"' and 系別ID='"+strXiBieID+"' and 班級ID='"+strClassID+"' and 學(xué)期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();
}
//
//學(xué)生成績列表:
CString studentID,studentName,sex;
int m=0;
rs.Open(CRecordset::forwardOnly,
"select 學(xué)號ID,姓名,性別 from 學(xué)生表 where 學(xué)界ID='"+strXuejieID+"' and 系別ID='"+strXiBieID+"' and 班級ID='"+strClassID+"' ORDER BY 學(xué)號ID");
if(rs.GetRecordCount()!=0)
{
while(!rs.IsEOF())
{
rs.GetFieldValue("學(xué)號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();
//學(xué)生成績列表動(dòng)態(tài)插入考試科目及清空
int w=6,b=26;
int stutemp;
while(b>=6)
{
m_Lstudent.DeleteColumn(b);
b--;
}
rs.Open(CRecordset::forwardOnly,
"select 考試科目 from 考試科目表 where 學(xué)界ID='"+strXuejieID+"' and 系別ID='"+strXiBieID+"' and 班級ID='"+strClassID+"' and 學(xué)期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();
//學(xué)生成績的加入
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是表項(xiàng)的序號,0是列。
strSQL=m_Lstudent.GetItemText(a,3);
rs.Open(CRecordset::forwardOnly,
"select 成績 from 成績表 where 學(xué)界ID='"+strXuejieID+"' and 系別ID='"+strXiBieID+"' and 班級ID='"+strClassID+"' and 學(xué)期ID='"+strXueQiID+"' and 考試科目名稱='"+strsql+"' and 學(xué)號ID='"+strSQL+"' ORDER BY 學(xué)號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 學(xué)界ID='"+strXuejieID+"' and 系別ID='"+strXiBieID+"' and 班級ID='"+strClassID+"' and 學(xué)期ID='"+strXueQiID+"' and 學(xué)號ID='"+strSQL+"'");
if(rs.IsEOF())
{
rs.Close();
}
else
{
while(!rs.IsEOF())
{
rs.GetFieldValue("成績",strCourse);
stuaveragecounter=rs.GetRecordCount();//rs.GetRecordCount()只有放到此語句中才能實(shí)現(xiàn)計(jì)數(shù);
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()
{ //卸載數(shù)據(jù)庫
SQLConfigDataSource(NULL,ODBC_REMOVE_DSN,
"Microsoft Access Driver (*.mdb)",
"DSN=student\0"
"Description=student\0"
"FileType=Access\0"
"DBQ=.\\student.mdb\0"
);
OnClose();//調(diào)用OnClose()函數(shù):自定義消息函數(shù)
}
void CPage1::OncmdFind()
{
CFindRecord findialg;
if(findialg.DoModal()==IDOK)
{
}
}
void CPage1::OncmdPrint()
{
MessageBox("此功能現(xiàn)在不可用!","系統(tǒng)提示:",MB_OK|MB_ICONASTERISK);
}
void CPage1::OncmdWatch()
{
MessageBox("此功能現(xiàn)在不可用!","系統(tǒng)提示:",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("請選擇一個(gè)記錄!","系統(tǒng)提示:",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("完成操作!","系統(tǒng)提示:",MB_ICONINFORMATION);
RefrshData();//刷新
OnMenuAdd();
return;
}
}
return;
}
void CPage1::OnMenuDelete()
{
CDelteDlg DelteDlg;//顯示刪除對話框;
//初始化:
CString strXueQi;
POSITION pos=m_Lstudent.GetFirstSelectedItemPosition();
if(pos==NULL)
{
MessageBox("請選擇一個(gè)記錄!","系統(tǒng)提示:",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("完成操作!","系統(tǒng)提示:",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("請選擇一個(gè)記錄!","系統(tǒng)提示:",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("完成操作!","系統(tǒng)提示:",MB_ICONINFORMATION);
RefrshData();//刷新
OnMenuModif();
return;
}
}
return;
}
void CPage1::RefrshData()//刷新顯示
{
if(!m_database.IsOpen()){
m_database.Open(_T("student"));
}
//清空原來已經(jīng)顯示的內(nèi)容
m_Ltongji.DeleteAllItems();
m_Lteacher.DeleteAllItems();
m_Lstudent.DeleteAllItems();
DataDisplay();
}
void CPage1::OnRefashData()
{
RefrshData();
}
void CPage1::OnClose()
{
AfxGetMainWnd()->PostMessage(WM_CLOSE);//系統(tǒng)退出;
CPropertyPage::OnClose();
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -