亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? dlgemployee.cpp

?? 一個簡單的公司人員考勤系統(tǒng)的源代碼,我已經(jīng)編譯運行過
?? CPP
字號:
// dlgEmployee.cpp : implementation file
//

#include "stdafx.h"
#include "CheckIn.h"
#include "dlgEmployee.h"

#include "EmployeeRecordset.h"
#include "CheckRecordset.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CdlgEmployee dialog


CdlgEmployee::CdlgEmployee(CWnd* pParent /*=NULL*/)
	: CDialog(CdlgEmployee::IDD, pParent)
{
	//{{AFX_DATA_INIT(CdlgEmployee)
	m_strEmployeeID = _T("");
	m_strEmployeeName = _T("");
	//}}AFX_DATA_INIT
}


void CdlgEmployee::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CdlgEmployee)
	DDX_Control(pDX, IDC_LIST_EMPLOYEE, m_ListBox);
	DDX_Text(pDX, IDC_EDIT_ID, m_strEmployeeID);
	DDX_Text(pDX, IDC_EDIT_NAME, m_strEmployeeName);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CdlgEmployee, CDialog)
	//{{AFX_MSG_MAP(CdlgEmployee)
	ON_BN_CLICKED(IDC_OK, OnCloseDlg)
	ON_BN_CLICKED(IDC_ADD, OnAdd)
	ON_BN_CLICKED(IDC_DELETE, OnDelete)
	ON_BN_CLICKED(IDC_MODIFY, OnModify)
	ON_LBN_SELCHANGE(IDC_LIST_EMPLOYEE, OnSelchangeListEmployee)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CdlgEmployee message handlers

void CdlgEmployee::OnCloseDlg() 
{
	// TODO: Add your control notification handler code here
	CDialog::OnOK();
}
void CdlgEmployee::OnOK() 
{
	// TODO: Add your control notification handler code here
	//CDialog::OnOK();
}
BOOL CdlgEmployee::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	/*把tbEmployee表中的所有員工顯示在對話框的ListBox中*/
	//CListBox *pListBox = (CListBox*)this->GetDlgItem(IDC_LIST_EMPLOYEE);
	if (!UpdateEmpListBox())
	{
		MessageBox("初始化失敗!","提示",MB_ICONINFORMATION|MB_OK);
		return FALSE;
	}
	/*對話框剛顯示時修改和刪除按鈕處于不可點按狀態(tài)*/
	CButton *pDelBtn = (CButton*)this->GetDlgItem(IDC_DELETE);
	CButton *pModifyBtn = (CButton*)this->GetDlgItem(IDC_MODIFY);
	pDelBtn->EnableWindow(false);
	pModifyBtn->EnableWindow(false);
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CdlgEmployee::OnAdd() 
{
	// TODO: Add your control notification handler code here
	CEdit *pEditID = (CEdit*)this->GetDlgItem(IDC_EDIT_ID);
	CEdit *pEditName = (CEdit*)this->GetDlgItem(IDC_EDIT_NAME);
	UpdateData(true);
	/*將記錄加入表之前,首先檢查輸入合法性*/
	/*員工號和員工姓名均不能為空*/
	/*而且員工號不能有重復(fù)*/
	if (m_strEmployeeID == "")		
	{
		MessageBox("必須輸入員工號!","提示",MB_ICONINFORMATION|MB_OK);
		pEditID->SetFocus();
		return;
	}
	if (m_strEmployeeName == "")
	{
		MessageBox("必須輸入員工姓名!","提示",MB_ICONINFORMATION|MB_OK);
		pEditName->SetFocus();
		return;
	}
	
	CEmployeeRecordset rsEmployee;
	if (rsEmployee.IsRepeatEmployeeID(this->m_strEmployeeID))	
	{
		//表中已經(jīng)存在m_strEmployeeID的員工號
		MessageBox("此員工號已經(jīng)存在!","提示",MB_ICONINFORMATION|MB_OK);
	}
	else//表中不存在m_strEmployeeID的員工號,可以增加
	{
		if (rsEmployee.AddEmployee(this->m_strEmployeeID,this->m_strEmployeeName))
		{
			MessageBox("增加成功!","提示",MB_ICONINFORMATION|MB_OK);
			this->UpdateEmpListBox();
		}
		else
			MessageBox("增加失敗!","提示",MB_ICONINFORMATION|MB_OK);
	}
	pEditID->SetWindowText("");
	pEditName->SetWindowText("");
	pEditID->SetFocus();
}

BOOL CdlgEmployee::UpdateEmpListBox()
/*當(dāng)tbEmployee表中的數(shù)據(jù)發(fā)生改變時,包括增加、刪除、修改*/
/*將用于顯示表中數(shù)據(jù)的ListBox中的數(shù)據(jù)進(jìn)行更新操作*/
{	
	this->m_ListBox.ResetContent();	
	CEmployeeRecordset rsEmployee;
	try
	{
		if(!rsEmployee.IsOpen())
			rsEmployee.Open();
	}
	catch(CDBException *e)
	{
		AfxMessageBox(e->m_strError);
		return false;
	}
	long rsCount = rsEmployee.MyGetRecordCount();
	if(rsCount > 0)//表中有記錄,并且把表中記錄加入到對話框的ListBox中
	{
		this->m_ListBox.InsertString(0," 員工號       員工姓名");
		if (!rsEmployee.IsBOF ())
			rsEmployee.MoveFirst();
		int i = 1;
		while(!rsEmployee.IsEOF())
		{
			this->m_ListBox.InsertString(i,rsEmployee.m_EmployeeID+"        "+rsEmployee.m_EmployeeName);
			rsEmployee.MoveNext();
			i++;
		}
		rsEmployee.Close();		
	}
	//this->UpdateData(false);
	return true;
}

void CdlgEmployee::OnDelete() 
{
	// TODO: Add your control notification handler code here
	/*首先要判斷是否選擇了某個員工*/
	int iSel = this->m_ListBox.GetCurSel();
	if (iSel == LB_ERR)
	{
		MessageBox("請選擇要刪除的員工!","提示",MB_ICONINFORMATION|MB_OK);		
	}
	else//選擇了某個員工
	{
		if (MessageBox("真的要刪除這個員工嗎嗎?(Y/N)","提示",MB_YESNO)==IDNO)
			return;
		else//真的要刪除
		{
			CEmployeeRecordset rsEmployee;
			CCheckRecordset rsCheck;
			/*首先從ListBox的選擇項中分離出員工號*/
			CString strTmp;			
			this->m_ListBox.GetText(iSel,strTmp);
			CString SelEmpId;
			CString tmp;
			for(int i=0;;i++)
			{
				tmp = strTmp.Mid(i,1);
				if (tmp == " ")			
					break;
			}
			SelEmpId = strTmp.Mid(0,i);
			/*定位記錄*/
			BOOL bFind = FALSE;
			if (!rsEmployee.IsOpen())
				rsEmployee.Open();
			if(!rsEmployee.IsBOF())
				rsEmployee.MoveFirst();
			while(!rsEmployee.IsEOF())
			{
				if (rsEmployee.m_EmployeeID == SelEmpId )
				{
					bFind = TRUE;
					break;
				}				
				rsEmployee.MoveNext();
			}

			if (bFind)
			{
				//找到選擇的員工記錄,刪除tbEmployee表中數(shù)據(jù)
				//同時,應(yīng)刪除這個員工的出勤記錄,也就是需要刪除
				//這個tbCheckIn表中這個員工的數(shù)據(jù)
				rsEmployee.Delete();
				//刪除這個員工所有考勤記錄
				rsCheck.DeleteEmpCheck(SelEmpId);
				rsEmployee.Close();
				/*刪除了某個員工后,應(yīng)該將ListBox中此條記錄刪除*/
				/*并將兩個Edit清空*/
				this->m_ListBox.DeleteString(iSel);	
				this->m_strEmployeeID = "";
				this->m_strEmployeeName = "";
				this->UpdateData(false);
			}
			else
			{
				MessageBox("找不到符合條件的員工!","提示",MB_ICONINFORMATION|MB_OK);
			}
		}
	}	
}

void CdlgEmployee::OnModify() 
{
	// TODO: Add your control notification handler code here
	/*將選擇的員工進(jìn)行修改,修改后的員工號和員工名就是目前兩個編輯*/
	/*框中的數(shù)據(jù),修改的是tbEmployee表*/
	/*同時,要修改和這個員工相關(guān)的出勤記錄*/
	/*修改成功后,要更新ListBox*/
	CEmployeeRecordset rsEmployee;
	CCheckRecordset rsCheck;

	CEdit *pEmpIdEdit = (CEdit*)this->GetDlgItem(IDC_EDIT_ID);
	CEdit *pEmpNameEdit = (CEdit*)this->GetDlgItem(IDC_EDIT_NAME);
	CString StrEmpId;
	CString StrEmpName;
	pEmpIdEdit->GetWindowText(StrEmpId);
	pEmpNameEdit->GetWindowText(StrEmpName);

	/*首先從ListBox的選擇項中分離出員工號*/
	CString strTmp;			
	int iSel = this->m_ListBox.GetCurSel();
	this->m_ListBox.GetText(iSel,strTmp);
	CString SelEmpId;
	CString tmp;
	for(int i=0;;i++)
	{
		tmp = strTmp.Mid(i,1);
		if (tmp == " ")			
			break;
	}
	SelEmpId = strTmp.Mid(0,i);

	BOOL bFind = FALSE;
	if (!rsEmployee.IsOpen())
		rsEmployee.Open();
	if(!rsEmployee.IsBOF())
		rsEmployee.MoveFirst();
	while(!rsEmployee.IsEOF())
	{
		if (rsEmployee.m_EmployeeID ==  SelEmpId)
		{
			bFind = TRUE;
			break;
		}				
		rsEmployee.MoveNext();
	}
	if(bFind)//定位在這個記錄上
	{
		//修改tbEmployee表
		rsEmployee.Edit();
		rsEmployee.m_EmployeeID = StrEmpId;
		rsEmployee.m_EmployeeName = StrEmpName;
		rsEmployee.Update();
		rsEmployee.Close();
		//更新ListBox
		this->m_ListBox.DeleteString(iSel);	
		this->m_ListBox.InsertString(iSel,StrEmpId+"        "+StrEmpName);
		//this->UpdateEmpListBox();
		if (StrEmpId != SelEmpId)
		{
			//修改這個員工在出勤表tbCheckIn中的員工號
			//將SelEmpId的員工號修改為StrEmpId
			rsCheck.ChageEmpId(SelEmpId,StrEmpId);
		}
	}
	else
	{
		MessageBox("這個員工不在員工表中!","提示",MB_ICONINFORMATION|MB_OK);
	}
}

void CdlgEmployee::OnSelchangeListEmployee() 
{
	// TODO: Add your control notification handler code here
	/*將當(dāng)前選中的ListBox中的員工姓名和員工號分別填入Edit中*/
	int iSel = this->m_ListBox.GetCurSel();
	if (iSel!=0)//選擇的是第一項
	{	
		CButton *pDelBtn = (CButton*)this->GetDlgItem(IDC_DELETE);
		CButton *pModifyBtn = (CButton*)this->GetDlgItem(IDC_MODIFY);
		pDelBtn->EnableWindow(true);
		pModifyBtn->EnableWindow(true);
		/*首先從ListBox的選擇項中分離出員工號*/
		CString strTmp;			
		this->m_ListBox.GetText(iSel,strTmp);
		CString SelEmpId;
		CString SelEmpName;
		CString tmp;
		for(int i=0;;i++)
		{
			tmp = strTmp.Mid(i,1);
			if (tmp == " ")			
				break;
		}
		SelEmpId = strTmp.Mid(0,i);
		/*從ListBox中的選擇項中分離處員工姓名*/		
		for(i=strTmp.GetLength();;i--)
		{
			tmp = strTmp.Mid(i,1);
			if (tmp == " ")			
				break;
		}
		SelEmpName = strTmp.Mid(i+1,strTmp.GetLength()-i);

		this->m_strEmployeeID = SelEmpId;
		this->m_strEmployeeName = SelEmpName;
		this->UpdateData(false);
	}

}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久97超碰色| 欧美区在线观看| 欧美日韩国产成人在线91| 久久亚洲二区三区| 亚洲网友自拍偷拍| 国产高清精品网站| 7777精品久久久大香线蕉| 亚洲三级在线看| 国产精品亚洲专一区二区三区 | caoporn国产精品| 欧美三级中文字幕| 亚洲人被黑人高潮完整版| 国产精品亚洲一区二区三区妖精| 337p亚洲精品色噜噜狠狠| 一区二区三区不卡在线观看| 粉嫩在线一区二区三区视频| 欧美xxxxxxxx| 日本不卡一区二区三区高清视频| 色八戒一区二区三区| 国产精品午夜在线| 国产乱码精品一区二区三区av | 日韩一区二区免费视频| 亚洲一区二区偷拍精品| 91丨porny丨在线| 国产精品伦理一区二区| 国产aⅴ精品一区二区三区色成熟| 日韩视频在线你懂得| 婷婷丁香久久五月婷婷| 欧美日韩国产在线播放网站| 亚洲国产一区二区在线播放| 色狠狠色狠狠综合| 亚洲大片免费看| 欧美无乱码久久久免费午夜一区 | 国产精品家庭影院| 国产成人av电影在线播放| 国产亚洲欧美一区在线观看| 国产一区二区三区观看| 国产亚洲精品资源在线26u| 国产激情一区二区三区桃花岛亚洲| 久久久影视传媒| 成人激情黄色小说| 亚洲天堂av一区| 欧美日韩一区二区三区在线| 婷婷中文字幕综合| 欧美成人精品1314www| 国产最新精品免费| 国产精品天天看| 色视频一区二区| 五月天丁香久久| 亚洲精品一区二区三区香蕉 | 理论电影国产精品| 久久天天做天天爱综合色| 国产成人精品免费一区二区| 国产精品超碰97尤物18| 91久久香蕉国产日韩欧美9色| 亚洲国产精品久久一线不卡| 欧美一区二区三区精品| 国产成人综合自拍| 自拍偷在线精品自拍偷无码专区| 欧美日韩中文字幕精品| 美女高潮久久久| 一区视频在线播放| 884aa四虎影成人精品一区| 九九国产精品视频| 最新久久zyz资源站| 欧美精品在欧美一区二区少妇| 精品一区二区免费视频| 国产精品国产自产拍高清av王其| 欧美视频中文一区二区三区在线观看 | 99r国产精品| 日韩精品电影在线| 中文字幕一区二区三区四区| 欧美精品在欧美一区二区少妇| 国产精品白丝av| 天天做天天摸天天爽国产一区 | 欧美在线啊v一区| 国产伦精品一区二区三区视频青涩| 亚洲欧美日韩国产一区二区三区 | 亚洲乱码国产乱码精品精的特点| 91精品国产福利| 91免费视频观看| 国产一区91精品张津瑜| 亚洲国产精品一区二区久久恐怖片 | 亚洲尤物视频在线| 国产网站一区二区| 欧美va在线播放| 欧美三级韩国三级日本三斤| 成人激情视频网站| 国产一区二区h| 久久国产成人午夜av影院| 亚洲午夜私人影院| 国产精品激情偷乱一区二区∴| www国产精品av| 91精品国产欧美一区二区| 色猫猫国产区一区二在线视频| 丁香一区二区三区| 黄页网站大全一区二区| 偷窥少妇高潮呻吟av久久免费| 一区二区三区美女| 中文字幕综合网| 国产精品久久三区| 国产精品视频一二三| 久久精品人人做人人综合 | 91精品国产福利| 欧美三级电影网站| 在线一区二区三区做爰视频网站| 99久久精品一区| 91视频91自| 色婷婷综合久色| 色婷婷久久一区二区三区麻豆| 不卡av在线免费观看| 成人18视频日本| 97久久精品人人澡人人爽| 9人人澡人人爽人人精品| 国产99久久久精品| 成人福利视频在线看| aaa欧美大片| 色婷婷久久综合| 69av一区二区三区| 欧美一区二区免费观在线| 日韩欧美一区电影| 26uuu亚洲婷婷狠狠天堂| 久久久亚洲精品石原莉奈| 日本一区二区免费在线| 日韩理论在线观看| 一区二区三区在线视频观看| 亚洲国产精品一区二区久久恐怖片| 午夜婷婷国产麻豆精品| 老司机午夜精品| 从欧美一区二区三区| 99re热这里只有精品视频| 欧美在线观看视频一区二区三区| 欧美精品第一页| 精品日韩成人av| 国产精品热久久久久夜色精品三区| 亚洲欧洲日韩av| 亚洲va欧美va人人爽午夜| 久久电影网站中文字幕| 成人性生交大片免费看在线播放| av一二三不卡影片| 欧美色手机在线观看| 精品国产a毛片| 亚洲欧洲国产日韩| 天堂va蜜桃一区二区三区| 国产精品亚洲а∨天堂免在线| 91女神在线视频| 欧美一卡二卡三卡四卡| 亚洲国产激情av| 污片在线观看一区二区| 成人高清免费在线播放| 91精品国产91综合久久蜜臀| 久久精品欧美日韩| 一区二区理论电影在线观看| 蜜桃免费网站一区二区三区| 96av麻豆蜜桃一区二区| 日韩三级免费观看| 国产精品素人一区二区| 美女高潮久久久| 欧美影院午夜播放| 日韩午夜激情视频| 亚洲免费三区一区二区| 国内精品伊人久久久久av影院 | 欧美激情一区二区三区四区| 亚洲一区二区三区国产| 国产成人精品一区二| 精品婷婷伊人一区三区三| 国产午夜三级一区二区三| 亚洲高清免费视频| av一二三不卡影片| 国产日韩一级二级三级| 蜜桃视频一区二区三区| 欧美午夜电影网| 综合欧美一区二区三区| 成人性视频网站| 亚洲精品在线观| 捆绑调教美女网站视频一区| 欧美日韩一级片网站| 国产精品不卡在线| 国产成人免费视| 久久―日本道色综合久久 | 亚洲高清久久久| 99久久久国产精品| 国产精品天美传媒沈樵| 国产乱码精品一区二区三区五月婷| 91精品国产一区二区三区蜜臀| 亚洲五月六月丁香激情| 欧美怡红院视频| 亚洲一区二区在线免费观看视频| 99国产精品99久久久久久| 国产片一区二区| 成人性生交大片免费看中文网站| 国产日产欧美一区二区三区 | 在线观看视频欧美| 成人免费在线视频| 成人性生交大片免费看中文| 久久久激情视频| eeuss国产一区二区三区| 国产精品无人区| 99国产精品99久久久久久| 亚洲精品免费在线观看|