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

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

?? page1.cpp

?? c++編寫DOS下實(shí)現(xiàn)的學(xué)生考勤系統(tǒng)
?? CPP
字號:
// Page1.cpp : implementation file
//

#include "stdafx.h"
#include "XieyuyingDB.h"
#include "Page1.h"
#include "DepartRS.h"
#include "PersonRS.h"
#include "CounterRS.h"
#include "AttDlg.h"

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

extern CDatabase db;
/////////////////////////////////////////////////////////////////////////////
// CPage1 property page

IMPLEMENT_DYNCREATE(CPage1, CPropertyPage)

CPage1::CPage1() : CPropertyPage(CPage1::IDD)
{
	// 得到當(dāng)前時間并格式化
	CTime t=CTime::GetCurrentTime();
	CString str=t.Format("%Y-%m-%d %H:%M");
	//{{AFX_DATA_INIT(CPage1)
	m_strIOTime = str;
	m_strDepartID = _T("");
	m_strDepartName = _T("");
	m_strPersonID = _T("");
	m_strPersonName = _T("");
	//}}AFX_DATA_INIT
}

CPage1::~CPage1()
{
}

void CPage1::DoDataExchange(CDataExchange* pDX)
{
	CPropertyPage::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CPage1)
	DDX_Control(pDX, IDC_LIST1, m_cList);
	DDX_Control(pDX, IDC_PROGRESS1, m_cProgress);
	DDX_Text(pDX, IDC_EDT_IOTIME, m_strIOTime);
	DDX_Text(pDX, IDC_EDT_DEPARTID, m_strDepartID);
	DDX_Text(pDX, IDC_EDT_DEPARTNAME, m_strDepartName);
	DDX_Text(pDX, IDC_EDT_PERSONID, m_strPersonID);
	DDX_Text(pDX, IDC_EDT_PERSONNAME, m_strPersonName);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CPage1, CPropertyPage)
	//{{AFX_MSG_MAP(CPage1)
	ON_EN_CHANGE(IDC_EDT_DEPARTID, OnChangeEdtDepartid)
	ON_EN_CHANGE(IDC_EDT_PERSONID, OnChangeEdtPersonid)
	ON_BN_CLICKED(IDC_BTN_ADDPERSON, OnBtnAddperson)
	ON_BN_CLICKED(IDC_BTN_ADDDEPART, OnBtnAdddepart)
	ON_BN_CLICKED(IDC_BTN_ADDALL, OnBtnAddall)
	ON_BN_CLICKED(IDC_BTN_DELETEATTEND, OnBtnDeleteattend)
	ON_BN_CLICKED(IDC_BTN_SEEKIO, OnBtnSeekio)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CPage1 message handlers

BOOL CPage1::OnInitDialog() 
{
	CPropertyPage::OnInitDialog();
	
	// 出入情況缺省為出
	((CButton*)GetDlgItem(IDC_RADIO_OUT))->SetCheck(TRUE);
	// 為List添加網(wǎng)格
	m_cList.SetExtendedStyle(LVS_EX_GRIDLINES);
	// 設(shè)置List的列
	int nWidth=110;
	m_cList.InsertColumn(0, "記錄編號", LVCFMT_LEFT, nWidth);
	m_cList.InsertColumn(1, "員工號", LVCFMT_LEFT, nWidth);
	m_cList.InsertColumn(2, "出入情況", LVCFMT_LEFT, nWidth);
	m_cList.InsertColumn(3, "時間", LVCFMT_LEFT, nWidth);
	m_cList.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_INFOTIP);
	CXieyuyingDBRS rs(&db); // 構(gòu)造出勤記錄表
	UpdateList(rs); // 更新List
	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CPage1::OnChangeEdtDepartid() 
{
	UpdateData(); // 更新數(shù)據(jù)

	CDepartRS rs(&db); // 構(gòu)造記錄集
	rs.m_strFilter = "ID='" + m_strDepartID + "'"; // 設(shè)置過濾條件
	rs.Open(); // 打開記錄集
	if(rs.GetRecordCount()==1) // 判斷部門代碼輸入是否正確
	{
		m_strDepartName=rs.m_NAME; // 提取部門名稱
	}
	else m_strDepartName.Empty(); // 清除部門名稱
	rs.Close(); // 關(guān)閉記錄集
	UpdateData(FALSE); // 更新界面數(shù)據(jù)
}

void CPage1::OnChangeEdtPersonid() 
{
	UpdateData(); // 更新數(shù)據(jù)

	CPersonRS rs(&db); // 構(gòu)造PERSON記錄表
	rs.m_strFilter = "ID='" + m_strPersonID + "'"; // 設(shè)置過濾條件
	rs.Open(); // 打開記錄表
	if(rs.GetRecordCount()==1) // 判斷員工號是否正確
	{
		m_strPersonName=rs.m_NAME; // 提取員工姓名
		m_strDepartID=rs.m_DEPARTMENT; // 提取員工所在部門編號
	}
	else m_strPersonName.Empty(); // 清除員工姓名顯示
	rs.Close(); // 關(guān)閉記錄表
	UpdateData(FALSE); // 更新界面數(shù)據(jù)
	OnChangeEdtDepartid(); // 顯示部門名稱
}

// 添加出勤記錄函數(shù)
void CPage1::IO_Add(CString strPersonID)
{
	int counter; // 用于計數(shù)
	CString strIO; // 保存出入情況
	CCounterRS rs_counter(&db); // 構(gòu)造計數(shù)器記錄表
// 記錄編號
	rs_counter.m_strFilter = "ID='A'"; // 設(shè)置過濾器,提取計數(shù)值
	rs_counter.Open(); // 打開計數(shù)器記錄表
	counter=rs_counter.m_COUNTER_VALUE; // 提取計數(shù)值
	counter++; // 計數(shù)值加1
	rs_counter.Edit(); // 編輯計數(shù)器
	rs_counter.m_COUNTER_VALUE=counter; // 保存當(dāng)前計數(shù)
	rs_counter.Update(); // 提交修改
	rs_counter.Close(); // 關(guān)閉計數(shù)器記錄表
// 添加記錄
	// 判斷確定出入情況
	if(((CButton*)GetDlgItem(IDC_RADIO_OUT))->GetCheck())
		strIO="OUT";
	else strIO="IN";
	// 轉(zhuǎn)換出入時間類型
	int nYear,nMonth,nDay,nHour,nMinute; // 年,月,日,時,分
	sscanf(m_strIOTime.Left(4), "%d", &nYear); // 得到年
	sscanf(m_strIOTime.Mid(5,2), "%d", &nMonth); // 得到月
	sscanf(m_strIOTime.Mid(8,2), "%d", &nDay); // 得到日
	sscanf(m_strIOTime.Mid(11,2), "%d", &nHour); // 得到時
	sscanf(m_strIOTime.Mid(14,2), "%d", &nMinute); // 得到分
	// 得到出入時間
	CTime IO_time(nYear,nMonth,nDay,nHour,nMinute,0);
	CXieyuyingDBRS rs_XieyuyingDB(&db); // 構(gòu)造考勤記錄表
	rs_XieyuyingDB.Open(); // 打開考勤記錄表
	rs_XieyuyingDB.AddNew(); // 追加考勤記錄
	rs_XieyuyingDB.m_ID=counter;
	rs_XieyuyingDB.m_PERSON=strPersonID;
	rs_XieyuyingDB.m_IN_OUT=strIO;
	rs_XieyuyingDB.m_IO_TIME=IO_time;
	rs_XieyuyingDB.Update();
	rs_XieyuyingDB.Close(); // 關(guān)閉考勤記錄表
	UpdateList(rs_XieyuyingDB); // 更新列表框
}

void CPage1::OnBtnAddperson() // 追加單個員工考勤記錄
{
	if(!m_strPersonName.IsEmpty()) // 判斷員工是否存在
	{
		IO_Add(m_strPersonID); // 追加單個員工記錄
	}
}

void CPage1::OnBtnAdddepart() // 追加部門員工考勤記錄
{
	int i,n; // 用于保存記錄條數(shù)
	CPersonRS rs_person(&db); // 構(gòu)造員工信息表

	if(m_strDepartName.IsEmpty()) return; // 判斷部門代號是否正確
	// 設(shè)置過濾條件
	rs_person.m_strFilter="DEPARTMENT='"+m_strDepartID+"' and STATE='T'";
	rs_person.Open(); // 打開員工信息表
	n=rs_person.GetRecordCount(); // 獲取員工人數(shù)
	i=0; // 初始化已添加記錄條數(shù)
	// 初始化進(jìn)度條
	m_cProgress.SetRange(0, n);
	m_cProgress.SetPos(0);
	while(!rs_person.IsEOF()) // 對數(shù)據(jù)表中所有記錄進(jìn)行處理
	{
		IO_Add(rs_person.m_ID); // 添加當(dāng)前員工出勤記錄
		rs_person.MoveNext(); // 跳到下一個員工記錄
		m_cProgress.SetPos(++i); // 顯示進(jìn)度
	}
	rs_person.Close(); // 關(guān)閉員工信息表
}

void CPage1::OnBtnAddall() // 添加所有員工出勤記錄
{
	int i,n; // 用于保存記錄條數(shù)
	CPersonRS rs_person(&db); // 構(gòu)造員工信息表

	// 設(shè)置過濾條件,提取員工列表
	rs_person.m_strFilter = "STATE='T'";
	rs_person.Open(); // 打開員工信息表
	n=rs_person.GetRecordCount(); // 獲取員工人數(shù)
	i=0; // 初始化已添加記錄條數(shù)
	// 初始化進(jìn)度條
	m_cProgress.SetRange(0, n);
	m_cProgress.SetPos(0);
	while(!rs_person.IsEOF()) // 對數(shù)據(jù)表中所有記錄進(jìn)行處理
	{
		IO_Add(rs_person.m_ID); // 添加當(dāng)前員工出勤記錄
		rs_person.MoveNext(); // 跳到下一個員工記錄
		m_cProgress.SetPos(++i); // 顯示進(jìn)度
	}
	rs_person.Close(); // 關(guān)閉員工信息表
}

void CPage1::UpdateList(CXieyuyingDBRS& rs) // 更新列表框內(nèi)容
{
	int i=0;
	CString strID,strTime;
	rs.Open(); // 打開出勤記錄表
	m_cList.DeleteAllItems(); // 清除列表框內(nèi)容
	while(!rs.IsEOF()) // 對數(shù)據(jù)表中所有記錄進(jìn)行處理
	{
		m_cList.InsertItem(i, ""); // 添加新Item
		strID.Format("%d", rs.m_ID); // 轉(zhuǎn)換為字符串
		m_cList.SetItemText(i, 0, strID);
		m_cList.SetItemText(i, 1, rs.m_PERSON);
		m_cList.SetItemText(i, 2, rs.m_IN_OUT);
		m_cList.SetItemText(i, 3, rs.m_IO_TIME.Format("%Y-%m-%d %H:%M"));
		rs.MoveNext(); // 跳到下一條記錄
		i++;
	}
	rs.Close(); // 關(guān)閉出勤記錄表
}

void CPage1::OnBtnDeleteattend() // 刪除出勤記錄列表中所選記錄
{
	CString strSQL;
	int nItem;
	// 得到第一個被選擇Item的位置
	POSITION pos = m_cList.GetFirstSelectedItemPosition();
	if(pos==NULL)
	{
		AfxMessageBox("沒有選擇記錄!");
		return;
	}
	while(pos) // 遍歷所有被選Item
	{
		nItem=m_cList.GetNextSelectedItem(pos); // 得到Item Index
		// 構(gòu)造SQL語句
		strSQL="delete from XieyuyingDB where ID="
			+ m_cList.GetItemText(nItem, 0);
		db.ExecuteSQL(strSQL); // 執(zhí)行
	}
	CXieyuyingDBRS rs(&db); // 構(gòu)造出勤記錄表
	UpdateList(rs); // 更新列表框
}

void CPage1::OnBtnSeekio() 
{
	CXieyuyingDBRS rs(&db); // 構(gòu)造出勤記錄表

	CAttDlg *pDlg; // 指向包含本對象的CAttDlg的指針
	CString strFilter; // 用于保存過濾字符串
	CString strSTime,strETime; // 起始,結(jié)束時間

	pDlg=(CAttDlg*)GetParent()->GetParent(); // 得到指針
	pDlg->UpdateData(); // 更新數(shù)據(jù)

	strSTime=pDlg->m_StartTime.Format("%Y-%m-%d");
	strETime=pDlg->m_EndTime.Format("%Y-%m-%d");

	if(pDlg->m_bSeekbyperson) // 判斷是否根據(jù)員工號檢索
		strFilter="PERSON='" + pDlg->m_strPersonID + "'"; // 添加過濾條件
	if(pDlg->m_bSeekbytime) // 判斷是否有時間范圍
	{
		if(strFilter.GetLength()>0) // 判斷是否已有過濾條件
			strFilter += " and "; //如果是,需要添加and連接符
		strFilter += "IO_TIME>'" + strSTime + "'"; // 添加開始時間過濾
		strFilter += " and IO_TIME<'" + strETime + "'"; // 添加結(jié)束時間過濾
	}
	if(strFilter.GetLength()>0) // 判斷是否有過濾條件
		rs.m_strFilter=strFilter; // 設(shè)置Filter
	UpdateList(rs); // 更新列表框
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
五月婷婷激情综合| 亚洲高清视频中文字幕| 久久免费电影网| 8x8x8国产精品| 欧美一区永久视频免费观看| 欧美日韩一区二区三区不卡| 欧美三区在线观看| 91精品一区二区三区久久久久久| 7777精品伊人久久久大香线蕉经典版下载 | 国产精品一二三四| 国产一区二区看久久| 久久精品国产一区二区| 毛片基地黄久久久久久天堂| 日本v片在线高清不卡在线观看| 男女男精品视频网| 亚洲欧美一区二区三区极速播放| 不卡高清视频专区| 夫妻av一区二区| 大尺度一区二区| 91一区一区三区| 欧美日韩国产三级| 欧美va在线播放| 国产精品丝袜一区| 夜夜精品视频一区二区| 首页欧美精品中文字幕| 国产一区二区三区综合| hitomi一区二区三区精品| 色久综合一二码| 在线不卡一区二区| 久久久久国产精品麻豆ai换脸| 国产精品久久久久一区| 亚洲一区在线看| 久久国产三级精品| 91热门视频在线观看| 欧美久久高跟鞋激| 久久久不卡网国产精品二区| 中文字幕综合网| 午夜精品久久久久久久久久久| 94-欧美-setu| 欧美丝袜丝nylons| 制服丝袜中文字幕亚洲| 欧美成人女星排名| 亚洲美腿欧美偷拍| 婷婷开心激情综合| aaa亚洲精品| 欧美国产日本视频| 亚洲欧美中日韩| 久久99精品国产麻豆不卡| 成人app网站| 欧美精品在线视频| 国产人久久人人人人爽| 亚洲第一福利视频在线| 国产传媒日韩欧美成人| 精品视频1区2区3区| 国产视频一区二区三区在线观看| 一区二区三区鲁丝不卡| 国产一区二区三区日韩| 欧美日韩一区二区在线观看 | 欧美国产激情二区三区| 午夜视频一区在线观看| 粉嫩av一区二区三区在线播放| 欧美日韩视频在线观看一区二区三区| 久久久久久99久久久精品网站| 亚洲大尺度视频在线观看| 成熟亚洲日本毛茸茸凸凹| 欧美电影在线免费观看| 国产精品的网站| 国产在线一区二区| 91麻豆精品国产无毒不卡在线观看| 国产精品激情偷乱一区二区∴| 麻豆一区二区三区| 欧美色老头old∨ideo| 中文字幕一区免费在线观看| 激情文学综合网| 这里只有精品电影| 一区二区三区欧美视频| 美国精品在线观看| 欧美精品国产精品| 欧美一区二区三区爱爱| 亚洲精品ww久久久久久p站| 国产精品99久久久久久似苏梦涵| 91麻豆精品国产91久久久资源速度 | 国产mv日韩mv欧美| 精品美女在线观看| 亚洲午夜免费视频| 色网站国产精品| 国产精品超碰97尤物18| 成人免费av在线| 国产清纯白嫩初高生在线观看91 | 日本一区中文字幕| 欧美日韩综合一区| 欧美大尺度电影在线| 成人综合婷婷国产精品久久免费| 国产日韩亚洲欧美综合| 国产成人av电影在线| 亚洲欧美成aⅴ人在线观看 | 国产成人午夜精品5599| 欧美高清在线一区二区| 91女人视频在线观看| 天天综合色天天综合| 高清国产一区二区三区| 91久久线看在观草草青青| 中文字幕一区二区三区在线不卡| 成人ar影院免费观看视频| 国产精品国模大尺度视频| 成人h版在线观看| 国产精品国产成人国产三级 | 国产成人在线观看| 久久久久久免费毛片精品| 国产精品自在欧美一区| 欧美国产激情一区二区三区蜜月| 成人免费视频网站在线观看| 亚洲色图第一区| 在线免费观看不卡av| 亚洲国产一区二区视频| 555夜色666亚洲国产免| 另类小说综合欧美亚洲| 久久精品视频在线看| 成人三级在线视频| 亚洲一区二区欧美| 欧美一区二区三区日韩| 国产精品一区二区男女羞羞无遮挡| 久久久久久久久99精品| av电影天堂一区二区在线| 亚洲国产视频直播| 日韩免费电影一区| 风间由美一区二区av101 | 97aⅴ精品视频一二三区| 亚洲一二三区不卡| 日韩欧美卡一卡二| 国产成人一区在线| 一区二区三区高清在线| 91小视频在线免费看| 日韩女优av电影| 日韩一区二区三区观看| 国产成人精品一区二区三区四区| 国产精品国产三级国产有无不卡| 欧洲在线/亚洲| 久久99国产精品久久| 中文字幕亚洲一区二区av在线 | 国产精品理伦片| 欧美日韩国产欧美日美国产精品| 黑人精品欧美一区二区蜜桃| 中文字幕一区二区在线播放| 91精品在线麻豆| 成人自拍视频在线观看| 亚洲国产成人91porn| 久久久久成人黄色影片| 欧美视频一区二区三区| 国产美女主播视频一区| 夜夜精品视频一区二区| 欧美一级在线视频| 国产人妖乱国产精品人妖| 亚洲国产裸拍裸体视频在线观看乱了 | 精品久久久久久综合日本欧美| 欧美一区二区在线不卡| 日韩欧美一级片| 亚洲国产成人午夜在线一区| 婷婷夜色潮精品综合在线| 国产一区二区三区高清播放| 国产成人av一区二区三区在线观看| 91免费国产在线| 国产精品久久看| 日韩一区二区三区观看| 日本丰满少妇一区二区三区| 国产一区二区调教| 天天av天天翘天天综合网| 国产日韩欧美精品在线| 欧美一区欧美二区| 色综合一个色综合| 国产成人亚洲精品狼色在线| 日韩电影免费一区| 一区二区视频免费在线观看| 久久久久久久久99精品| 日韩欧美国产三级| 欧美精品自拍偷拍| 欧美亚洲国产一区二区三区va | 色婷婷久久久综合中文字幕| 国产乱妇无码大片在线观看| 麻豆精品一区二区av白丝在线 | 在线观看视频91| 成人自拍视频在线| 国产精品91xxx| 久久精品国产99久久6| 日韩精品欧美成人高清一区二区| 亚洲免费电影在线| 亚洲丝袜精品丝袜在线| 中文字幕高清不卡| 亚洲国产精品国自产拍av| 久久综合九色综合欧美就去吻 | 久久精品国产久精国产爱| 三级欧美在线一区| 五月婷婷激情综合网| 亚洲成人免费影院| 看片的网站亚洲| 一区二区三区在线免费观看| 亚洲中国最大av网站| 国产亚洲视频系列| 久久精品在线免费观看| 欧美精品一区二区久久婷婷|