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

📄 pagenewdept.cpp

📁 人事管理系统
💻 CPP
字号:
// PageNewDept.cpp : implementation file
//

#include "stdafx.h"
#include "PersonelManage.h"
#include "PageNewDept.h"

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

/////////////////////////////////////////////////////////////////////////////
// CPageNewDept property page

IMPLEMENT_DYNCREATE(CPageNewDept, CDialog)

CPageNewDept::CPageNewDept() : CDialog(CPageNewDept::IDD)
{
	//{{AFX_DATA_INIT(CPageNewDept)
	m_strDeptDes = _T("");
	m_strDeptName = _T("");
	//}}AFX_DATA_INIT
}

CPageNewDept::~CPageNewDept()
{
}

void CPageNewDept::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CPageNewDept)
	DDX_Control(pDX, IDC_COMBO_MAN, m_cmbMan);
	DDX_Text(pDX, IDC_EDIT_DEPTDES, m_strDeptDes);
	DDX_Text(pDX, IDC_EDIT_DEPTNAME, m_strDeptName);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CPageNewDept, CDialog)
	//{{AFX_MSG_MAP(CPageNewDept)
	ON_CBN_DROPDOWN(IDC_COMBO_MAN, OnDropdownComboMan)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CPageNewDept message handlers

void CPageNewDept::OnDropdownComboMan() 
{
	// TODO: Add your control notification handler code here
	CString strQuery = "SELECT [EmployeeID],[Name] FROM [tblEmployee]";
	long nEmployeeID;
	CString strName;

	CADODatabase *pDb = new CADODatabase;
	try
	{
		if(pDb->Open())
		{
			CADORecordset *pRs = new CADORecordset(pDb);
			if(pRs->Open(strQuery, CADORecordset::openQuery))
			{
				m_cmbMan.ResetContent();
				int cur = 0;
				while(!pRs->IsEOF())
				{
					pRs->GetFieldValue("EmployeeID", nEmployeeID);
					pRs->GetFieldValue("Name", strName);
					m_cmbMan.InsertString(cur, strName);
					m_cmbMan.SetItemData(cur, nEmployeeID);

					cur++;
					pRs->MoveNext();
				}
				pRs->Close();
			}
			delete pRs;
			pDb->Close();
		}
		delete pDb;
	}
	catch(CADOException)
	{
	}	
}

void CPageNewDept::OnOK() 
{
	// TODO: Add extra validation here
	UpdateData(TRUE);
	CString strDeptName;
	long nEmpID;
	bool isExist = false;
	//以下做验证
	m_strDeptName.TrimRight();
	if(m_strDeptName.GetLength() == 0)
	{
		AfxMessageBox("请输入部门名!");
		return;
	}
	int nItem = m_cmbMan.GetCurSel();
	if(nItem == -1)
	{
		AfxMessageBox("请选择一个部门经理!");
		return;
	}
	nEmpID = m_cmbMan.GetItemData(nItem);

	CADODatabase *pDb = new CADODatabase;
	try
	{
		if(pDb->Open())
		{
			CADORecordset *pRs = new CADORecordset(pDb);
			if(pRs->Open("tblDepartment", CADORecordset::openTable))
			{
				while(!pRs->IsEOF())
				{
					pRs->GetFieldValue("DeptName", strDeptName);
					strDeptName.TrimRight();
					if(strDeptName == m_strDeptName)
					{
						isExist = true;
						AfxMessageBox("同名部门已存在!");
						break;
					}
					//Shit,怎么又忘了这一句
					pRs->MoveNext();
				}
				if(!isExist)
				{
					pRs->AddNew();
					pRs->SetFieldValue("DeptName", m_strDeptName);
					pRs->SetFieldValue("Description", m_strDeptDes);
					pRs->SetFieldValue("ManagerID", nEmpID);
					//更新
					pRs->Update();
				}
				pRs->Close();
			}
			delete pRs;
			pDb->Close();
		}
		delete pDb;
	}
	catch(CADOException)
	{
	}
	
	CDialog::OnOK();
}

⌨️ 快捷键说明

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