📄 mydataedit.cpp
字号:
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 + -