📄 cjrkdlg.cpp
字号:
// TODO: Add your control notification handler code here
this->UpdateData(true);
if(m_IsBj)
{
m_Bj_Con.EnableWindow(true);
}
else
{
m_Bj_Con.EnableWindow(false);
}
this->UpdateData(false);
}
void CCjRkDlg::OnCheckJb()
{
// TODO: Add your control notification handler code here
this->UpdateData(true);
if(m_IsJb)
{
m_Jb_Con.EnableWindow(true);
}
else
{
m_Jb_Con.EnableWindow(false);
}
this->UpdateData(false);
}
void CCjRkDlg::OnCheckQt()
{
// TODO: Add your control notification handler code here
this->UpdateData(true);
if(m_IsQt)
{
m_Qt_Con.EnableWindow(true);
m_Qt_G_Con.EnableWindow(true);
}
else
{
m_Qt_Con.EnableWindow(false);
m_Qt_G_Con.EnableWindow(false);
}
this->UpdateData(false);
}
void CCjRkDlg::OnCheckXh()
{
// TODO: Add your control notification handler code here
this->UpdateData(true);
if(m_IsXh)
{
m_Xh_Con.EnableWindow(true);
}
else
{
m_Xh_Con.EnableWindow(false);
}
this->UpdateData(false);
}
void CCjRkDlg::OnCheckXm()
{
// TODO: Add your control notification handler code here
this->UpdateData(true);
if(m_IsXm)
{
m_Xm_Con.EnableWindow(true);
}
else
{
m_Xm_Con.EnableWindow(false);
}
this->UpdateData(false);
}
void CCjRkDlg::OnCheckZy()
{
// TODO: Add your control notification handler code here
this->UpdateData(true);
if(m_IsZy)
{
m_Zy_Con.EnableWindow(true);
}
else
{
m_Zy_Con.EnableWindow(false);
}
this->UpdateData(false);
}
void CCjRkDlg::RefreshCj(CString SID)
{
m_CjList.DeleteAllItems();
CString sqlt;
sqlt.Format("SELECT * FROM CjTable,KcTable WHERE CjTable.KC_ID=KcTable.KC_ID AND CjTable.S_ID='%s'"\
,SID);
m_parent->m_recSet->Open(sqlt.GetBuffer(200));
if(!m_parent->m_recSet->IsEOF())
{
CString temp;
double tempf;
int i=0;
LV_ITEM lvitem;
lvitem.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_STATE;
lvitem.state = 0;
lvitem.stateMask = 0;
char temp1[50];
while(!m_parent->m_recSet->IsEOF())
{
lvitem.iItem = i;
lvitem.iSubItem = 0;
lvitem.pszText =itoa(i, temp1, 10);
m_CjList.InsertItem(&lvitem);
m_parent->m_recSet->GetFieldValue(1,temp);
m_CjList.SetItemText(i,0,temp);
m_parent->m_recSet->GetFieldValue(5,temp);
m_CjList.SetItemText(i,1,temp);
m_parent->m_recSet->GetFieldValue(2,tempf);
temp.Format("%.2f",tempf);
m_CjList.SetItemText(i,2,temp);
m_parent->m_recSet->GetFieldValue(3,tempf);
temp.Format("%.2f",tempf);
m_CjList.SetItemText(i,3,temp);
i++;
m_parent->m_recSet->MoveNext();
}
}
m_parent->m_recSet->Close();
}
void CCjRkDlg::OnClickListStu(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
int index = m_StuList.GetSelectionMark();
if(index<0)
{
return;
}
CString SID =m_StuList.GetItemText(index,0);
RefreshCj(SID);
this->UpdateData(true);
CString sqlt;
sqlt.Format("SELECT * FROM Student WHERE S_ID='%s'",SID);
m_parent->m_recSet->Open(sqlt.GetBuffer(100));
m_parent->m_recSet->GetFieldValue("S_Jb",m_Cj_Jb);
m_parent->m_recSet->GetFieldValue("S_Bj",m_Cj_Bj);
m_parent->m_recSet->GetFieldValue("S_ID",m_Cj_Sid);
m_parent->m_recSet->GetFieldValue("S_Name",m_Cj_Sxm);
m_parent->m_recSet->Close();
this->UpdateData(false);
*pResult = 0;
}
void CCjRkDlg::OnClickListCj(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
int index = m_CjList.GetSelectionMark();
if(index <0)
{
return;
}
CString KCID= m_CjList.GetItemText(index,0);
CString sqlt;
sqlt.Format("SELECT * FROM CjTable,KcTable WHERE CjTable.KC_ID=KcTable.KC_ID AND S_ID='%s' AND CjTable.KC_ID ='%s'"\
,m_Cj_Sid,KCID);
m_parent->m_recSet->Open(sqlt.GetBuffer(200));
this->UpdateData(true);
m_parent->m_recSet->GetFieldValue(5,m_Cj_M);
m_parent->m_recSet->GetFieldValue(2,m_Cj_Ps);
m_parent->m_recSet->GetFieldValue(3,m_Cj_Ks);
m_Cj_Ps = double(int((m_Cj_Ps+0.005) *100)) /100;
m_Cj_Ks = double(int((m_Cj_Ks+0.005) *100)) /100;
m_Cj_Z = m_Cj_Ps+m_Cj_Ks;
this->UpdateData(false);
m_parent->m_recSet->Close();
*pResult = 0;
}
void CCjRkDlg::OnBuCjAdd()
{
// TODO: Add your control notification handler code here
this->UpdateData(true);
m_Cj_Sid.TrimLeft();
m_Cj_Sid.TrimRight();
if(m_Cj_Sid =="")
{
MessageBox("请选择学生");
this->UpdateData(false);
return;
}
m_Cj_M.TrimLeft();
m_Cj_M.TrimRight();
if(m_Cj_M =="")
{
MessageBox("请选择课程名");
this->UpdateData(false);
return;
}
if(m_Cj_Ps <0)
{
MessageBox("平时成绩错误");
this->UpdateData(false);
return;
}
if(m_Cj_Ks <0)
{
MessageBox("考试成绩错误");
this->UpdateData(false);
return;
}
CString KCID;
CString sqlt;
sqlt.Format("SELECT * FROM KcTable WHERE KC_Name='%s'",m_Cj_M);
m_parent->m_recSet->Open(sqlt.GetBuffer(100));
if(m_parent->m_recSet->GetRecordCount()<=0)
{
MessageBox("课程不存在");
m_parent->m_recSet->Close();
this->UpdateData(false);
return;
}
m_parent->m_recSet->GetFieldValue("KC_ID",KCID);
m_parent->m_recSet->Close();
sqlt.Format("SELECT * FROM CjTable WHERE KC_ID='%s' AND S_ID='%s'",KCID,m_Cj_Sid);
m_parent->m_recSet->Open(sqlt.GetBuffer(100));
if(m_parent->m_recSet->GetRecordCount()>0)
{
MessageBox("此学生已有本课成绩");
m_parent->m_recSet->Close();
this->UpdateData(false);
return;
}
m_parent->m_recSet->Close();
sqlt.Format("INSERT INTO CjTable(S_ID,KC_ID,CJ_Ps,CJ_Ks) VALUES('%s','%s',%.2f,%.2f)"\
,m_Cj_Sid,KCID,m_Cj_Ps,m_Cj_Ks);
m_parent->m_conn->Execute(sqlt);
RefreshCj(m_Cj_Sid);
this->UpdateData(false);
}
void CCjRkDlg::OnBuCjDel()
{
// TODO: Add your control notification handler code here
this->UpdateData(true);
m_Cj_Sid.TrimLeft();
m_Cj_Sid.TrimRight();
if(m_Cj_Sid =="")
{
MessageBox("请选择学生");
this->UpdateData(false);
return;
}
int index = m_CjList.GetSelectionMark();
if(index <0)
{
MessageBox("请选择课程");
this->UpdateData(false);
return;
}
CString sqlt;
sqlt.Format("DELETE FROM CjTable WHERE S_ID='%s' AND KC_ID='%s'"\
,m_Cj_Sid,m_CjList.GetItemText(index,0));
m_parent->m_conn->Execute(sqlt);
RefreshCj(m_Cj_Sid);
this->UpdateData(false);
}
void CCjRkDlg::OnBuCjSave()
{
// TODO: Add your control notification handler code here
this->UpdateData(true);
m_Cj_Sid.TrimLeft();
m_Cj_Sid.TrimRight();
if(m_Cj_Sid =="")
{
MessageBox("请选择学生");
this->UpdateData(false);
return;
}
int index = m_CjList.GetSelectionMark();
if(index <0)
{
MessageBox("请选择课程");
this->UpdateData(false);
return;
}
if(m_Cj_Ps <0)
{
MessageBox("平时成绩错误");
this->UpdateData(false);
return;
}
if(m_Cj_Ks <0)
{
MessageBox("考试成绩错误");
this->UpdateData(false);
return;
}
CString sqlt;
sqlt.Format("UPDATE CjTable SET CJ_Ps=%.2f,CJ_Ks=%.2f WHERE S_ID='%s' AND KC_ID='%s'"\
,m_Cj_Ps,m_Cj_Ks,m_Cj_Sid,m_CjList.GetItemText(index,0));
m_parent->m_conn->Execute(sqlt);
m_Cj_Z = m_Cj_Ps+m_Cj_Ks;
RefreshCj(m_Cj_Sid);
this->UpdateData(false);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -