📄 mydataedit.cpp
字号:
// MyDataEdit.cpp : 实现文件
//
#include "stdafx.h"
#include "ScoreGather.h"
#include "MyDataEdit.h"
#include ".\mydataedit.h"
// CMyDataEdit 对话框
IMPLEMENT_DYNAMIC(CMyDataEdit, CDialog)
CMyDataEdit::CMyDataEdit(CWnd* pParent /*=NULL*/)
: CDialog(CMyDataEdit::IDD, pParent)
, type(FALSE)
{
}
CMyDataEdit::~CMyDataEdit()
{
}
void CMyDataEdit::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_SCHOOLNAME, m_schoolname);
DDX_Control(pDX, IDC_COURSENAME, m_coursename);
DDX_Control(pDX, IDC_STUDENTNAME, m_studentname);
DDX_Control(pDX, IDC_STUDENTREADEM, m_studentreadem);
DDX_Control(pDX, IDC_CLASSNAME, m_classname);
DDX_Control(pDX, IDC_TEACHERNAME, m_teachername);
DDX_Control(pDX, IDC_GATHER, m_gather);
DDX_Control(pDX, IDC_DATALIST, m_datalist);
DDX_Control(pDX, IDC_YEAR, m_year);
DDX_Control(pDX, IDC_STATICDATA, m_staticdata);
DDX_Control(pDX, IDC_APPEND, m_append);
DDX_Control(pDX, IDC_MODIFY, m_modify);
DDX_Control(pDX, IDC_DEL, m_del);
DDX_Control(pDX, IDC_NEWVIEW, m_newview);
DDX_Control(pDX, IDC_FIRST, m_first);
DDX_Control(pDX, IDC_PREV, m_prev);
DDX_Control(pDX, IDC_NEXT, m_next);
DDX_Control(pDX, IDC_LAST, m_last);
DDX_Control(pDX, ID_OK, m_ok);
DDX_Control(pDX, IDC_PLACE, m_place);
}
BEGIN_MESSAGE_MAP(CMyDataEdit, CDialog)
ON_BN_CLICKED(IDCANCEL, OnBnClickedCancel)
ON_BN_CLICKED(ID_OK, OnBnClickedOk)
ON_BN_CLICKED(IDC_APPEND, OnBnClickedAppend)
ON_BN_CLICKED(IDC_MODIFY, OnBnClickedModify)
ON_BN_CLICKED(IDC_DEL, OnBnClickedDel)
ON_BN_CLICKED(IDC_FIRST, OnBnClickedFirst)
ON_BN_CLICKED(IDC_PREV, OnBnClickedPrev)
ON_BN_CLICKED(IDC_NEXT, OnBnClickedNext)
ON_BN_CLICKED(IDC_LAST, OnBnClickedLast)
ON_NOTIFY(NM_CLICK, IDC_DATALIST, OnNMClickDatalist)
ON_EN_SETFOCUS(IDC_TEACHERNAME, OnEnSetfocusTeachername)
ON_WM_ERASEBKGND()
ON_WM_CTLCOLOR()
ON_CBN_SELCHANGE(IDC_STUDENTREADEM, OnCbnSelchangeStudentreadem)
ON_CBN_SELCHANGE(IDC_YEAR, OnCbnSelchangeYear)
ON_CBN_SELCHANGE(IDC_SCHOOLNAME, OnCbnSelchangeSchoolname)
ON_CBN_SELCHANGE(IDC_CLASSNAME, OnCbnSelchangeClassname)
ON_CBN_SELCHANGE(IDC_COURSENAME, OnCbnSelchangeCoursename)
ON_CBN_SELCHANGE(IDC_PLACE, OnCbnSelchangePlace)
ON_BN_CLICKED(IDC_NEWVIEW, OnBnClickedNewview)
END_MESSAGE_MAP()
// CMyDataEdit 消息处理程序
void CMyDataEdit::OnBnClickedCancel()
{
}
void CMyDataEdit::OnBnClickedOk()
{
CDialog::OnOK();
}
BOOL CMyDataEdit::OnInitDialog()
{
CDialog::OnInitDialog();
m_tooltip.Create(this,TTS_ALWAYSTIP);
m_tooltip.Activate(TRUE);
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_CLASSNAME),IDS_CLASS);
m_tooltip.AddTool(GetDlgItem(IDC_COURSENAME),IDS_COURSE);
m_tooltip.AddTool(GetDlgItem(IDC_DEL),IDS_DEL);
m_tooltip.AddTool(GetDlgItem(IDC_STUDENTNAME),IDS_STUDENTNAME);
m_tooltip.AddTool(GetDlgItem(IDC_STUDENTREADEM),IDS_STUDENTREADEM);
m_tooltip.AddTool(GetDlgItem(IDC_GATHER),IDS_GATHER);
m_tooltip.AddTool(GetDlgItem(IDC_MODIFY),IDS_MODIFY);
m_tooltip.AddTool(GetDlgItem(IDC_NEWVIEW),IDS_DATAEDIT_NEWVIEW);
m_tooltip.AddTool(GetDlgItem(IDC_FIRST),IDS_FIRST);
m_tooltip.AddTool(GetDlgItem(IDC_PREV),IDS_PREV);
m_tooltip.AddTool(GetDlgItem(IDC_NEXT),IDS_NEXT);
m_tooltip.AddTool(GetDlgItem(IDC_LAST),IDS_LAST);
m_tooltip.AddTool(GetDlgItem(ID_OK),IDS_CANCEL);
m_tooltip.AddTool(GetDlgItem(IDC_DATALIST),IDS_DATALIST);
VERIFY(m_font.CreateFont(22,-8,0,0,FW_NORMAL,FALSE,FALSE,0,ANSI_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH | FF_SWISS,"Arial"));
GetDlgItem(IDC_STATICDATA)->SetFont(&m_font,1);
if(type)
{
SetDlgItemText(IDC_APPEND,"添 加");
m_tooltip.AddTool(GetDlgItem(IDC_APPEND),IDS_ADD);
m_tooltip.AddTool(GetDlgItem(IDC_TEACHERNAME),IDS_TEACHERNAME_DATAEDITSTATIC);
}
else
{
SetDlgItemText(IDC_APPEND,"查 询");
m_tooltip.AddTool(GetDlgItem(IDC_APPEND),IDS_QUERY);
m_tooltip.AddTool(GetDlgItem(IDC_TEACHERNAME),IDS_TEACHERNAME);
SetWindowText(_T("查询基础数据"));
}
cwnd_year=GetDlgItem(IDC_YEAR);
cwnd_place=GetDlgItem(IDC_PLACE);
cwnd_schoolname=GetDlgItem(IDC_SCHOOLNAME);
cwnd_coursename=GetDlgItem(IDC_COURSENAME);
cwnd_studentname=GetDlgItem(IDC_STUDENTNAME);
cwnd_studentreadem=GetDlgItem(IDC_STUDENTREADEM);
cwnd_classname=GetDlgItem(IDC_CLASSNAME);
cwnd_teachername=GetDlgItem(IDC_TEACHERNAME);
cwnd_gather=GetDlgItem(IDC_GATHER);
m_studentreadem.AddString("无");
m_studentreadem.AddString("缺考");
m_studentreadem.AddString("违纪");
DWORD style;
style=m_datalist.GetExStyle(); //获取样式
style=(style|LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT)&(~LVS_EX_CHECKBOXES) ; //设置样式
m_datalist.SetExtendedStyle(style); //应用样式
m_datalist.InsertColumn(0,"学 年 度",LVCFMT_LEFT,220);
m_datalist.InsertColumn(1,"乡 镇",LVCFMT_CENTER,100);
m_datalist.InsertColumn(2,"学 校",LVCFMT_LEFT,160);
m_datalist.InsertColumn(3,"班 级",LVCFMT_CENTER,100);
m_datalist.InsertColumn(4,"学 科",LVCFMT_CENTER,110);
m_datalist.InsertColumn(5,"任课教师",LVCFMT_CENTER,80);
m_datalist.InsertColumn(6,"学生姓名",LVCFMT_CENTER,80);
m_datalist.InsertColumn(7,"考试成绩",LVCFMT_CENTER,60);
m_datalist.InsertColumn(8,"备注",LVCFMT_CENTER,40);
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 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();
}
}
CString ctrl;
GetDlgItemText(IDC_APPEND,ctrl);
if(ctrl=="添 加")
StartView();
return TRUE;
}
void CMyDataEdit::OnBnClickedAppend()
{
CString ctrl;
GetDlgItemText(IDC_APPEND,ctrl);
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();
GetDlgItemText(IDC_TEACHERNAME,string5);
GetDlgItemText(IDC_STUDENTNAME,string6);
UINT gather=-1;
gather=GetDlgItemInt(IDC_GATHER,NULL,1);
if(ctrl=="添 加")
{
int row=m_datalist.GetItemCount();
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;
}
if(string5.IsEmpty())
{
AfxMessageBox("必须填写[教师姓名]!");
GotoDlgCtrl(cwnd_teachername);
return;
}
if(string6.IsEmpty())
{
AfxMessageBox("必须填写[学生姓名]!");
GotoDlgCtrl(cwnd_studentname);
return;
}
if(n5<0)
{
AfxMessageBox("必须选择[备注]!");
GotoDlgCtrl(cwnd_studentreadem);
return;
}
if(gather==-1)
{
AfxMessageBox("必须填写[考试成绩]!");
GotoDlgCtrl(cwnd_gather);
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);
string7.Format("%d",gather);
m_studentreadem.GetLBText(n5,string8);
for(int i=0;i<=row;i++)
{
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.InsertItem(row,NULL);
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="select * from dataedit";
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_datalist.GetItemText(row,0)));
m_pRecordset->PutCollect("my_place",_variant_t(m_datalist.GetItemText(row,1)));
m_pRecordset->PutCollect("my_school",_variant_t(m_datalist.GetItemText(row,2)));
m_pRecordset->PutCollect("my_class",_variant_t(m_datalist.GetItemText(row,3)));
m_pRecordset->PutCollect("my_course",_variant_t(m_datalist.GetItemText(row,4)));
m_pRecordset->PutCollect("my_teacher",_variant_t(m_datalist.GetItemText(row,5)));
m_pRecordset->PutCollect("my_student",_variant_t(m_datalist.GetItemText(row,6)));
m_pRecordset->PutCollect("my_gather",gather);
m_pRecordset->PutCollect("my_readem",_variant_t(m_datalist.GetItemText(row,8)));
m_pRecordset->Update();
SetDlgItemText(IDC_STUDENTNAME,"");
m_studentreadem.SetCurSel(0);
SetDlgItemText(IDC_GATHER,"");
m_datalist.SetItem(row, 0, LVIF_STATE, NULL, 0, LVIS_SELECTED, LVIS_SELECTED, 0);
MyScorll("set",row);
}
else
{
m_datalist.DeleteAllItems();
m_datalist.ShowWindow(SW_HIDE);
m_staticdata.ShowWindow(SW_SHOW);
SetDlgItemText(IDC_STATICDATA,"数据处理中,请稍候……");
int r=0;
int xy[9]={0,0,0,0,0,0,0,0,0};
CString strSQL;
strSQL="select * from dataedit";
if(n0>=0)
{
m_year.GetLBText(n0,string0);
strSQL=strSQL+" where my_year='";
strSQL=strSQL+string0+"'";
xy[0]=1;
}
else
xy[0]=0;
if(n1>=0)
{
m_place.GetLBText(n1,string1);
if(xy[0])
strSQL=strSQL+" AND my_place='";
else
strSQL=strSQL+" where my_place='";
strSQL=strSQL+string1+"'";
xy[1]=1;
}
if(n2>=0)
{
m_schoolname.GetLBText(n2,string2);
if(xy[0]| xy[1])
strSQL=strSQL+" AND my_school='";
else
strSQL=strSQL+" where my_school='";
strSQL=strSQL+string2+"'";
xy[2]=1;
}
else
xy[2]=0;
if(n3>=0)
{
m_classname.GetLBText(n3,string3);
if(xy[0] || xy[1] || xy[2])
strSQL=strSQL+" AND my_class='";
else
strSQL=strSQL+" where my_class='";
strSQL=strSQL+string3+"'";
xy[3]=1;
}
else
xy[3]=0;
if(n4>=0)
{
m_coursename.GetLBText(n4,string4);
if(xy[0] || xy[1] || xy[2] || xy[3])
strSQL=strSQL+" AND my_course='";
else
strSQL=strSQL+" where my_course='";
strSQL=strSQL+string4+"'";
xy[4]=1;
}
else
xy[4]=0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -