⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cjrkdlg.cpp

📁 vc开发的学生管理系统 很不错的 哦 供大家研究学习之用
💻 CPP
📖 第 1 页 / 共 2 页
字号:
	// 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 + -