📄 mywritegatherpage.cpp
字号:
// MyWriteGatherPage.cpp : 实现文件
//
#include "stdafx.h"
#include "ScoreGather.h"
#include "MyWriteGatherPage.h"
#include ".\mywritegatherpage.h"
// CMyWriteGatherPage 对话框
IMPLEMENT_DYNAMIC(CMyWriteGatherPage, CDialog)
CMyWriteGatherPage::CMyWriteGatherPage(CWnd* pParent /*=NULL*/)
: CDialog(CMyWriteGatherPage::IDD, pParent)
, type(FALSE)
{
}
CMyWriteGatherPage::~CMyWriteGatherPage()
{
}
void CMyWriteGatherPage::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_SCHOOLNAME, m_schoolname);
DDX_Control(pDX, IDC_LIST, m_list);
DDX_Control(pDX, IDC_YEAR, m_year);
DDX_Control(pDX, IDC_GATHERPAGEEDIT, m_gatherpageedit);
DDX_Control(pDX, IDC_ADD, m_add);
DDX_Control(pDX, IDC_MODIFY, m_modify);
DDX_Control(pDX, IDC_DEL, m_del);
DDX_Control(pDX, IDCANCEL, m_cancel);
DDX_Control(pDX, IDC_NEWVIEW, m_newview);
DDX_Control(pDX, IDC_PLACENAME, m_placename);
}
BEGIN_MESSAGE_MAP(CMyWriteGatherPage, CDialog)
ON_BN_CLICKED(IDC_ADD, OnBnClickedAdd)
ON_NOTIFY(NM_CLICK, IDC_LIST, OnNMClickList)
ON_BN_CLICKED(IDC_MODIFY, OnBnClickedModify)
ON_BN_CLICKED(IDC_DEL, OnBnClickedDel)
ON_WM_ERASEBKGND()
ON_WM_CTLCOLOR()
ON_BN_CLICKED(IDCANCEL, OnBnClickedCancel)
ON_CBN_SELCHANGE(IDC_YEAR, OnCbnSelchangeYear)
ON_BN_CLICKED(IDC_NEWVIEW, OnBnClickedNewview)
ON_CBN_SELCHANGE(IDC_PLACENAME, OnCbnSelchangePlacename)
END_MESSAGE_MAP()
// CMyWriteGatherPage 消息处理程序
void CMyWriteGatherPage::OnBnClickedAdd()
{
CString ctrl;
GetDlgItemText(IDC_ADD,ctrl);
CString str_year,str_placename,str_schoolname,str_gatherpageedit;
int year,placename,schoolname;
year=placename=schoolname=-1;
year=m_year.GetCurSel();
placename=m_placename.GetCurSel();
schoolname=m_schoolname.GetCurSel();
GetDlgItemText(IDC_GATHERPAGEEDIT,str_gatherpageedit);
if(ctrl=="添 加")
{
int row=m_list.GetItemCount();
if(year<0)
{
AfxMessageBox("[学年度]必须选择!");
GotoDlgCtrl(cwnd_year);
return;
}
else
m_year.GetLBText(year,str_year);
if(placename<0)
{
AfxMessageBox("[乡镇名称]必须选择!");
GotoDlgCtrl(cwnd_placename);
return;
}
else
m_placename.GetLBText(year,str_placename);
if(schoolname<0)
{
AfxMessageBox("[学校名称]必须选择!");
GotoDlgCtrl(cwnd_schoolname);
return;
}
else
m_schoolname.GetLBText(schoolname,str_schoolname);
if(str_gatherpageedit.IsEmpty())
{
AfxMessageBox("[成绩单函头]必须填写!");
GotoDlgCtrl(cwnd_gatherpageedit);
return;
}
for(int i=0;i<=row;i++)
{
if(m_list.GetItemText(i,0)+m_list.GetItemText(i,1)+m_list.GetItemText(i,2)==str_year+str_placename+str_schoolname)
{
AfxMessageBox("数据不能重复!");
return;
}
}
m_list.InsertItem(row,NULL);
m_list.SetItemText(row,0,str_year);
m_list.SetItemText(row,1,str_placename);
m_list.SetItemText(row,2,str_schoolname);
m_list.SetItemText(row,3,str_gatherpageedit);
CString strSQL;
strSQL="select * from gatherpageset";
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);
m_pRecordset->AddNew();
m_pRecordset->PutCollect("my_year",_variant_t(m_list.GetItemText(row,0)));
m_pRecordset->PutCollect("my_place",_variant_t(m_list.GetItemText(row,1)));
m_pRecordset->PutCollect("my_school",_variant_t(m_list.GetItemText(row,2)));
m_pRecordset->PutCollect("my_gatheredit",_variant_t(m_list.GetItemText(row,3)));
m_pRecordset->Update();
m_placename.SetCurSel(-1);
m_schoolname.SetCurSel(-1);
SetDlgItemText(IDC_GATHERPAGEEDIT,"");
GotoDlgCtrl(cwnd_schoolname);
}
else
{
m_list.DeleteAllItems();
int r=0;
int xy[4]={0,0,0,0};
CString strSQL;
strSQL="select * from gatherpageset";
if(year>=0)
{
m_year.GetLBText(year,str_year);
strSQL=strSQL+" where my_year='";
strSQL=strSQL+str_year+"'";
xy[0]=1;
}
else
xy[0]=0;
strSQL="select * from gatherpageset";
if(placename>=0)
{
m_placename.GetLBText(placename,str_placename);
strSQL=strSQL+" where my_place='";
strSQL=strSQL+str_placename+"'";
xy[1]=1;
}
else
xy[1]=0;
if(schoolname>=0)
{
m_schoolname.GetLBText(schoolname,str_schoolname);
if(xy[0] || xy[1])
strSQL=strSQL+" AND my_school='";
else
strSQL=strSQL+" where my_school='";
strSQL=strSQL+str_schoolname+"'";
xy[2]=1;
}
else
xy[2]=0;
if(!(str_gatherpageedit.IsEmpty()))
{
if(xy[0] || xy[1] || xy[2])
strSQL=strSQL+" AND my_gatheredit='";
else
strSQL=strSQL+" where my_gatheredit='";
strSQL=strSQL+str_gatherpageedit+"'";
xy[3]=1;
}
else
xy[3]=0;
if(xy[0] || xy[1] || xy[2]|| xy[3])
{
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_list.InsertItem(r,NULL);
m_list.SetItemText(r,0,p_MySetClass->GetString(m_pRecordset->GetCollect("my_year")));
m_list.SetItemText(r,1,p_MySetClass->GetString(m_pRecordset->GetCollect("my_place")));
m_list.SetItemText(r,2,p_MySetClass->GetString(m_pRecordset->GetCollect("my_school")));
m_list.SetItemText(r,3,p_MySetClass->GetString(m_pRecordset->GetCollect("my_gatheredit")));
r++;
if(!(m_pRecordset->adoEOF))
m_pRecordset->MoveNext();
}
m_year.SetCurSel(-1);
m_placename.SetCurSel(-1);
m_schoolname.SetCurSel(-1);
SetDlgItemText(IDC_GATHERPAGEEDIT,"");
}
}
}
BOOL CMyWriteGatherPage::OnInitDialog()
{
CDialog::OnInitDialog();
m_tooltip.Create(this,TTS_ALWAYSTIP);
m_tooltip.Activate(TRUE);
m_tooltip.AddTool(GetDlgItem(IDC_LIST),IDS_MWGP_LIST1);
m_tooltip.AddTool(GetDlgItem(IDC_YEAR),IDS_YEAR);
m_tooltip.AddTool(GetDlgItem(IDC_PLACE),IDS_SCN_PLACENAME);
m_tooltip.AddTool(GetDlgItem(IDC_SCHOOLNAME),IDS_SCHOOL);
m_tooltip.AddTool(GetDlgItem(IDC_GATHERPAGEEDIT),IDS_GATHERPAGEEDIT);
m_tooltip.AddTool(GetDlgItem(IDC_DEL),IDS_DEL);
m_tooltip.AddTool(GetDlgItem(IDC_MODIFY),IDS_MODIFY);
m_tooltip.AddTool(GetDlgItem(IDC_NEWVIEW),IDS_WRITE_NEWVIEW);
m_tooltip.AddTool(GetDlgItem(IDCANCEL),IDS_CANCEL);
cwnd_year=GetDlgItem(IDC_YEAR);
cwnd_placename=GetDlgItem(IDC_PLACENAME);
cwnd_schoolname=GetDlgItem(IDC_SCHOOLNAME);
cwnd_gatherpageedit=GetDlgItem(IDC_GATHERPAGEEDIT);
if(type)
{
m_tooltip.AddTool(GetDlgItem(IDC_ADD),IDS_ADD);
SetDlgItemText(IDC_ADD,"添 加");
}
else
{
m_tooltip.AddTool(GetDlgItem(IDC_ADD),IDS_QUERY);
SetDlgItemText(IDC_ADD,"查 询");
SetWindowText(_T("查询成绩单数据"));
}
DWORD style;
style=m_list.GetExStyle(); //获取样式
style=(style|LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT)&(~LVS_EX_CHECKBOXES) ; //设置样式
m_list.SetExtendedStyle(style); //应用样式
m_list.InsertColumn(0,"学 年 度",LVCFMT_LEFT,220);
m_list.InsertColumn(1,"乡镇名称",LVCFMT_LEFT,120);
m_list.InsertColumn(2,"学校名称",LVCFMT_LEFT,120);
m_list.InsertColumn(3,"成绩单函头",LVCFMT_LEFT,420);
CString strSQL="select * from yearcourse";
HRESULT 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 string=p_MySetClass->GetString(m_pRecordset->GetCollect("my_year"));
if(m_year.FindString(0,string)==-1)
m_year.AddString(string);
if(!(m_pRecordset->adoEOF))
m_pRecordset->MoveNext();
}
}
m_pRecordset->Close();
m_pRecordset=NULL;
CString ctrl;
GetDlgItemText(IDC_ADD,ctrl);
if(ctrl=="添 加")
{
CString strSQL="select * from gatherpageset";
HRESULT 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;
while(!(m_pRecordset->adoEOF))
{
m_list.InsertItem(r,NULL);
m_list.SetItemText(r,0,p_MySetClass->GetString(m_pRecordset->GetCollect("my_year")));
m_list.SetItemText(r,1,p_MySetClass->GetString(m_pRecordset->GetCollect("my_place")));
m_list.SetItemText(r,2,p_MySetClass->GetString(m_pRecordset->GetCollect("my_school")));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -