📄 myschoolclassnumber.cpp
字号:
return;
}
if(m_gradelist.GetCurSel()<0)
{
AfxMessageBox("必须选择年级!");
GotoDlgCtrl(cwnd_gradelist);
return;
}
else
m_gradelist.GetLBText(m_gradelist.GetCurSel(),str4);
GetDlgItemText(IDC_CLASSSPIN,str5);
if(atol(str5)>1)
number=atol(str5);
int row1=m_list1.GetItemCount();
int * xy=new int[row1];
for(int n=0;n<row1;n++)
{
xy[n]=0;
}
for(int n=0;n<row1;n++)//find small class
{
if(m_list1.GetItemText(n,0)+m_list1.GetItemText(n,1)+m_list1.GetItemText(n,2)+m_list1.GetItemText(n,3).Left(2)==m_list1.GetItemText(row,0)+m_list1.GetItemText(row,1)+m_list1.GetItemText(row,2)+m_list1.GetItemText(row,3).Left(2))
xy[n]=1;
}
for(int n=0;n<row1;n++)
{
if(m_list1.GetItemText(n,0)+m_list1.GetItemText(n,1)+m_list1.GetItemText(n,2)+m_list1.GetItemText(n,3).Left(2)==str1+str2+str3+str4.Left(2) && xy[n]==0)
{
AfxMessageBox("信息不能重复!");
return;
}
}
delete [] xy;//检测数据是否重复
CString col0,col1,col2,col3;
col0=m_list1.GetItemText(row,0);
col1=m_list1.GetItemText(row,1);
col2=m_list1.GetItemText(row,2);
col3=m_list1.GetItemText(row,3);//将要删除的数据存储,以待更新其它的数据时使用
CString strSQL="delete from schoolnumber where my_year='";
strSQL=strSQL+m_list1.GetItemText(row,0)+"'";
strSQL=strSQL+" AND my_placename='";
strSQL=strSQL+m_list1.GetItemText(row,1)+"'";
strSQL=strSQL+" AND my_schoolname='";
strSQL=strSQL+m_list1.GetItemText(row,2)+"'";
strSQL=strSQL+" AND my_gradeclassname like'";
strSQL=strSQL+m_list1.GetItemText(row,3).Left(2)+"%'";
(((CScoreGatherApp*)AfxGetApp())->m_pConn)->Execute((_bstr_t)strSQL,NULL,adCmdText);//删除本表的相关数据以待后更添加修改的新数据
strSQL="select * from schoolnumber";
HRESULT hTRes;
hTRes = m_pRecordset.CreateInstance(_T("ADODB.Recordset"));
if (SUCCEEDED(hTRes))
{
hTRes = m_pRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
((CScoreGatherApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
adOpenDynamic,adLockPessimistic,adCmdText);
}
for(int n=1;n<=number;n++)
{
int row=m_list1.GetItemCount();
str5.Format("%d",n);
str_class=str4.Left(2)+"("+str5+")班";//构造班级字符串
m_list1.InsertItem(row,str1);
m_list1.SetItemText(row,1,str2);
m_list1.SetItemText(row,2,str3);
m_list1.SetItemText(row,3,str_class);
m_pRecordset->AddNew();
m_pRecordset->PutCollect("my_year",_variant_t(m_list1.GetItemText(row,0)));
m_pRecordset->PutCollect("my_placename",_variant_t(m_list1.GetItemText(row,1)));
m_pRecordset->PutCollect("my_schoolname",_variant_t(m_list1.GetItemText(row,2)));
m_pRecordset->PutCollect("my_gradeclassname",_variant_t(m_list1.GetItemText(row,3)));
m_pRecordset->Update();
}
///更新其它表的相应数据
}
void CMySchoolClassNumber::OnBnClickedDel()
{
POSITION pos=m_list1.GetFirstSelectedItemPosition();
int row;
if(pos)
row=m_list1.GetNextSelectedItem(pos);
else
{
AfxMessageBox("请单击要删除的内容!");
return;
}
if(AfxMessageBox("是否要删除?请确认!", MB_YESNO|MB_ICONWARNING)==IDYES)
{
clsdata(row);
clswheredata(row);
}
}
void CMySchoolClassNumber::UpDateView(void)
{
CString strSQL;
strSQL="select * from schoolnumber";
HRESULT hTRes;
hTRes = m_pRecordset.CreateInstance(_T("ADODB.Recordset"));
if (SUCCEEDED(hTRes))
{
hTRes = m_pRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
((CScoreGatherApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
adOpenDynamic,adLockPessimistic,adCmdText);
int r=0;
m_list1.DeleteAllItems();
while(!(m_pRecordset->adoEOF))
{
m_list1.InsertItem(r,NULL);
m_list1.SetItemText(r,0,p_MySetClass->GetString(m_pRecordset->GetCollect("my_year")));
m_list1.SetItemText(r,1,p_MySetClass->GetString(m_pRecordset->GetCollect("my_placename")));
m_list1.SetItemText(r,2,p_MySetClass->GetString(m_pRecordset->GetCollect("my_schoolname")));
m_list1.SetItemText(r,3,p_MySetClass->GetString(m_pRecordset->GetCollect("my_gradeclassname")));
if(!(m_pRecordset->adoEOF))
m_pRecordset->MoveNext();
r++;
}
}
m_pRecordset->Close();
m_pRecordset=NULL;
m_year.ResetContent();
strSQL="select * from yearcourse";
hTRes = m_pRecordset.CreateInstance(_T("ADODB.Recordset"));
if (SUCCEEDED(hTRes))
{
hTRes = m_pRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
((CScoreGatherApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
adOpenDynamic,adLockPessimistic,adCmdText);
while(!(m_pRecordset->adoEOF))
{
CString str=p_MySetClass->GetString(m_pRecordset->GetCollect("my_year"));
if(m_year.FindString(0,str)==-1)
m_year.AddString(str);
if(!(m_pRecordset->adoEOF))
m_pRecordset->MoveNext();
}
}
m_pRecordset->Close();
m_pRecordset=NULL;
SetDlgItemText(IDC_PLACENAME,_T(""));
SetDlgItemText(IDC_SCHOOLNAME,_T(""));
SetDlgItemInt(IDC_CLASSSPIN,1,1);
m_gradelist.SetCurSel(-1);
m_spin.SetPos(1);
}
BOOL CMySchoolClassNumber::PreTranslateMessage(MSG* pMsg)
{
m_tooltip.RelayEvent(pMsg);
return CDialog::PreTranslateMessage(pMsg);
}
void CMySchoolClassNumber::OnOK()
{
}
void CMySchoolClassNumber::OnCancel()
{
}
BOOL CMySchoolClassNumber::OnEraseBkgnd(CDC* pDC)
{
CBrush brush(RGB(250,220,250));
CBrush* pOldBrush=pDC->SelectObject(&brush);
CRect rcClip;
pDC->GetClipBox(&rcClip);
pDC->PatBlt(rcClip.left,rcClip.top,rcClip.Width(),rcClip.Height(),PATCOPY);
pDC->SelectObject(pOldBrush);
return TRUE;
}
HBRUSH CMySchoolClassNumber::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
if(nCtlColor!=CTLCOLOR_EDIT)
{
pDC->SetTextColor(RGB(40,20,255));
pDC->SetBkMode(TRANSPARENT);
HBRUSH B = CreateSolidBrush(RGB(250,220,250));
return (HBRUSH) B;
}
else
return CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
}
void CMySchoolClassNumber::clswheredata(int row)
{
CString col0,col1,col2,col3;
col0=m_list1.GetItemText(row,0);
col1=m_list1.GetItemText(row,1);
col2=m_list1.GetItemText(row,2);
col3=m_list1.GetItemText(row,3);
row=m_list1.GetItemCount();
CStringArray str0,str1,str2,str3;
for(int n=0;n<row;n++)
{
if(m_list1.GetItemText(n,0)+m_list1.GetItemText(n,1)+m_list1.GetItemText(n,2)+m_list1.GetItemText(n,3).Left(2)!=col0+col1+col2+col3.Left(2))
{
str0.Add(m_list1.GetItemText(n,0));
str1.Add(m_list1.GetItemText(n,1));
str2.Add(m_list1.GetItemText(n,2));
str3.Add(m_list1.GetItemText(n,3));
}
}
m_list1.DeleteAllItems();
row=(int)str0.GetCount();
for(int n=0;n<row;n++)
{
int x=m_list1.GetItemCount();
m_list1.InsertItem(x,str0[n]);
m_list1.SetItemText(x,1,str1[n]);
m_list1.SetItemText(x,2,str2[n]);
m_list1.SetItemText(x,3,str3[n]);
}
str0.RemoveAll();
str1.RemoveAll();
str2.RemoveAll();
str3.RemoveAll();
}
void CMySchoolClassNumber::clsdata(int row)
{
CString strSQL;
strSQL="delete from dataedit where my_year='";
strSQL=strSQL+m_list1.GetItemText(row,0)+"'";
strSQL=strSQL+" AND my_place='";
strSQL=strSQL+m_list1.GetItemText(row,1)+"'";
strSQL=strSQL+" AND my_school='";
strSQL=strSQL+m_list1.GetItemText(row,2)+"'";
strSQL=strSQL+" AND my_class like'";
strSQL=strSQL+m_list1.GetItemText(row,3).Left(2)+"%'";
(((CScoreGatherApp*)AfxGetApp())->m_pConn)->Execute((_bstr_t)strSQL,NULL,adCmdText);
strSQL="delete from courseteacher where my_year='";
strSQL=strSQL+m_list1.GetItemText(row,0)+"'";
strSQL=strSQL+" AND my_placename='";
strSQL=strSQL+m_list1.GetItemText(row,1)+"'";
strSQL=strSQL+" AND my_schoolname='";
strSQL=strSQL+m_list1.GetItemText(row,2)+"'";
strSQL=strSQL+" AND my_classname like'";
strSQL=strSQL+m_list1.GetItemText(row,3).Left(2)+"%'";
(((CScoreGatherApp*)AfxGetApp())->m_pConn)->Execute((_bstr_t)strSQL,NULL,adCmdText);
strSQL="delete from gatherpageset where my_year='";
strSQL=strSQL+m_list1.GetItemText(row,0)+"'";
strSQL=strSQL+" AND my_place='";
strSQL=strSQL+m_list1.GetItemText(row,1)+"'";
strSQL=strSQL+" AND my_school='";
strSQL=strSQL+m_list1.GetItemText(row,2)+"'";
(((CScoreGatherApp*)AfxGetApp())->m_pConn)->Execute((_bstr_t)strSQL,NULL,adCmdText);
strSQL="delete from schoolnumber where my_year='";
strSQL=strSQL+m_list1.GetItemText(row,0)+"'";
strSQL=strSQL+" AND my_placename='";
strSQL=strSQL+m_list1.GetItemText(row,1)+"'";
strSQL=strSQL+" AND my_schoolname='";
strSQL=strSQL+m_list1.GetItemText(row,2)+"'";
strSQL=strSQL+" AND my_gradeclassname like'";
strSQL=strSQL+m_list1.GetItemText(row,3).Left(2)+"%'";
(((CScoreGatherApp*)AfxGetApp())->m_pConn)->Execute((_bstr_t)strSQL,NULL,adCmdText);
strSQL="delete from formula where my_year='";
strSQL=strSQL+m_list1.GetItemText(row,0)+"'";
(((CScoreGatherApp*)AfxGetApp())->m_pConn)->Execute((_bstr_t)strSQL,NULL,adCmdText);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -