2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩26頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、<p><b>  目錄</b></p><p>  1.課程設(shè)計題目與要求1</p><p>  1.1課程設(shè)計題目1</p><p>  1.2課程設(shè)計要求1</p><p>  1.3課程設(shè)計環(huán)境1</p><p>  2.課程設(shè)計目的1</p><p

2、>  3.課程設(shè)計基礎(chǔ)設(shè)計2</p><p>  3.1總體功能模塊設(shè)計框圖2</p><p>  3.2基礎(chǔ)模塊設(shè)計框圖2</p><p>  3.3數(shù)據(jù)庫的設(shè)計4</p><p>  3.4數(shù)據(jù)源的創(chuàng)建5</p><p>  4在VC++中創(chuàng)建人事信息管理系統(tǒng)6</p><p&

3、gt;  4.1創(chuàng)建人事信息管理系統(tǒng)基本框架6</p><p>  4.2主對話框IDD_MY_FORM中控件的加入與布局9</p><p>  4.3為編輯框控件建立數(shù)據(jù)字段映射9</p><p>  4.4為按鈕添加代碼11</p><p>  5.系統(tǒng)的調(diào)試與分析13</p><p>  5.1各模塊功

4、能的測試13</p><p>  5.2系統(tǒng)的具體分析18</p><p>  5.3程序中可以擴(kuò)充的功能及設(shè)計實(shí)現(xiàn)構(gòu)想。18</p><p>  6.總結(jié)與體會18</p><p>  附錄(程序代碼)19</p><p><b>  參考文獻(xiàn)26</b></p>&l

5、t;p>  1.課程設(shè)計題目與要求</p><p><b>  1.1課程設(shè)計題目</b></p><p>  人事信息管理系統(tǒng)的設(shè)計與實(shí)現(xiàn)</p><p><b>  1.2課程設(shè)計要求</b></p><p>  利用所學(xué)知識,開發(fā)小型應(yīng)用系統(tǒng),使學(xué)生掌握運(yùn)用可視化編程技術(shù)編寫調(diào)試應(yīng)用系統(tǒng)

6、程序,訓(xùn)練學(xué)生獨(dú)立開發(fā)應(yīng)用系統(tǒng)、進(jìn)行數(shù)據(jù)處理的綜合能力,理解工程的概念和頭文件的使用,熟悉封裝、繼承和多態(tài)性等這些面向?qū)ο蟮木幊痰奶攸c(diǎn)。在本系統(tǒng)的設(shè)計中,將主要如下的任務(wù): </p><p> ?。?)完成數(shù)據(jù)庫與數(shù)據(jù)表的設(shè)計;

7、 </p><p> ?。?)完成人事信息管理系統(tǒng)主界面設(shè)計; </p><p>  (3)實(shí)現(xiàn)增加記錄功能; </p><p> ?。?)實(shí)現(xiàn)修改記錄功能;

8、 </p><p> ?。?)實(shí)現(xiàn)刪除記錄功能; </p><p> ?。?)實(shí)現(xiàn)刷新記錄功能等。

9、 </p><p> ?。?)相應(yīng)流程圖的設(shè)計、繪制及程序編寫。</p><p><b>  1.3課程設(shè)計環(huán)境</b></p><p>  Microsoft Access、Visual C++、數(shù)據(jù)源(ODBC)</p

10、><p><b>  2.課程設(shè)計目的</b></p><p>  將理論教學(xué)中涉及到的知識點(diǎn)貫穿起來,對不同的數(shù)據(jù)類型、程序控制結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)作一比較和總結(jié),結(jié)合設(shè)計題目進(jìn)行綜合性應(yīng)用,對所學(xué)知識達(dá)到融會貫通的程度。通過課程設(shè)計,學(xué)生在下述各方面的能力應(yīng)該得到鍛煉:</p><p> ?。?)進(jìn)一步鞏固、加深學(xué)生所學(xué)專業(yè)課程《可視化程序設(shè)計》的基

11、本理論知識,理論聯(lián)系實(shí)際,進(jìn)一步培養(yǎng)學(xué)生綜合分析問題,解決問題的能力。</p><p> ?。?)全面考核學(xué)生所掌握的基本理論知識及其實(shí)際業(yè)務(wù)能力,從而達(dá)到提高學(xué)生素質(zhì)的最終目的。</p><p>  (3)利用所學(xué)知識,開發(fā)小型應(yīng)用系統(tǒng),掌握運(yùn)用VC++語言編寫調(diào)試應(yīng)用系統(tǒng)程序,訓(xùn)練獨(dú)立開發(fā)應(yīng)用系統(tǒng),進(jìn)行數(shù)據(jù)處理的綜合能力。</p><p> ?。?)對于給定的設(shè)

12、計題目,如何進(jìn)行分析,理清思路,并給出相應(yīng)的數(shù)學(xué)模型。 </p><p> ?。?)掌握自頂而下的設(shè)計方法,將大問題進(jìn)行模塊化,領(lǐng)會結(jié)構(gòu)化程序設(shè)計的方法。</p><p>  (6)熟練掌握C++語言的基本語法,靈活運(yùn)用各種數(shù)據(jù)類型。</p><p> ?。?)進(jìn)一步掌握在集成環(huán)境下如何調(diào)試程序(單步調(diào)試,設(shè)置斷點(diǎn)、觀察表達(dá)式,分塊調(diào)試)和修改程序。</p&g

13、t;<p>  3.課程設(shè)計基礎(chǔ)設(shè)計</p><p>  3.1總體功能模塊設(shè)計框圖 </p><p>  3.2基礎(chǔ)模塊設(shè)計框圖</p><p><b> ?。?)基本信息</b></p><p> ?。?)工資信息 (3)出勤考核</p>&

14、lt;p><b> ?。?)其他信息</b></p><p><b>  3.3數(shù)據(jù)庫的設(shè)計</b></p><p><b>  1.設(shè)計步驟</b></p><p>  (1)啟動Microsoft Office 2003中的Microsoft Access應(yīng)用程序,出現(xiàn)一個界面,通過該界面可

15、以創(chuàng)建一個新的數(shù)據(jù)庫。</p><p>  (2)選擇創(chuàng)建新數(shù)據(jù)庫,即選擇“空Access數(shù)據(jù)庫”選項(xiàng)。</p><p> ?。?)單擊“確定”按鈕之后出現(xiàn)保存對話框,確定保存數(shù)據(jù)庫的文件位置并給定數(shù)據(jù)庫名稱:人事信息管理系統(tǒng)。</p><p>  (4)單擊“設(shè)計”菜單,即出現(xiàn)一個數(shù)據(jù)表設(shè)計器,在其中設(shè)計一個新的數(shù)據(jù)表結(jié)構(gòu)。在Microsoft Access 20

16、03數(shù)據(jù)庫設(shè)計器中,定義數(shù)據(jù)表的字段名稱、字段類型、字段大小等數(shù)據(jù)表結(jié)構(gòu)的內(nèi)容。數(shù)據(jù)表結(jié)構(gòu)一經(jīng)確定,打開該數(shù)據(jù)表,在數(shù)據(jù)表中輸入一些基本數(shù)據(jù),以在后面的系統(tǒng)設(shè)計中體現(xiàn)設(shè)計的效果。</p><p><b>  2.設(shè)計器</b></p><p><b>  3.數(shù)據(jù)表</b></p><p><b>  3.4數(shù)據(jù)

17、源的創(chuàng)建</b></p><p>  使用ODBC數(shù)據(jù)源,必須先創(chuàng)建一個數(shù)據(jù)源名并進(jìn)行數(shù)據(jù)源登錄??梢栽贛icrosoft Windows中,利用開放式數(shù)據(jù)源創(chuàng)建與連接的公用程序ODBC進(jìn)行數(shù)據(jù)源名稱的創(chuàng)建與連接。方法如下;</p><p> ?。?)打開電腦中的控制面板、管理工具,找到數(shù)據(jù)源(ODBC)。</p><p>  (2)雙擊數(shù)據(jù)源(ODBC

18、)圖標(biāo),出現(xiàn)“ODBC數(shù)據(jù)源管理器”對話框。</p><p>  (3)在“用戶數(shù)據(jù)源”列表框中選擇名稱為“MS Access Database”的選項(xiàng)。</p><p> ?。?)單擊“添加”按鈕,然后在出現(xiàn)的對話框中選擇使用何種驅(qū)動程序來安裝數(shù)據(jù)源。選擇“Microsoft Access Driver(*.mdb)”,作為安裝數(shù)據(jù)源的驅(qū)動程序。</p><p>

19、  (5)單擊“完成”按鈕,出現(xiàn)數(shù)據(jù)源安裝對話框。作為所創(chuàng)建或安裝的數(shù)據(jù)源,需要一個數(shù)據(jù)源名稱,以便于在應(yīng)用系統(tǒng)制作中加以引用和識別,因此,需要為數(shù)據(jù)源命名,將其命名為“(任意寫)”。然后在對話框中對該數(shù)據(jù)源進(jìn)行描述戶可以填寫如下內(nèi)容:“數(shù)據(jù)庫用于創(chuàng)建人事管理系統(tǒng)”。</p><p> ?。?)單擊“選擇”按鈕,出現(xiàn)數(shù)據(jù)庫選取對話框,選取數(shù)據(jù)庫文件并確認(rèn)之后,單擊“確定”按鈕,回到ODBC數(shù)琚源管理器對話框,結(jié)束

20、數(shù)據(jù)源的安裝過程。此后可以發(fā)現(xiàn),在ODBC數(shù)據(jù)源管理器中出現(xiàn)了“(任意寫)”這樣一個數(shù)據(jù)源,它就是供我們使用的本地機(jī)上的ODBC數(shù)據(jù)源。</p><p>  4在VC++中創(chuàng)建人事信息管理系統(tǒng)</p><p>  4.1創(chuàng)建人事信息管理系統(tǒng)基本框架</p><p>  在VC++應(yīng)用系統(tǒng)創(chuàng)建中,需要通過向?qū)葎?chuàng)建一個應(yīng)用程序框架,然后再加入數(shù)據(jù)控件,與數(shù)據(jù)源進(jìn)行綁定

21、,并進(jìn)行程序的修改與加工制作。創(chuàng)建“人事信息管理系統(tǒng)”應(yīng)用程序框架的步驟如下:</p><p>  (1)啟動VC++,出現(xiàn)VC++主控界面。在VC++主控界面中單擊“文件、新建”菜單項(xiàng),出現(xiàn)新建工程類型選擇對話框,在工程類型列表中選擇MFC AppWizard(exe)工程類型。</p><p>  (2)輸入工程名稱為“人事信息管理系統(tǒng)”,并選擇Win32平臺類型。單擊“確定”按鈕,進(jìn)

22、入文檔類型設(shè)置。</p><p>  (3)選擇單文檔類型,即創(chuàng)建一個單文檔界面的應(yīng)用程序,單擊“下一步”按鈕,進(jìn)入框架設(shè)置的第2步,出現(xiàn)下圖所示對話框。在這個對話框中,需要用戶對數(shù)據(jù)庫的類型作一些相關(guān)的選擇。</p><p>  (4)選擇“查看數(shù)據(jù)庫不使用文件支持”;這時候數(shù)據(jù)源按鈕處于可用狀態(tài)(或激活狀態(tài));在這一種選擇下,VC++將為應(yīng)用系統(tǒng)引入數(shù)據(jù)環(huán)境,即數(shù)據(jù)源,該數(shù)據(jù)源就是在前

23、面創(chuàng)建的“人事信息管理系統(tǒng)”,不使用其他類型數(shù)據(jù)的文件支持。</p><p>  (5)單擊“數(shù)據(jù)源”按鈕,選擇之前添加的數(shù)據(jù)源。</p><p>  (6)單擊OK按鈕,出現(xiàn)數(shù)據(jù)源中的數(shù)據(jù)表,即人事信息管理系統(tǒng)數(shù)據(jù)庫中的數(shù)據(jù)表。選擇“表”,如圖所示。</p><p>  (7)單擊OK按鈕選定該數(shù)據(jù)表。然后返回到圖所示對話框,完成數(shù)據(jù)源的創(chuàng)建工作。</p&g

24、t;<p>  (8)在圖所示對話框中單擊“完成”按鈕,即完成應(yīng)用程序框架的生成工作,出現(xiàn)工程框架創(chuàng)建的全部信息,該信息將提示用戶所創(chuàng)建的應(yīng)用程序框架包括的內(nèi)容,如:應(yīng)用系統(tǒng)名稱、界面類型、適合的操作系統(tǒng)、類文檔的創(chuàng)建和系統(tǒng)特色等。確認(rèn)創(chuàng)建信息之后,出現(xiàn)應(yīng)用程序框架界面,如圖所示。</p><p>  4.2主對話框IDD_MY_FORM中控件的加入與布局</p><p> 

25、 在人事信息管理系統(tǒng)中,主對話框主要用于處理人事信息管理的一切內(nèi)容。制作對話框的主要步驟如下:</p><p>  (1)在主對話框IDD_MY_FORM中將提示文本框“TODO:在這個對話框里設(shè)置表格控制?!眲h除。</p><p>  (2)在主對話框IDD_MY_FORM中放入各種需要的控件,如靜態(tài)文本控件、編輯框控件、命令按鈕控件、組框等,其對話框布局如圖所示。</p>

26、<p>  4.3為編輯框控件建立數(shù)據(jù)字段映射</p><p>  在之前我已經(jīng)為工程創(chuàng)建了一個數(shù)據(jù)源,該數(shù)據(jù)源本質(zhì)上就是被主對話框引用的數(shù)據(jù)源。在對話框中,又放入了一些編輯框控件,接下來,將這些編輯框控件與數(shù)據(jù)源進(jìn)行連接和數(shù)據(jù)綁定,為編輯框控件建立數(shù)據(jù)字段映射:</p><p>  (1)選取一個編輯框并單擊鼠標(biāo)右鍵,出現(xiàn)一個快捷菜單。</p><p>

27、;  (2)在快捷菜單中單擊“建立類向?qū)А边x項(xiàng),則出現(xiàn)類向?qū)υ捒颉?lt;/p><p>  (3)切換到Member Variables選項(xiàng)卡,并在Class name列表中選擇CMySet選項(xiàng),如圖所示。</p><p>  (4)單擊Delete Variable按鈕,將默認(rèn)的成員變量名稱全部刪除。</p><p>  (5)然后再單擊Add Variable按鈕

28、,為每一個字段成員增加一個特殊標(biāo)記的變量名稱,新的字段成員變量名如上圖所示。接下來需要為每一個編輯框控件與字段成員建立映射關(guān)系。在放置編輯框時,我特地為它設(shè)置了資源索引導(dǎo)ID,如姓名編輯框控件的索引號為IDC_EDIT_XM,根據(jù)它的索引標(biāo)記就可以建立與數(shù)據(jù)表字段之間變量的映射。</p><p>  (6)在框圖中將類名(Class name)切換為CMyVIew,出現(xiàn)類成員列表,其中就包含了全部的編輯框控件的索

29、引編碼,如圖所示。</p><p>  (7)在圖中選擇“姓名”編輯框控件索引號;單擊Add Variable按鈕,出現(xiàn)下圖所示的增加變量對話框。為編輯框增加內(nèi)存變量,并不需要重新為它創(chuàng)建新的變量,只需從數(shù)據(jù)源的字段變量列表框中選擇數(shù)據(jù)表的成員變量即可,建立編輯框控件與數(shù)據(jù)表字段成員變量之間的一一映射關(guān)系。通過這一關(guān)系,將對話框中的編輯框控件與數(shù)據(jù)源的字段聯(lián)系起來,從而在工程運(yùn)行時用戶可以通過編輯框控件編輯數(shù)據(jù)表

30、的記錄。</p><p>  (8)單擊OK按鈕,即完成建立“姓名”編輯框與“姓名”成員變量之間的映射。以同樣的方法可以建立每一個編輯框控件與其他字段成員變量之間的映射,完成全部映射過程。</p><p>  4.4為按鈕添加代碼</p><p> ?。?)“增加記錄”按鈕代碼</p><p>  { // TODO: Add your co

31、ntrol notification handler code here</p><p>  m_pSet->AddNew();</p><p>  UpdateData(FALSE); </p><p><b>  }</b></p><p> ?。?)“修改記錄”按鈕代碼</p><p&g

32、t;  void CMyView::OnButtonXgjl() </p><p><b>  {</b></p><p>  // TODO: Add your control notification handler code here</p><p>  m_pSet->Edit();</p><p>  U

33、pdateData(TRUE);</p><p>  if(m_pSet->CanUpdate())</p><p>  m_pSet->Update();</p><p><b>  }</b></p><p> ?。?)“刪除記錄”按鈕代碼</p><p>  void CMyVi

34、ew::OnButtonShchjl() </p><p><b>  {</b></p><p>  // TODO: Add your control notification handler code here</p><p>  m_pSet->Delete();</p><p>  m_pSet->

35、MoveNext();</p><p>  if(m_pSet->IsEOF())</p><p>  m_pSet->MoveLast();</p><p>  if(m_pSet->IsBOF())</p><p>  m_pSet->SetFieldNull(NULL);</p><p>

36、  UpdateData(FALSE);</p><p><b>  }</b></p><p> ?。?)“刷新記錄”按鈕代碼</p><p>  void CMyView::OnButtonShxjl() </p><p><b>  {</b></p><p>  //

37、 TODO: Add your control notification handler code here</p><p>  UpdateData();</p><p>  m_pSet->Update();</p><p>  m_pSet->Requery();</p><p>  //m_pSet->CancelU

38、pdate();</p><p><b>  }</b></p><p>  5.系統(tǒng)的調(diào)試與分析</p><p>  5.1各模塊功能的測試</p><p> ?。?)基本信息的顯示,通過“上一記錄”,“下一記錄”分別查詢信息</p><p><b>  下一條</b>&l

39、t;/p><p>  (2)增加記錄的實(shí)現(xiàn)</p><p>  點(diǎn)擊“增加記錄”,填寫相關(guān)信息,點(diǎn)擊“刷新按鈕”,即可,下面以“全1”為例,編號為自動生成。數(shù)據(jù)庫中同時也增加了內(nèi)容</p><p> ?。?)修改記錄的實(shí)現(xiàn)</p><p>  運(yùn)行系統(tǒng)后,點(diǎn)擊“修改按鈕”修改想要修改的內(nèi)容,點(diǎn)擊“刷新”,完成了修改操作,同時,數(shù)據(jù)庫的內(nèi)容也被修改

40、。</p><p>  現(xiàn)在已編號1為例,將姓名“唐三”改為“唐三三”,性別改為女,職位改為總裁。</p><p><b>  數(shù)據(jù)庫</b></p><p><b>  修改后為</b></p><p> ?。?)刪除功能的實(shí)現(xiàn)</p><p>  選中想要刪除人員的相關(guān)信

41、息,點(diǎn)擊刪除按鈕,然后刷新,相關(guān)信息就會被刪除,同時數(shù)據(jù)庫中內(nèi)容也會被刪除。</p><p>  下面以3號“貝貝”為例。</p><p><b>  刪除信息后顯示界面</b></p><p>  數(shù)據(jù)庫中3號已經(jīng)被刪除</p><p>  5.2系統(tǒng)的具體分析</p><p> ?。?)實(shí)際完

42、成的情況說明。 </p><p>  通過程序簡單的實(shí)現(xiàn)了人事系統(tǒng)中信息的瀏覽、增加、刪除和修改等操作。</p><p>  (2)程序的性能分析。</p><p>  程序只能實(shí)現(xiàn)一些簡單的瀏覽、增加、刪除和修改操作,而不能深入的對不同信息進(jìn)行分類管理、查詢,同時也不具有實(shí)用性,只能說是完成了入門功能。</p><p> ?。?)調(diào)試過程中

43、出現(xiàn)的問題及其解決方案。</p><p>  出現(xiàn)問題:為按鈕添加代碼時,總會出現(xiàn)各種各樣的錯誤;無法對數(shù)據(jù)庫進(jìn)行添加;無法插入相關(guān)控件等。</p><p>  解決辦法:通過查找相關(guān)資料,或者是請教老師和同學(xué),找出問題并修改;修改數(shù)據(jù)庫屬性,盡可能使用正版的實(shí)驗(yàn)環(huán)境,避免一些不必要問題的出現(xiàn)。</p><p>  5.3程序中可以擴(kuò)充的功能及設(shè)計實(shí)現(xiàn)構(gòu)想。<

44、/p><p>  程序可以分層設(shè)計,首先進(jìn)入系統(tǒng),出現(xiàn)人事系統(tǒng)的登錄界面,輸入密碼后可以查詢相關(guān)信息。同時登錄可分為普通員工登錄和管理員登錄,普通員工只能查詢自己的相關(guān)信息,管理員可以查看所有人的信息。</p><p>  整個系統(tǒng)通過不同的部門分開進(jìn)行管理,同時每個員工的不同信息也是通過不同的對話框顯示,而不是全部信息同時顯示,界面不夠美觀。</p><p>  整個

45、構(gòu)思就是系統(tǒng)要實(shí)用、美觀、干凈,目前由于知識量和時間的限制,只能實(shí)現(xiàn)簡單的一些功能,希望自己在課余時間通過自學(xué),能夠完成自己的構(gòu)想。</p><p><b>  6.總結(jié)與體會</b></p><p>  經(jīng)過將近幾周的課程設(shè)計,簡單的人事信息管理系統(tǒng)基本完成了,課設(shè)要求的功能基本實(shí)現(xiàn),測試運(yùn)行也幾乎正常,基本上完成了對人事信息的增加、刪除、修改、顯示和瀏覽功能。在課

46、程設(shè)計的這段時間,主要學(xué)習(xí)和了解了與本次課程設(shè)計相關(guān)的理論知識,包括:VC++的設(shè)置與開發(fā),MFC下的軟件開發(fā)過程,ODBC數(shù)據(jù)源和Access等。</p><p>  在查閱部分資料了解系統(tǒng)所需要實(shí)現(xiàn)的功能后,按照老師所給的課程設(shè)計任務(wù)書,開始了自己的課程設(shè)計。由于自己動手經(jīng)驗(yàn)不足和對開發(fā)工具的陌生,最主要的是,對知識還不是熟練地掌握,遇到了很多大大小小的問題,例如如何利用Visual C++與數(shù)據(jù)庫產(chǎn)生映射關(guān)

47、系,如何編寫相關(guān)程序代碼等。所以我制作的人事信息管理系統(tǒng)是一個很簡單的用戶系統(tǒng)。在每一次克服困難的過程中,我覺得自己得到了極大的鍛煉,獲得了許多寶貴的軟件開發(fā)經(jīng)驗(yàn)和技巧,我相信這將為我今后的學(xué)習(xí)工作打下堅(jiān)實(shí)的基礎(chǔ)。而這對我來說也是一次豐富的收獲。這次課程設(shè)計的時間并不長,但使我對很多東西有了更深刻的認(rèn)識。首先是查閱資料和閱讀相關(guān)文獻(xiàn)的重要性。其次是向同學(xué)和老師請教學(xué)習(xí)的重要性,互相團(tuán)結(jié)協(xié)作的重要性。</p><p&g

48、t;  還有就是自己動手的重要性。同時也更加清楚,對待任何事情都要有耐心和恒心,遇到問題要冷靜地思考,積極找出癥結(jié)所在,逐個解決。通過本次課程設(shè)計,我更深刻的認(rèn)識到了教學(xué)實(shí)踐在大學(xué)課程中的重要性,同時也發(fā)覺到了自己在學(xué)習(xí)方面存在的不足之處,在以后的學(xué)習(xí)中我會努力改進(jìn)這些不足,不斷提高自己的動手實(shí)踐能力。</p><p>  最后,要感謝學(xué)校為我們提供課程設(shè)計機(jī)會,也要感謝老師的教導(dǎo)和同學(xué)們對我的幫助與支持。<

49、;/p><p><b>  附錄(程序代碼)</b></p><p>  // 人事信息管理系統(tǒng)View.cpp : implementation of the CMyView class</p><p><b>  //</b></p><p>  #include "stdafx.h&qu

50、ot;</p><p>  #include "人事信息管理系統(tǒng).h"</p><p>  #include "人事信息管理系統(tǒng)Set.h"</p><p>  #include "人事信息管理系統(tǒng)Doc.h"</p><p>  #include "人事信息管理系統(tǒng)Vie

51、w.h"</p><p>  #ifdef _DEBUG</p><p>  #define new DEBUG_NEW</p><p>  #undef THIS_FILE</p><p>  static char THIS_FILE[] = __FILE__;</p><p><b>  #e

52、ndif</b></p><p>  /////////////////////////////////////////////////////////////////////////////</p><p>  // CMyView</p><p>  IMPLEMENT_DYNCREATE(CMyView, CRecordView)</p>

53、;<p>  BEGIN_MESSAGE_MAP(CMyView, CRecordView)</p><p>  //{{AFX_MSG_MAP(CMyView)</p><p>  ON_BN_CLICKED(IDC_BUTTON_ZJJL, OnButtonZjjl)</p><p>  ON_BN_CLICKED(IDC_BUTTON_SHXJL

54、, OnButtonShxjl)</p><p>  ON_BN_CLICKED(IDC_BUTTON_SHCHJL, OnButtonShchjl)</p><p>  ON_BN_CLICKED(IDC_BUTTON_XGJL, OnButtonXgjl)</p><p>  ON_BN_CLICKED(IDC_BUTTON_CXJL, OnButtonCxjl

55、)</p><p>  //}}AFX_MSG_MAP</p><p>  // Standard printing commands</p><p>  ON_COMMAND(ID_FILE_PRINT, CRecordView::OnFilePrint)</p><p>  ON_COMMAND(ID_FILE_PRINT_DIRECT,

56、 CRecordView::OnFilePrint)</p><p>  ON_COMMAND(ID_FILE_PRINT_PREVIEW, CRecordView::OnFilePrintPreview)</p><p>  END_MESSAGE_MAP()</p><p>  //////////////////////////////////////////

57、///////////////////////////////////</p><p>  // CMyView construction/destruction</p><p>  CMyView::CMyView()</p><p>  : CRecordView(CMyView::IDD)</p><p><b>  {<

58、;/b></p><p>  //{{AFX_DATA_INIT(CMyView)</p><p>  m_pSet = NULL;</p><p>  //}}AFX_DATA_INIT</p><p>  // TODO: add construction code here</p><p><b>

59、;  }</b></p><p>  CMyView::~CMyView()</p><p><b>  {</b></p><p><b>  }</b></p><p>  void CMyView::DoDataExchange(CDataExchange* pDX)</p&

60、gt;<p><b>  {</b></p><p>  CRecordView::DoDataExchange(pDX);</p><p>  //{{AFX_DATA_MAP(CMyView)</p><p>  DDX_FieldText(pDX, IDC_EDIT_XM, m_pSet->m_XM, m_pSet);

61、</p><p>  DDX_FieldText(pDX, IDC_EDIT_XB, m_pSet->m_XB, m_pSet);</p><p>  DDX_FieldText(pDX, IDC_EDIT_BH, m_pSet->m_BH, m_pSet);</p><p>  DDX_FieldText(pDX, IDC_EDIT_BM, m_pSe

62、t->m_BM, m_pSet);</p><p>  DDX_FieldText(pDX, IDC_EDIT_CSRQ, m_pSet->m_CSRQ, m_pSet);</p><p>  DDX_FieldText(pDX, IDC_EDIT_DH, m_pSet->m_DH, m_pSet);</p><p>  DDX_FieldText

63、(pDX, IDC_EDIT_JBGZ, m_pSet->m_JBGZ, m_pSet);</p><p>  DDX_FieldText(pDX, IDC_EDIT_JTZZ, m_pSet->m_JTZZ, m_pSet);</p><p>  DDX_FieldText(pDX, IDC_EDIT_RZSJ, m_pSet->m_RZSJ, m_pSet);<

64、/p><p>  DDX_FieldText(pDX, IDC_EDIT_XL, m_pSet->m_XL, m_pSet);</p><p>  DDX_FieldText(pDX, IDC_EDIT_ZW, m_pSet->m_ZW, m_pSet);</p><p>  DDX_FieldText(pDX, IDC_EDIT1_ZZGZ, m_pSet

65、->m_ZZGZ, m_pSet);</p><p>  DDX_FieldText(pDX, IDC_EDIT1_QQJ, m_pSet->m_QQJJ, m_pSet);</p><p>  DDX_FieldText(pDX, IDC_EDIT1_QQKK, m_pSet->m_QQKK, m_pSet);</p><p>  DDX_Fie

66、ldText(pDX, IDC_EDIT1_QQSJ, m_pSet->m_QQSJ, m_pSet);</p><p>  DDX_FieldText(pDX, IDC_EDIT1_QQYY, m_pSet->m_QQYY, m_pSet);</p><p>  DDX_FieldText(pDX, IDC_EDIT_XXSJ, m_pSet->m_XXSJ, m_pS

67、et);</p><p>  DDX_FieldText(pDX, IDC_EDIT1_SJCQ, m_pSet->m_SJCQ, m_pSet);</p><p>  DDX_FieldText(pDX, IDC_EDIT1_BZ, m_pSet->m_BZ, m_pSet);</p><p>  //}}AFX_DATA_MAP</p>

68、<p><b>  }</b></p><p>  BOOL CMyView::PreCreateWindow(CREATESTRUCT& cs)</p><p><b>  {</b></p><p>  // TODO: Modify the Window class or styles here

69、by modifying</p><p>  // the CREATESTRUCT cs</p><p>  return CRecordView::PreCreateWindow(cs);</p><p><b>  }</b></p><p>  void CMyView::OnInitialUpdate()&l

70、t;/p><p><b>  {</b></p><p>  m_pSet = &GetDocument()->m_mySet;</p><p>  CRecordView::OnInitialUpdate();</p><p>  GetParentFrame()->RecalcLayout();<

71、;/p><p>  ResizeParentToFit();</p><p><b>  }</b></p><p>  /////////////////////////////////////////////////////////////////////////////</p><p>  // CMyView pri

72、nting</p><p>  BOOL CMyView::OnPreparePrinting(CPrintInfo* pInfo)</p><p><b>  {</b></p><p>  // default preparation</p><p>  return DoPreparePrinting(pInfo)

73、;</p><p><b>  }</b></p><p>  void CMyView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)</p><p><b>  {</b></p><p>  // TODO: add extra in

74、itialization before printing</p><p><b>  }</b></p><p>  void CMyView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)</p><p><b>  {</b></p><p&g

75、t;  // TODO: add cleanup after printing</p><p><b>  }</b></p><p>  /////////////////////////////////////////////////////////////////////////////</p><p>  // CMyView diag

76、nostics</p><p>  #ifdef _DEBUG</p><p>  void CMyView::AssertValid() const</p><p><b>  {</b></p><p>  CRecordView::AssertValid();</p><p><b&g

77、t;  }</b></p><p>  void CMyView::Dump(CDumpContext& dc) const</p><p><b>  {</b></p><p>  CRecordView::Dump(dc);</p><p><b>  }</b></

78、p><p>  CMyDoc* CMyView::GetDocument() // non-debug version is inline</p><p><b>  {</b></p><p>  ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CMyDoc)));</p><p&g

79、t;  return (CMyDoc*)m_pDocument;</p><p><b>  }</b></p><p>  #endif //_DEBUG</p><p>  /////////////////////////////////////////////////////////////////////////////</p&

80、gt;<p>  // CMyView database support</p><p>  CRecordset* CMyView::OnGetRecordset()</p><p><b>  {</b></p><p>  return m_pSet;</p><p><b>  }<

81、/b></p><p>  /////////////////////////////////////////////////////////////////////////////</p><p>  // CMyView message handlers</p><p>  void CMyView::OnButtonZjjl() </p>

82、<p>  { // TODO: Add your control notification handler code here</p><p>  m_pSet->AddNew();</p><p>  UpdateData(FALSE);</p><p><b>  }</b></p><p>  v

83、oid CMyView::OnButtonShchjl() </p><p><b>  {</b></p><p>  // TODO: Add your control notification handler code here</p><p>  m_pSet->Delete();</p><p>  m_

84、pSet->MoveNext();</p><p>  if(m_pSet->IsEOF())</p><p>  m_pSet->MoveLast();</p><p>  if(m_pSet->IsBOF())</p><p>  m_pSet->SetFieldNull(NULL);</p>

85、<p>  UpdateData(FALSE);</p><p><b>  }</b></p><p>  void CMyView::OnButtonXgjl() </p><p><b>  {</b></p><p>  // TODO: Add your control noti

86、fication handler code here</p><p>  m_pSet->Edit();</p><p>  UpdateData(TRUE);</p><p>  if(m_pSet->CanUpdate())</p><p>  m_pSet->Update();</p><p>

87、<b>  }</b></p><p>  void CMyView::OnButtonShxjl() </p><p><b>  {</b></p><p>  // TODO: Add your control notification handler code here</p><p>  

88、//m_pSet->Edit();</p><p>  UpdateData();</p><p>  m_pSet->Update();</p><p>  m_pSet->Requery();</p><p>  //m_pSet->CancelUpdate();</p><p><b

89、>  }</b></p><p><b>  參考文獻(xiàn)</b></p><p>  [1]黃維通 賈續(xù)涵《Visual C++面向?qū)ο笈c可視化程序設(shè)計(第三版)》 清華大學(xué)出版社 2011.6</p><p>  [2]伍俊良 《Visual C++課程設(shè)計與系統(tǒng)開發(fā)案例》 清華大學(xué)出版

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論