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

📄 demissioninfodlg.cpp

📁 VC++和ACCESS使用ADO连接
💻 CPP
字号:
// DemissionInfoDlg.cpp : implementation file
//

#include "stdafx.h"
#include "ministryperson.h"
#include "DemissionInfoDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// DemissionInfoDlg dialog

DemissionInfoDlg::DemissionInfoDlg(CWnd* pParent /*=NULL*/)
	: CDialog(DemissionInfoDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(DemissionInfoDlg)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
}


void DemissionInfoDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(DemissionInfoDlg)
		// NOTE: the ClassWizard will add DDX and DDV calls here
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(DemissionInfoDlg, CDialog)
	//{{AFX_MSG_MAP(DemissionInfoDlg)
	ON_BN_CLICKED(IDC_BUTTON_D_SAVE, OnButtonDiSave)
	ON_BN_CLICKED(IDC_BUTTON_D_MODIFY, OnButtonDModify)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// DemissionInfoDlg message handlers

BOOL DemissionInfoDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	if (m_bFlowerToShow)
	{
		GetInfoFromDB();		// 从辞职花名册中调出时
		CtrlStatus_Demission(FALSE);
		GetDlgItem(IDC_BUTTON_D_SAVE)->EnableWindow(FALSE);
	}
	else
	{
		GetDemisFromClass();	// 显示信息
		GetDlgItem(IDC_BUTTON_D_MODIFY)->EnableWindow(FALSE);
	}
	
	return TRUE;  
}

/*********************************************************************
函数说明:	  [按钮] 保存
函数参数:	  
*********************************************************************/
void DemissionInfoDlg::OnButtonDiSave() 
{
	CFuncOper FunOper;
	CString strPro;
	if (!FunOper.CheckType_CComBox(this, IDC_COMBO_D_DEMISPRO, "【辞职性质】", strPro))
	{
		return;
	}

	CString strIsOver;
	if (!FunOper.CheckType_CComBox(this, IDC_COMBO_D_ISOVER, "【是否完清】", strIsOver))
	{
		return;
	}
	
	if (m_bModifyNotFirst)	// 修改
	{
		ModifyNotInPos();
	}
	else	// 第一次录入,并删除之前的详细记录
	{
		DemissionOper();
		m_bModifyNotFirst = TRUE;
	}
}

/*********************************************************************
函数说明:	  [按钮] 修改
函数参数:	  
*********************************************************************/
void DemissionInfoDlg::OnButtonDModify() 
{
	CtrlStatus_Demission(TRUE);
	GetDlgItem(IDC_BUTTON_D_SAVE)->EnableWindow(TRUE);
	GetDlgItem(IDC_BUTTON_D_MODIFY)->EnableWindow(FALSE);
}

/*********************************************************************
函数说明:	  
函数参数:	  
*********************************************************************/
void DemissionInfoDlg::CtrlStatus_Demission(BOOL bStatus)
{
	((CComboBox*)GetDlgItem(IDC_DTP_D_LEAVET))->EnableWindow(bStatus);
	((CComboBox*)GetDlgItem(IDC_COMBO_D_ISOVER))->EnableWindow(bStatus);
	((CEdit*)GetDlgItem(IDC_EDIT_D_DESCRIP))->EnableWindow(bStatus);
	((CEdit*)GetDlgItem(IDC_EDIT_D_OTHER))->EnableWindow(bStatus);
	((CComboBox*)GetDlgItem(IDC_COMBO_D_DEMISPRO))->EnableWindow(bStatus);
}


/*********************************************************************
函数说明:	  显示 离职 信息
函数参数:	  
*********************************************************************/
void DemissionInfoDlg::GetDemisFromClass()
{
	CFuncOper FunOper;

	FunOper.SetFieldValueToCEdit(this, IDC_EDIT_D_NAME,      m_strName);
	FunOper.SetFieldValueToCEdit(this, IDC_EDIT_D_IDCARD,    m_strIDCard);
	FunOper.SetFieldValueToCEdit(this, IDC_EDIT_D_SEX,       m_strSex);
	FunOper.SetFieldValueToCEdit(this, IDC_EDIT_D_AGE,       m_strAge);
	FunOper.SetFieldValueToCEdit(this, IDC_EDIT_D_COMPANY,   m_strCompany);
	FunOper.SetFieldValueToCEdit(this, IDC_EDIT_D_DEPART,    m_strDepart);

	FunOper.SetFieldValueToCEdit(this, IDC_EDIT_D_TPYE,      m_strJobPos);
	FunOper.SetFieldValueToCEdit(this, IDC_EDIT_D_TECHPOST,  m_strTechPost);
	FunOper.SetFieldValueToCEdit(this, IDC_EDIT_D_GRASCHOOL, m_strGraSch);
	FunOper.SetFieldValueToCEdit(this, IDC_EDIT_D_HIGHEST,   m_strHigDia);
	FunOper.SetFieldValueToCEdit(this, IDC_EDIT_D_FIRSTJOBT, m_strFirJobT);
	FunOper.SetFieldValueToCEdit(this, IDC_EDIT_D_TECHANG,   m_strTechSpe);
	FunOper.SetFieldValueToCEdit(this, IDC_EDIT_D_TEL,       m_strMobile);
	FunOper.SetFieldValueToCEdit(this, IDC_EDIT_D_REMARK,    m_strRemark);

	FunOper.SetFieldValueToCEdit(this, IDC_EDIT_D_DUTY,        m_strDuty);
	FunOper.SetFieldValueToCEdit(this, IDC_EDIT_D_JOINCOMTIME, m_strJoinT);

	FunOper.SetFieldValueToCEdit(this, IDC_EDIT_D_GRATIME, m_strStuEndT);

	FunOper.SetFieldValueToCEdit(this, IDC_EDIT_D_DESCRIP, "暂无说明");
	FunOper.SetFieldValueToCEdit(this, IDC_EDIT_D_OTHER,   "暂无其他情况");
}

/*********************************************************************
函数说明:	  
函数参数:	  
*********************************************************************/
BOOL DemissionInfoDlg::ModifyNotInPos()
{
	GetDlgItemText(IDC_COMBO_D_DEMISPRO, D_DemisPro);
	GetDlgItemText(IDC_EDIT_D_DESCRIP, D_Descrip);
	GetDlgItemText(IDC_DTP_D_LEAVET, D_LeaveTime);
	GetDlgItemText(IDC_EDIT_D_OTHER,   D_Other);
	GetDlgItemText(IDC_COMBO_D_ISOVER, D_IsOver);
	
	CADOOperation ADOdbo;
	CString SQL;
 	SQL.Format("update Demission_EmployeeInfo_Table \
				set Demission_Description = '%s', Demission_Leavetime = '%s', \
					Demission_Others = '%s', Demission_IsFinished = '%s' ,\
					Demission_Property = '%s' \
				where Demission_B_Name = '%s' AND Demission_B_IDCard = '%s'",
					  D_Descrip, D_LeaveTime, D_Other, D_IsOver, D_DemisPro, 
					  m_strName, m_strIDCard);
	ADOdbo.OpenRecordset(SQL);
	ADOdbo.CloseRecorset();

	CtrlStatus_Demission(FALSE);
	GetDlgItem(IDC_BUTTON_D_SAVE)->EnableWindow(FALSE);
	GetDlgItem(IDC_BUTTON_D_MODIFY)->EnableWindow(TRUE);
	MessageBox("修改成功!\t", "成功", MB_OK | MB_ICONEXCLAMATION);
	return TRUE;
}

/*********************************************************************
函数说明:	  将有用数据提取出,并删除其他的
函数参数:	  
*********************************************************************/
BOOL DemissionInfoDlg::DemissionOper()
{
	GetDlgItemText(IDC_COMBO_D_DEMISPRO, D_DemisPro);
	GetDlgItemText(IDC_EDIT_D_DESCRIP, D_Descrip);
	GetDlgItemText(IDC_DTP_D_LEAVET, D_LeaveTime);
	GetDlgItemText(IDC_EDIT_D_OTHER,   D_Other);
	GetDlgItemText(IDC_COMBO_D_ISOVER, D_IsOver);

	CADOOperation ADOMove;
	CString SQL;

	SQL.Format("insert into Demission_EmployeeInfo_Table\
				values ('%s', '%s', '%s', \
						'%s', '%s', '%s', \
						'%s', '%s', '%s', \
						'%s', '%s', '%s', \
						'%s', '%s', '%s', \
						'%s', '%s', \
						'%s', '%s', '%s', '%s', '%s')",
						m_strName,    m_strIDCard, m_strSex,
						m_strAge,     m_strJobPos, m_strTechPost, 
						m_strGraSch,  m_strHigDia, m_strFirJobT,
						m_strTechSpe, m_strMobile, m_strRemark, 
						m_strCompany, m_strDepart, m_strDuty, 
						m_strJoinT,   m_strStuEndT, 
						D_Descrip, D_LeaveTime, D_Other, D_IsOver, D_DemisPro);
	ADOMove.OpenRecordset(SQL);
	ADOMove.CloseRecorset();
	
	SQL.Format("delete * from Employee_BasicInfor_Table where employee_IDCard = '%s'", m_strIDCard);
	ADOMove.OpenRecordset(SQL);

	SQL.Format("delete * from Employee_FamilyInfor_Table where employee_IDCard = '%s'", m_strIDCard);
	ADOMove.OpenRecordset(SQL);

	SQL.Format("delete * from Employee_InActiveSer_Table where employee_IDCard = '%s'", m_strIDCard);
	ADOMove.OpenRecordset(SQL);

	SQL.Format("delete * from Employee_PayChange_Table where employee_IDCard = '%s'", m_strIDCard);
	ADOMove.OpenRecordset(SQL);

	SQL.Format("delete * from Employee_PayProtect_Table where employee_IDCard = '%s'", m_strIDCard);
	ADOMove.OpenRecordset(SQL);

	SQL.Format("delete * from Employee_SpecialPost_Table where employee_IDCard = '%s'", m_strIDCard);
	ADOMove.OpenRecordset(SQL);

	SQL.Format("delete * from Employee_TrainExpe_Table where employee_IDCard = '%s'", m_strIDCard);
	ADOMove.OpenRecordset(SQL);

	SQL.Format("delete * from Employee_WorkExpe_Table where employee_IDCard = '%s'", m_strIDCard);
	ADOMove.OpenRecordset(SQL);
	ADOMove.CloseRecorset();

	// 设成 TRUE 后,当返回到 g_MenuL_QueryDlg 对话框时,按钮就是 disable 了,避免错误再次操作
	g_bEnable = TRUE;

	CtrlStatus_Demission(FALSE);
	GetDlgItem(IDC_BUTTON_D_SAVE)->EnableWindow(FALSE);
	GetDlgItem(IDC_BUTTON_D_MODIFY)->EnableWindow(TRUE);
	MessageBox("保存成功!\t", "成功", MB_OK | MB_ICONEXCLAMATION);
	return TRUE;
}

/*********************************************************************
函数说明:	  将有用数据提取出,并删除其他的
函数参数:	  
*********************************************************************/
void DemissionInfoDlg::GetInfoFromDB()
{
	CADOOperation ADOdbo;
	CString SQL;
	SQL.Format("Select * from Demission_EmployeeInfo_Table where Demission_B_IDCard = '%s'", m_strIDCard);
	ADOdbo.OpenRecordset(SQL);

	CString strFields[] = {""};
	CString strGetValues[22];
	ADOdbo.GetFieldsValue(strFields, 22, strGetValues, TRUE);
	ADOdbo.CloseRecorset();

	CFuncOper FunOper;
	FunOper.SetFieldValueToCEdit(this, IDC_EDIT_D_NAME,      strGetValues[0]);
	FunOper.SetFieldValueToCEdit(this, IDC_EDIT_D_IDCARD,    strGetValues[1]);
	FunOper.SetFieldValueToCEdit(this, IDC_EDIT_D_SEX,       strGetValues[2]);
	FunOper.SetFieldValueToCEdit(this, IDC_EDIT_D_AGE,       strGetValues[3]);
	FunOper.SetFieldValueToCEdit(this, IDC_EDIT_D_TPYE,      strGetValues[4]);
	FunOper.SetFieldValueToCEdit(this, IDC_EDIT_D_TECHPOST,  strGetValues[5]);
	FunOper.SetFieldValueToCEdit(this, IDC_EDIT_D_GRASCHOOL, strGetValues[6]);
	FunOper.SetFieldValueToCEdit(this, IDC_EDIT_D_HIGHEST,   strGetValues[7]);

	FunOper.SetFieldValueToCEdit(this, IDC_EDIT_D_FIRSTJOBT, strGetValues[8]);
	FunOper.SetFieldValueToCEdit(this, IDC_EDIT_D_TECHANG,   strGetValues[9]);
	FunOper.SetFieldValueToCEdit(this, IDC_EDIT_D_TEL,       strGetValues[10]);
	FunOper.SetFieldValueToCEdit(this, IDC_EDIT_D_REMARK,    strGetValues[11]);

	FunOper.SetFieldValueToCEdit(this, IDC_EDIT_D_COMPANY,     strGetValues[12]);
	FunOper.SetFieldValueToCEdit(this, IDC_EDIT_D_DEPART,      strGetValues[13]);	
	FunOper.SetFieldValueToCEdit(this, IDC_EDIT_D_DUTY,        strGetValues[14]);
	FunOper.SetFieldValueToCEdit(this, IDC_EDIT_D_JOINCOMTIME, strGetValues[15]);
	FunOper.SetFieldValueToCEdit(this, IDC_EDIT_D_GRATIME,     strGetValues[16]);

	FunOper.SetFieldValueToCEdit(this, IDC_EDIT_D_DESCRIP,     strGetValues[17]);
	FunOper.SetFieldValueToCTime(this, IDC_DTP_D_LEAVET,       strGetValues[18]);
	FunOper.SetFieldValueToCEdit(this, IDC_EDIT_D_OTHER,       strGetValues[19]);
	FunOper.SetFieldValueToCCombox(this, IDC_COMBO_D_ISOVER,   strGetValues[20]);
	FunOper.SetFieldValueToCCombox(this, IDC_COMBO_D_DEMISPRO, strGetValues[21]);
}

⌨️ 快捷键说明

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