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

📄 ctrainginfo.cpp

📁 一个有关人事系统的所有代码和有关文件包括里面小量数据库。
💻 CPP
📖 第 1 页 / 共 2 页
字号:
// CTraingInfo.cpp : implementation file
//

#include "stdafx.h"
#include "Rsglxt.h"
#include "CTraingInfo.h"
#include "DBaseQuery.h"
#include "ExternDLLHeader.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CCTraingInfo dialog


CCTraingInfo::CCTraingInfo(CWnd* pParent /*=NULL*/)
	: CDialog(CCTraingInfo::IDD, pParent)
{
	//{{AFX_DATA_INIT(CCTraingInfo)
	//}}AFX_DATA_INIT
}


void CCTraingInfo::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CCTraingInfo)
	DDX_Control(pDX, IDC_COMSTAFFDEP, m_Comstaffdep);
	DDX_Control(pDX, IDC_LIST_GRID, m_Sql_Grid);
	DDX_Control(pDX, IDC_EDTSTAFFNAME, m_Edtstaffname);
	DDX_Control(pDX, IDC_EDTSTAFFID, m_EdtstaffID);
	DDX_Control(pDX, IDC_COMBO1, m_Comdept);
	DDX_Control(pDX, IDC_BUTUNDO, m_undo);
	DDX_Control(pDX, IDC_BUTSAVE, m_save);
	DDX_Control(pDX, IDC_BUTEXIT, m_exit);
	DDX_Control(pDX, IDC_BUTDELETE, m_delete);
	DDX_Control(pDX, IDC_BUTCHANGE, m_change);
	DDX_Control(pDX, IDC_BUTADD, m_add);
	DDX_Control(pDX, IDC_DATETIMEPICKER2, m_TimeOver);
	DDX_Control(pDX, IDC_DATETIMEPICKER1, m_TimeStart);
	DDX_Control(pDX, IDC_EDIT19, m_Edtremark);
	DDX_Control(pDX, IDC_EDIT11, m_EdtTcontent);
	DDX_Control(pDX, IDC_EDIT10, m_EdtTresult);
	DDX_Control(pDX, IDC_EDIT9, m_EdtTscore);
	DDX_Control(pDX, IDC_EDIT8, m_EdtTaddress);
	DDX_Control(pDX, IDC_EDIT7, m_EdtTcost);
	DDX_Control(pDX, IDC_EDIT6, m_EdtTunit);
	DDX_Control(pDX, IDC_EDIT4, m_EdtSname);
	DDX_Control(pDX, IDC_EDIT3, m_EdtSID);
	DDX_Control(pDX, IDC_EDIT2, m_EdtTname);
	DDX_Control(pDX, IDC_EDIT1, m_EdtTID);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CCTraingInfo, CDialog)
	//{{AFX_MSG_MAP(CCTraingInfo)
	ON_BN_CLICKED(IDC_BUTADD, OnButadd)
	ON_BN_CLICKED(IDC_BUTCHANGE, OnButchange)
	ON_BN_CLICKED(IDC_BUTDELETE, OnButdelete)
	ON_BN_CLICKED(IDC_BUTSAVE, OnButsave)
	ON_BN_CLICKED(IDC_BUTUNDO, OnButundo)
	ON_BN_CLICKED(IDC_BUTEXIT, OnButexit)
	ON_WM_PAINT()
	ON_WM_CTLCOLOR()
	ON_BN_CLICKED(IDC_BTNSEL, OnBtnsel)
	ON_NOTIFY(NM_DBLCLK, IDC_LIST_GRID, OnDblclkListGrid)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CCTraingInfo message handlers

void CCTraingInfo::OnButadd() //添加新的信息
{
	// TODO: Add your control notification handler code here
	AddOrChange=1;
	this->ButtonEnabled(true);
	this->ClearEdit();
	CString NewID=ado.AutoNumber("TrainingInfo","Training_ID","PX",3);
	m_EdtTID.SetWindowText(NewID);
	m_EdtSID.SetFocus();
}

void CCTraingInfo::OnButchange() //修改该条信息
{
	// TODO: Add your control notification handler code here
AddOrChange=2;
	this->ButtonEnabled(true);
	m_EdtSID.SetFocus();
}

void CCTraingInfo::OnButdelete() //删除该条信息
{
	// TODO: Add your control notification handler code here
	if(MessageBox("确定要删除此条记录吗?","系统提示",MB_OKCANCEL|MB_ICONQUESTION)!=1)
		return;
	CString sSQL;
	sSQL.Format("DELETE FROM TrainingInfo WHERE Training_ID='%s'",m_sID);
	RxRecordset Drst;
	Drst.Open(sSQL,adCmdText);
	this->OnCancel();
}

void CCTraingInfo::OnButsave() //保存该条信息
{
	// TODO: Add your control notification handler code here
	if(MessageBox("确定要保存记录吗?","系统提示",MB_OKCANCEL|MB_ICONQUESTION)!=1)
		return;
	CString TrainID,TName,SID,SName,Taddress,Result,Tcontent,Dept,Remark,Tcost,Tscore,Tunit,timestart,timeover;
    m_EdtTID.GetWindowText(TrainID);
	m_EdtTname.GetWindowText(TName);
	m_EdtSID.GetWindowText(SID);
	m_EdtSname.GetWindowText(SName);
	m_Comdept.GetWindowText(Dept);
	m_EdtTaddress.GetWindowText(Taddress);
	m_EdtTcontent.GetWindowText(Tcontent);
	m_EdtTcost.GetWindowText(Tcost);
	m_EdtTscore.GetWindowText(Tscore);
	m_EdtTunit.GetWindowText(Tunit);
	m_EdtTresult.GetWindowText(Result);
	m_Edtremark.GetWindowText(Remark);
	CTime time1,time2;
	m_TimeOver.GetTime(time1);
	timeover=CTimeToCString(time1);
	
 	m_TimeStart.GetTime(time2);
	timestart=CTimeToCString(time2);
	
	if(SID.IsEmpty())
	{
		MessageBox("员工编号不能为空,请输入员工编号。","系统提示",MB_OKCANCEL|MB_ICONQUESTION!=1);
		m_EdtSID.SetFocus();
		return;
	}
	if(TName.IsEmpty())
	{
		MessageBox("培训名称不能为空,请输入培训名称。","系统提示",MB_OKCANCEL|MB_ICONQUESTION!=1);
		m_EdtTname.SetFocus();
		return;
	}else if(TName.GetLength()>30)
	{
		MessageBox("输入培训名称的字数不能过长,请重新输入培训名称。","系统提示",MB_OKCANCEL|MB_ICONQUESTION!=1);
		m_EdtTname.SetFocus();
		return;
	}
	if(SName.IsEmpty())
	{
		MessageBox("员工姓名不能为空,请输入员工姓名。","系统提示",MB_OKCANCEL|MB_ICONQUESTION!=1);
		m_EdtSname.SetFocus();
		return;
	}
	if(Dept.IsEmpty())
	{
		MessageBox("员工部门不能为空,请输入员工部门。","系统提示",MB_OKCANCEL|MB_ICONQUESTION!=1);
		m_Comdept.SetFocus();
		return;
	}
	if(Taddress.IsEmpty())
	{
		MessageBox("培训地点不能为空,请输入培训地点。","系统提示",MB_OKCANCEL|MB_ICONQUESTION!=1);
		m_EdtTaddress.SetFocus();
		return;
	}else if(Taddress.GetLength()>30)
	{
		MessageBox("输入培训地点的字数不能过长,请重新输入培训地点。","系统提示",MB_OKCANCEL|MB_ICONQUESTION!=1);
		m_EdtTaddress.SetFocus();
		return;
	}
	if(Tcontent.IsEmpty())
	{
		MessageBox("培训内容不能为空,请输入培训内容。","系统提示",MB_OKCANCEL|MB_ICONQUESTION!=1);
		m_EdtTcontent.SetFocus();
		return;
	}else if(Tcontent.GetLength()>30)
	{
		MessageBox("输入培训内容的字数不能过长,请重新输入培训内容。","系统提示",MB_OKCANCEL|MB_ICONQUESTION!=1);
		m_EdtTcontent.SetFocus();
		return;
	}
	if(Tcost.IsEmpty())
	{
		MessageBox("培训费用不能为空,请输入培训费用。","系统提示",MB_OKCANCEL|MB_ICONQUESTION!=1);
		m_EdtTcost.SetFocus();
		return;
	}else if(Tcost.GetLength()>8)
	{
		MessageBox("培训费用不能过多,请重新输入培训费用。","系统提示",MB_OKCANCEL|MB_ICONQUESTION!=1);
		m_EdtTcost.SetFocus();
		return;
	}
	if(Tscore.IsEmpty())
	{
		MessageBox("培训成绩不能为空,请输入培训成绩。","系统提示",MB_OKCANCEL|MB_ICONQUESTION!=1);
		m_EdtTscore.SetFocus();
		return;
	}
	else
	{
		int len;
		len=atoi(Tscore);
		if(len>100)
		{
			MessageBox("培训成绩不能超过100分,请出现输入培训成绩。","系统提示",MB_OKCANCEL|MB_ICONQUESTION!=1);
			m_EdtTscore.SetFocus();
			return;
		}
	}
	if(Tunit.IsEmpty())
	{
		MessageBox("培训单位不能为空,请输入培训单位。","系统提示",MB_OKCANCEL|MB_ICONQUESTION!=1);
		m_EdtTunit.SetFocus();
		return;
	}
	else if(Tunit.GetLength()>30)
	{
		MessageBox("培训单位字数不能过长,请重新输入培训单位。","系统提示",MB_OKCANCEL|MB_ICONQUESTION!=1);
		m_EdtTunit.SetFocus();
		return;
	}
	if(Result.IsEmpty())
	{
		MessageBox("培训结果不能为空,请输入培训结果。","系统提示",MB_OKCANCEL|MB_ICONQUESTION!=1);
		m_EdtTresult.SetFocus();
		return;
	}else if(Result.GetLength()>10)
	{
		MessageBox("培训结果字数不能过长,请重新输入培训结果。","系统提示",MB_OKCANCEL|MB_ICONQUESTION!=1);
		m_EdtTresult.SetFocus();
		return;
	}
	if(Remark.GetLength()>50)
	{
		MessageBox("输入备注的字数不能过长,请重新输入。","系统提示",MB_OKCANCEL|MB_ICONQUESTION!=1);
		m_Edtremark.SetFocus();
		return;
	}

	RxRecordset namest,IDst,tst;
	CString namesql,IDsql,text1,text2,text3;
	namesql.Format("SELECT * FROM StaffInfo WHERE Staff_name='%s'",SName);
	IDsql.Format("SELECT * FROM StaffInfo WHERE Staff_ID='%s'",SID);
	namest.Open(namesql,adCmdText);
	IDst.Open(IDsql,adCmdText);


	if(IDst.GetRecordCount()<1)
	{
		MessageBox("您输入的用户编号不存在!请重新输入!","系统提示",MB_OK|MB_ICONSTOP);
		m_EdtSID.SetWindowText("");
		m_EdtSID.SetFocus();
		return;
	}
	if(namest.GetRecordCount()<1)
	{
		MessageBox("您输入的用户名不存在!请重新输入!","系统提示",MB_OK|MB_ICONSTOP);
		m_EdtSname.SetWindowText("");
		m_EdtSname.SetFocus();
		return;
	}

	text1=namest.GetFieldValue("Staff_ID");
	if(text1!=SID)
	{
		MessageBox("您输入的用户名与用户编号不匹配!请重新输入!","系统提示",MB_OK|MB_ICONSTOP);
		m_EdtSID.SetWindowText("");
		m_EdtSID.SetFocus();
		return;
	}

	text2=namest.GetFieldValue("Dep");
	if(text2!=Dept)
	{
	    MessageBox("您输入的用户不属于这个部门!请重新输入!","系统提示",MB_OK|MB_ICONSTOP);

⌨️ 快捷键说明

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