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

📄 mydataedit.cpp

📁 一个学生考试成绩管理的半成品
💻 CPP
📖 第 1 页 / 共 3 页
字号:
		if(n5>=0)
		{
			m_studentreadem.GetLBText(n5,string7);
			if(xy[0] || xy[1] || xy[2] || xy[3] || xy[4])
				strSQL=strSQL+" AND my_readem='";
			else
				strSQL=strSQL+" where my_readem='";
			strSQL=strSQL+string7+"'";
			xy[5]=1;
		}
		else
			xy[5]=0;
		if(!(string6.IsEmpty()))
		{
			if(xy[0] || xy[1] || xy[2] || xy[3] || xy[4] || xy[5])
				strSQL=strSQL+" AND my_student='";
			else
				strSQL=strSQL+" where my_student='";
			strSQL=strSQL+string6+"'";
			xy[6]=1;
		}
		else
			xy[6]=0;
		if(gather!=-1)
		{
			if(xy[0] || xy[1] || xy[2] || xy[3] || xy[4] || xy[5] || xy[6])
				strSQL=strSQL+" AND my_gather=";
			else
				strSQL=strSQL+" where my_gather=";
			CString str_gather;
			str_gather.Format("%d",gather);
			strSQL=strSQL+str_gather+"";
			xy[7]=1;
		}
		else
			xy[7]=0;
		if(!(string5.IsEmpty()))
		{
			if(xy[0] || xy[1] || xy[2] || xy[3] || xy[4] || xy[5] || xy[6] || xy[7])
				strSQL=strSQL+" AND my_teacher='";
			else
				strSQL=strSQL+" where my_teacher='";
			strSQL=strSQL+string5+"'";
			xy[8]=1;
		}
		else
			xy[8]=0;
		if(xy[0] || xy[1] || xy[2] || xy[3] || xy[4] || xy[5] || xy[6] || xy[7] || xy[8])
		{
			HRESULT hTRes = m_pRecordset.CreateInstance(_T("ADODB.Recordset"));				
			hTRes = m_pRecordset->Open((LPTSTR)strSQL.GetBuffer(strSQL.GetLength()),
				((CScoreGatherApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
				adOpenDynamic,adLockPessimistic,adCmdText); //执行查询,打开记录集
			while(!(m_pRecordset->adoEOF))
			{
				m_datalist.InsertItem(r,NULL);
				m_datalist.SetItemText(r,0,p_MySetClass->GetString(m_pRecordset->GetCollect("my_year")));
				m_datalist.SetItemText(r,1,p_MySetClass->GetString(m_pRecordset->GetCollect("my_place")));
				m_datalist.SetItemText(r,2,p_MySetClass->GetString(m_pRecordset->GetCollect("my_school")));
				m_datalist.SetItemText(r,3,p_MySetClass->GetString(m_pRecordset->GetCollect("my_class")));
				m_datalist.SetItemText(r,4,p_MySetClass->GetString(m_pRecordset->GetCollect("my_course")));
				m_datalist.SetItemText(r,5,p_MySetClass->GetString(m_pRecordset->GetCollect("my_teacher")));
				m_datalist.SetItemText(r,6,p_MySetClass->GetString(m_pRecordset->GetCollect("my_student")));
				m_datalist.SetItemText(r,7,p_MySetClass->GetString(m_pRecordset->GetCollect("my_gather")));
				m_datalist.SetItemText(r,8,p_MySetClass->GetString(m_pRecordset->GetCollect("my_readem")));
				r++;
				if(!(m_pRecordset->adoEOF))
					m_pRecordset->MoveNext();
			}
			m_year.SetCurSel(-1);
			m_place.SetCurSel(-1);
			m_schoolname.SetCurSel(-1);
			m_classname.SetCurSel(-1);
			m_coursename.SetCurSel(-1);
			m_studentreadem.SetCurSel(-1);
			SetDlgItemText(IDC_TEACHERNAME,"");
			SetDlgItemText(IDC_STUDENTNAME,"");
			SetDlgItemText(IDC_GATHER,"");
		}
		m_staticdata.ShowWindow(SW_HIDE);
		m_datalist.ShowWindow(SW_SHOW);
	}
}

void CMyDataEdit::OnBnClickedModify()
{
	POSITION pos=m_datalist.GetFirstSelectedItemPosition();
	int row;
	if(pos)
		row=m_datalist.GetNextSelectedItem(pos);
	else
	{
		AfxMessageBox("请单击要修改的内容!");
		return;
	}
	CString string0,string1,string2,string3,string4,string5,string6,string7,string8;
	int n0,n1,n2,n3,n4,n5;
	n0=m_year.GetCurSel();
	n1=m_place.GetCurSel();
	n2=m_schoolname.GetCurSel();
	n3=m_classname.GetCurSel();
	n4=m_coursename.GetCurSel();
	n5=m_studentreadem.GetCurSel();
	if(n0<0)
	{
		AfxMessageBox("必须选择[学年度]!");
		GotoDlgCtrl(cwnd_year);
		return;
	}
	if(n1<0)
	{
		AfxMessageBox("必须选择[乡镇]!");
		GotoDlgCtrl(cwnd_place);
		return;
	}
	if(n2<0)
	{
		AfxMessageBox("必须选择[学校名称]!");
		GotoDlgCtrl(cwnd_schoolname);
		return;
	}
	if(n3<0)
	{
		AfxMessageBox("必须选择[班级]!");
		GotoDlgCtrl(cwnd_classname);
		return;
	}
	if(n4<0)
	{
		AfxMessageBox("必须选择[学科]!");
		GotoDlgCtrl(cwnd_coursename);
		return;
	}
	GetDlgItemText(IDC_TEACHERNAME,string5);
	if(string5.IsEmpty())
	{
		AfxMessageBox("必须填写[教师姓名]!");
		GotoDlgCtrl(cwnd_teachername);
		return;
	}
	GetDlgItemText(IDC_STUDENTNAME,string6);
	if(string5.IsEmpty())
	{
		AfxMessageBox("必须填写[学生姓名]!");
		GotoDlgCtrl(cwnd_studentname);
		return;
	}
	if(n5<0)
	{
		AfxMessageBox("必须选择[备注]!");
		GotoDlgCtrl(cwnd_studentreadem);
		return;
	}
	m_year.GetLBText(n0,string0);
	m_place.GetLBText(n1,string1);
	m_schoolname.GetLBText(n2,string2);
	m_classname.GetLBText(n3,string3);
	m_coursename.GetLBText(n4,string4);
	UINT gather=-1;
	gather=GetDlgItemInt(IDC_GATHER,NULL,1);
	string7.Format("%d",gather);
	m_studentreadem.GetLBText(n5,string8);
	if(gather==-1)
	{
		AfxMessageBox("必须填写[考试成绩]!");
		GotoDlgCtrl(cwnd_gather);
		return;
	}
	int row1=m_datalist.GetItemCount();
	for(int i=0;i<=row1;i++)
	{
		if(i!=row)
		{
			CString str0,str1,str2,str3,str4,str5,str6;
			str0=m_datalist.GetItemText(i,0);
			str1=m_datalist.GetItemText(i,1);
			str2=m_datalist.GetItemText(i,2);
			str3=m_datalist.GetItemText(i,3);
			str4=m_datalist.GetItemText(i,4);
			str5=m_datalist.GetItemText(i,5);
			str6=m_datalist.GetItemText(i,6);
			if(str0+str1+str2+str3+str4+str5+str6==string0+string1+string2+string3+string4+string5+string6)
			{
				AfxMessageBox("数据不能重复!");
				return;
			}
		}
	}
	m_datalist.ShowWindow(SW_HIDE);
	m_staticdata.ShowWindow(SW_SHOW);
	SetDlgItemText(IDC_STATICDATA,"数据处理中,请稍候……");
	CString str_list0,str_list1,str_list2,str_list3,str_list4,str_list5,str_list6,str_list7,str_list8;
	str_list0=m_datalist.GetItemText(row,0);
	str_list1=m_datalist.GetItemText(row,1);
	str_list2=m_datalist.GetItemText(row,2);
	str_list3=m_datalist.GetItemText(row,3);
	str_list4=m_datalist.GetItemText(row,4);
	str_list5=m_datalist.GetItemText(row,5);
	str_list6=m_datalist.GetItemText(row,6);
	str_list7=m_datalist.GetItemText(row,7);
	str_list8=m_datalist.GetItemText(row,8);
	m_datalist.SetItemText(row,0,string0);
	m_datalist.SetItemText(row,1,string1);
	m_datalist.SetItemText(row,2,string2);
	m_datalist.SetItemText(row,3,string3);
	m_datalist.SetItemText(row,4,string4);
	m_datalist.SetItemText(row,5,string5);
	m_datalist.SetItemText(row,6,string6);
	m_datalist.SetItemText(row,7,string7);
	m_datalist.SetItemText(row,8,string8);
	CString strSQL;
	strSQL="update dataedit set ";
	strSQL=strSQL+"my_year='"+string0+"',";
	strSQL=strSQL+"my_place='"+string1+"',";
	strSQL=strSQL+"my_school='"+string2+"',";
	strSQL=strSQL+"my_class='"+string3+"',";
	strSQL=strSQL+"my_course='"+string4+"',";
	strSQL=strSQL+"my_teacher='"+string5+"',";
	strSQL=strSQL+"my_student='"+string6+"',";
	strSQL=strSQL+"my_gather="+string7+",";
	strSQL=strSQL+"my_readem='"+string8+"'";
	strSQL=strSQL+" where my_year='";
	strSQL=strSQL+str_list0+"'";
	strSQL=strSQL+" AND my_place='";
	strSQL=strSQL+str_list1+"'";
	strSQL=strSQL+" AND my_school='";
	strSQL=strSQL+str_list2+"'";
	strSQL=strSQL+" AND my_class='";
	strSQL=strSQL+str_list3+"'";
	strSQL=strSQL+" AND my_course='";
	strSQL=strSQL+str_list4+"'";
	strSQL=strSQL+" AND my_teacher='";
	strSQL=strSQL+str_list5+"'";
	strSQL=strSQL+" AND my_student='";
	strSQL=strSQL+str_list6+"'";
	strSQL=strSQL+" AND my_gather=";
	strSQL=strSQL+str_list7;
	strSQL=strSQL+" AND my_readem='";
	strSQL=strSQL+str_list8+"'";
	(((CScoreGatherApp*)AfxGetApp())->m_pConn)->Execute((_bstr_t)strSQL,NULL,adCmdText);
	GotoDlgCtrl(cwnd_coursename);
	m_staticdata.ShowWindow(SW_HIDE);
	m_datalist.ShowWindow(SW_SHOW);
}

void CMyDataEdit::OnBnClickedDel()
{
	POSITION pos=m_datalist.GetFirstSelectedItemPosition();
	int row;
	if(pos)
		row=m_datalist.GetNextSelectedItem(pos);
	else
	{
		AfxMessageBox("请单击要删除的内容!");
		return;
	}
	if(AfxMessageBox("是否要删除?请确认!", MB_YESNO|MB_ICONWARNING)==IDYES)
	{
		m_datalist.ShowWindow(SW_HIDE);
		m_staticdata.ShowWindow(SW_SHOW);
		SetDlgItemText(IDC_STATICDATA,"数据处理中,请稍候……");
		CString strSQL;
		strSQL="delete from dataedit where my_year='";
		strSQL=strSQL+m_datalist.GetItemText(row,0)+"'";
		strSQL=strSQL+" AND my_place='";
		strSQL=strSQL+m_datalist.GetItemText(row,1)+"'";
		strSQL=strSQL+" AND my_school='";
		strSQL=strSQL+m_datalist.GetItemText(row,2)+"'";
		strSQL=strSQL+" AND my_course='";
		strSQL=strSQL+m_datalist.GetItemText(row,4)+"'";
		strSQL=strSQL+" AND my_class='";
		strSQL=strSQL+m_datalist.GetItemText(row,3)+"'";
		strSQL=strSQL+" AND my_student='";
		strSQL=strSQL+m_datalist.GetItemText(row,6)+"'";
		strSQL=strSQL+" AND my_gather=";
		strSQL=strSQL+m_datalist.GetItemText(row,7)+"";
		(((CScoreGatherApp*)AfxGetApp())->m_pConn)->Execute((_bstr_t)strSQL,NULL,adCmdText);
		m_datalist.DeleteItem(row);
		SetDlgItemText(IDC_STUDENTNAME,"");
		m_studentreadem.SetCurSel(-1);
		SetDlgItemText(IDC_GATHER,"");
		m_datalist.SetItem(row, 0, LVIF_STATE, NULL, 0, LVIS_SELECTED, LVIS_SELECTED, 0);
		Move(row);
		MyScorll("set",row);
		m_staticdata.ShowWindow(SW_HIDE);
		m_datalist.ShowWindow(SW_SHOW);
	}
}

void CMyDataEdit::OnBnClickedFirst()
{
	m_datalist.SetItem(0, 0, LVIF_STATE, NULL, 0, LVIS_SELECTED, LVIS_SELECTED, 0);
	Move(0);
	MyScorll("first",0);
}

void CMyDataEdit::OnBnClickedPrev()
{
	POSITION pos=m_datalist.GetFirstSelectedItemPosition();
	int nFirstSelItem = m_datalist.GetNextSelectedItem(pos);
	if(nFirstSelItem>0)
	{
		m_datalist.SetItem(nFirstSelItem-1, 0, LVIF_STATE, NULL, 0, LVIS_SELECTED, LVIS_SELECTED, 0);
		Move(nFirstSelItem-1);
		MyScorll("prev",0);
	}
}

void CMyDataEdit::OnBnClickedNext()
{
	POSITION pos=m_datalist.GetFirstSelectedItemPosition();
	int nFirstSelItem = m_datalist.GetNextSelectedItem(pos);
	if(nFirstSelItem<m_datalist.GetItemCount())
	{
		m_datalist.SetItem(nFirstSelItem+1, 0, LVIF_STATE, NULL, 0, LVIS_SELECTED, LVIS_SELECTED, 0);
		Move(nFirstSelItem+1);
		MyScorll("next",0);
	}
}

void CMyDataEdit::OnBnClickedLast()
{
	m_datalist.SetItem(m_datalist.GetItemCount()-1, 0, LVIF_STATE, NULL, 0, LVIS_SELECTED, LVIS_SELECTED, 0);
	Move(m_datalist.GetItemCount()-1);
	MyScorll("last",0);
}

void CMyDataEdit::Move(int row)
{
	m_year.SetCurSel(m_year.FindString(0,m_datalist.GetItemText(row,0)));
	OnCbnSelchangeYear();
	m_place.SetCurSel(m_place.FindString(0,m_datalist.GetItemText(row,1)));
	OnCbnSelchangePlace();
	m_schoolname.SetCurSel(m_schoolname.FindString(0,m_datalist.GetItemText(row,2)));
	OnCbnSelchangeSchoolname();
	m_classname.SetCurSel(m_classname.FindString(0,m_datalist.GetItemText(row,3)));
	m_coursename.SetCurSel(m_coursename.FindString(0,m_datalist.GetItemText(row,4)));
	SetDlgItemText(IDC_TEACHERNAME,m_datalist.GetItemText(row,5));
	SetDlgItemText(IDC_STUDENTNAME,m_datalist.GetItemText(row,6));
	m_studentreadem.SetCurSel(m_studentreadem.FindString(0,m_datalist.GetItemText(row,8)));
	CString string;
	if(m_studentreadem.GetCurSel()>=0)
		m_studentreadem.GetLBText(m_studentreadem.GetCurSel(),string);
	if(string!="无")
		m_gather.EnableWindow(0);
	else
		m_gather.EnableWindow(1);
	if(m_datalist.GetItemCount()>0)
		SetDlgItemInt(IDC_GATHER,atol(m_datalist.GetItemText(row,7)),1);
}

void CMyDataEdit::OnNMClickDatalist(NMHDR *pNMHDR, LRESULT *pResult)
{
	POSITION pos=m_datalist.GetFirstSelectedItemPosition();
	int row;
	if(pos)
	{
		row=m_datalist.GetNextSelectedItem(pos);
		Move(row);
	}
	else
	{

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -