【正文】
置 SELECT 語(yǔ)句 cTime = (%Y%m%d)。 + cTime + 39。 ()。 月考勤統(tǒng)計(jì)表 月考勤統(tǒng)計(jì)表是按月統(tǒng)計(jì)所有員工的出勤天數(shù),請(qǐng)假天數(shù),出差天數(shù)等信息。在表 CheckInfo 中, CheckDate 字段保存考勤日期, LEFT( CheckDate)返回考勤日期的年份和月份信息,使用 COUNT()函數(shù)和 GROUP BY 子句統(tǒng)計(jì)考勤月份和員工分組的各種考勤天數(shù)。 //根據(jù)部門編號(hào)設(shè)置 SELECT 語(yǔ)句 CString cStrCnd,cDepId。 if ( iDepId 0 ) cStrCnd = And = + cDepId。 CString cTime。 ((), cMonth)。 // 得到日期 // 設(shè)置 SELECT 語(yǔ)句 CString cSource = SELECT AS 姓名 , ISNULL(,0) AS 全 勤 天 數(shù) , ISNULL(,0) AS 出差天數(shù) , ISNULL(,0) AS 事假天數(shù) , 第 20 頁(yè) 共 26 頁(yè) ISNULL(,0) AS 事假天數(shù) , ISNULL(,0) AS 曠工天數(shù) , ISNULL(,0) AS 休息天數(shù) , ISNULL(,0) AS 遲到次數(shù) , ISNULL(,0) AS 早退次數(shù) FROM v_QuanQin v1, v_ChuChai v2, v_ShiJia v3, v_BingJia v4,DepInfo d, v_KuangGong v5, v_XiuXi v6, v_ChiDao v7, v_ZaoTui v8, EmpInfo e WHERE *= AND *= And = AND *= AND *= AND *= AND *= AND *= AND *= AND = 39。 AND = 39。 AND = 39。 AND = 39。 AND = 39。 AND = 39。 AND = 39。 AND = 39。 + cStrCnd。 ()。 當(dāng)日考勤人員列表 當(dāng)日考勤人員列表查詢當(dāng)前系統(tǒng)日期中所有缺勤的員工信息,缺勤指病假 ,事假和曠工等情況。 CString cTime。 // 設(shè)置 SELECT 語(yǔ)句 CString cSource = SELECT AS 員工編號(hào) , AS 姓名 , AS 部門 名稱 , AS 聯(lián)系電話 FROM DepInfo d, EmpInfo e WHERE = AND IN (SELECT EmpId FROM CheckInfo WHERE (ShiJia=39。 OR BingJia=39。 OR KuangGong=39。) AND CheckDate = 39。)。 //刷新 ADO Data 控件的記錄源 ()。主 SELECT 語(yǔ)句顯示員工和部門信息,在其查詢條件中使用 IN 子句嵌套另一個(gè) SELECT 語(yǔ)句。 用戶管理模塊 根據(jù)用戶類型的不同,用戶管理模塊的功能也不相同,主要包括 Admin 用戶可以創(chuàng)建其他用戶,修改用戶的密碼,刪除其他用戶,而其他用戶只能修改自身的用戶信息。在用戶管理中只有 Admin用戶才可以進(jìn)行操作,可以添加刪除其他用戶信息 。 // 設(shè)置 Select 語(yǔ)句 CString cSource = SELECT UserName AS 用戶名 , Passwd, (CASE When UserType=1 Then 39。 ELSE 39。 END) AS 用戶類型 , UserType FROM UserInfo。 ()。 //檢查數(shù)據(jù)有效性 if (m_old == ) { MessageBox(請(qǐng)輸入舊密碼 )。 return。 GetDlgItem(IDC_NEW_EDIT)SetFocus()。 } if (m_confirm != m_new) { MessageBox(兩次輸入的新密碼不同 )。 GetDlgItem(IDC_NEW_EDIT)SetFocus()。 } //定義 CUserInfo 對(duì)象,用于從表 UserInfo 中讀取數(shù)據(jù) CUserInfo cur。 //如果讀取的數(shù)據(jù)與用戶輸入數(shù)據(jù)不同,則返回 if ( != m_old) { MessageBox(用戶密碼不正確! )。 GetDlgItem(IDC_OLD_EDIT)SetFocus()。} = m_new。 MessageBox(密碼修改成功,下次登錄請(qǐng)使用新密碼 )。} SELECT 語(yǔ)句中使用了 3 個(gè)表,表 UserInfo,表 DepInfo 和 EmpInfo。 程序?qū)?duì)用戶輸入 的密碼進(jìn)行驗(yàn)證,包括舊密碼是否為空,新密碼是否為空,兩次輸入的新密碼是否相同,舊密碼是否通過密碼驗(yàn)證,通過驗(yàn)證后,程序調(diào)用CUsers:: sql_updatePassword()函數(shù),更新用戶密碼。系統(tǒng)主要分為以下幾個(gè)模塊:基本信息管理模塊 、 考勤管理模塊 、 統(tǒng)計(jì)查詢模塊 、 用戶管理模塊 等 。系統(tǒng)的 基本功能 已經(jīng)實(shí)現(xiàn),可以正常使用,但在數(shù) 據(jù)庫(kù)的合理性、界面的美觀性和搜索功能上存在不 第 24 頁(yè) 共 26 頁(yè) 足,還需改進(jìn)。 在設(shè)計(jì)過程中,通過對(duì)語(yǔ)言的學(xué)習(xí), 我對(duì) Visual C++ 和SQL Server 加深了的印象,能熟練的使用部分控件,并且對(duì) 使 用 ADO 數(shù)據(jù)訪問技術(shù) 也有了 一定 的心得 體會(huì) ,這是一個(gè)收獲的過程。 參考文獻(xiàn) [1] 啟明工作室 .Visual C++ +SQL Server數(shù)據(jù)庫(kù)應(yīng)用實(shí)例 [M].北京:人民郵電出版社 ,2021。 [3] 胡小軍 . Visual C++高級(jí)開發(fā)范例解析 [M].北京:清華大學(xué)出版社, 1998。 [5] Steven Holzner. Visual C++ [M].北京:電子工業(yè)出版社 ,2021。 [7] 張海棠 .Visual C++ [M].北京:航空工業(yè)出版社 ,2021。在此向他表示我最衷心的感謝! 在論文完成過程中,本人還得到了王守兵同學(xué)的熱心幫助,本人向他們表示深深的謝意! 最后向在百忙之中評(píng)審本文的各位專家、老師表示衷心的感謝! 作者簡(jiǎn)介: 姓 名:張倫東 性別: 男 出生年月: 1984 年 1月 民族: 漢 E_mail: 第 26 頁(yè) 共 26 頁(yè) 聲 明 本論文的工作是 2021年 2月至 2021年 6月在成都信息工程學(xué)院網(wǎng)絡(luò)工程系完成的。除非另有說明 ,本文的工作是原始性工作。 ( 2)學(xué)校可以采用影印、縮印或其他復(fù)制方式保存學(xué)位論文。 ( 4)學(xué)??稍试S學(xué)位論文被查閱或借閱。 除非另有科研合同和其他法律文書的制約,本論文的科研成果屬于成都信息工程學(xué)院。t wait. And the air currents were fabulous. I had a little red sail plane I used to go sky surfing in, every couple of days. It was the good life. I played drums till all hours in a basement spot up the river where the walls sweated almost as much as the customers and the smoke used to wash around the lights like streams of milk. When I was done playing I39。s about the only thing I wouldn39。m good and I39。t admit even to himself that there were some things other people could do better. If you kept beating him at anything you had to be cheating. He started a nasty argument over it one nightcould have gotten seriousbut Gerard and Caine broke it up. G ive Caine that. He took my part that time. Poor guy . . . Hell of a way to go, you know? His throat . . . Well, anyhow, there I was in Texorami, making music and women, winning at cards and jockeying around the sky. Palm trees and nightblooming wallflowers. Lots of good port smellsspices, coffee, tar, saltyou know. Gentlefolk, merchants, and peons the same straights as in most other places. Sailors and assorted travelers passing in and out. Guys like me living around the edges of things. I spent a little over two years in Texorami, happy. Really. Not much contact with the others. Sort of postcard like hellos via the Trumps every now and then, and that was about it. Amber was pretty much off my mind. All this changed one night when I was sitting there with a fu ll house and the guy across from me was trying to make up his mind whether or not I was bluffing. The Jack of Diamonds began talking to me. Yes, that is how it started. I was in a weird frame of mind anyway. I had just finished a couple very hot sets and was still kind of high. A lso, I was physically strung out from a long day39。t know. The Jac k said, Random. Then its face blurred and it said, Help me. I began getting a feel of the personality by then, but it was we ak. The whole thing was very weak. T hen the face rearranged itself and I saw that I was right. It was Brand. He looked like hell, and he seemed to be chained or tied to something. Help me, he said again. I39。s the matter? . . . prisoner, he said, and something else that I couldn39。t bring you through, he said. No Trumps, and I am too weak. You will have to e the long way around.... I did not ask him how he was managing it without my Trump. Finding out where he was seemed of first importance. I asked him how I could locate him. Look very closely, he said. Remember every feature. I may only be able to show you once. Come armed, too. . . . Then I saw the landscapeover his shoulder, out a window, over a battlement, I ca