畢業(yè)設(shè)計(論文)-基于c的私營企業(yè)信息管理系統(tǒng)_第1頁
畢業(yè)設(shè)計(論文)-基于c的私營企業(yè)信息管理系統(tǒng)_第2頁
畢業(yè)設(shè)計(論文)-基于c的私營企業(yè)信息管理系統(tǒng)_第3頁
畢業(yè)設(shè)計(論文)-基于c的私營企業(yè)信息管理系統(tǒng)_第4頁
畢業(yè)設(shè)計(論文)-基于c的私營企業(yè)信息管理系統(tǒng)_第5頁
已閱讀5頁,還剩51頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、山 東 工 商 學(xué) 院SHANDONG INSTITUTE OF BUSINESS AND TECHNOLOGY畢業(yè)論文(設(shè)計)GRADUATIONTHESIS(DESIGN)論文(設(shè)計)題目Title Of Thesis(Design) 分院(系別)Department 專業(yè)Speciality 班級Class 論文(設(shè)計)作者Author of Thesis(Design) 論文完成日期Date 論文(設(shè)計)指導(dǎo)教師Advisor 指導(dǎo)教師職稱The Title of Advisor 私營企業(yè)信息管理系統(tǒng)Private Enterprise Information Management S

2、ystem 山東工商學(xué)院 指導(dǎo)教師對畢業(yè)論文(設(shè)計)的評語Advisors Comments on Graduation Thesis (Design)評語: 指導(dǎo)教師(簽章)Signature of Advisor 日期 Date 評閱人意見評閱人姓名:職稱:選項標(biāo)準(zhǔn): A很同意 B同意 C基本同意 D不同意分項評價評價項目ABCD選題質(zhì)量1選題符合專業(yè)培養(yǎng)目標(biāo),體現(xiàn)綜合訓(xùn)練基本要求2題目難易適度3題目工作量適當(dāng)4有理論意義或?qū)嶋H價值能力水平5查閱文獻(xiàn)資料能力強6綜合運用知識能力強7研究方案的設(shè)計能力強8研究方法和手段的運用能力強9外文應(yīng)用能力強成果質(zhì)量10文題相符11寫作水平高12寫作規(guī)范

3、13篇幅適度14成果有理論或?qū)嶋H價值總體評價: 優(yōu) 良 中 及格 不及格 評閱人評語 評閱人簽字: 年 月 日答辯(評審)委員會意見Appraisal of Defence Commission答辯(評審)成績Mark of Defence鑒定意見Appraisal & Comments 主任(簽章) Signature of Dean 日期Date誠 信 聲 明誠信是中華民族的傳統(tǒng)美德,誠信是做人立世的道德根本。作為一名當(dāng)代大學(xué)生,我即將踏向社會去創(chuàng)立我未來的事業(yè)。古人云:“民無信不立”。在競爭激烈的社會中,我將恪守誠信的生存理念。畢業(yè)論文是對我大學(xué)四年學(xué)習(xí)的總結(jié)和檢閱,在畢業(yè)論文的

4、選題、寫作和定稿過程中,我認(rèn)真對待每一個環(huán)節(jié),在導(dǎo)師的悉心指導(dǎo)下,由我獨立完成,沒有抄襲他人之作或由他人代寫等不誠信的行為。其中參閱了大量書籍、報刊和網(wǎng)上資料,但這些資料都經(jīng)過本人認(rèn)真整理,在理解的基礎(chǔ)上參考使用,并在文中說明,在文后一一列出,我對他們的辛苦勞動表示尊重和感謝。 母校希望自己的每一個學(xué)生都是誠實守信的,我作為一個畢業(yè)生,對母校也將是真誠無偽的。如果發(fā)現(xiàn)我的畢業(yè)論文有抄襲、代筆等不誠信行為,我將接受學(xué)校對我的處罰,推遲畢業(yè),重新寫作。 我聲明:我是誠實的,我將無愧于我的畢業(yè)文憑,無愧于母校多年的培養(yǎng)! 聲明人: 2012年4月19日 私營企業(yè)信息管理系統(tǒng)摘 要 私營企業(yè)信息管理系

5、統(tǒng)是一個私營企事業(yè)單位不可缺少的部分,他的內(nèi)容對于經(jīng)營者和管理者來說都至關(guān)重要。本文介紹了私營企業(yè)信息管理系統(tǒng)的開發(fā)整個過程,闡述了系統(tǒng)背景分析、系統(tǒng)詳細(xì)設(shè)計、數(shù)據(jù)庫部分設(shè)計和系統(tǒng)功能展示的全過程。在開發(fā)方法上本系統(tǒng)利用了軟件工程化的思想和方法,具體模塊實施采用了原型法和面向?qū)ο笙到y(tǒng)開發(fā)方法。并采用VC+6.0作為開發(fā)工具,Access 2003作為后臺數(shù)據(jù)庫。本系統(tǒng)具有供應(yīng)商信息管理,顧客信息管理,商品信息管理,進貨信息管理,銷售信息管理等模塊,課分別完成日常供應(yīng)商檔案,顧客檔案,商品信息的添加,修改,刪除,查詢等功能。本人在此次畢業(yè)設(shè)計中主要對“供應(yīng)商信息管理”,“顧客信息管理”,“商品信

6、息管理”,“進貨信息管理”,“銷售信息管理”五個模塊進行了具體設(shè)計。關(guān)鍵詞 私營企業(yè)信息系統(tǒng)管理、原型法、面向?qū)ο?。The private enterprise information management systemAbstract Private Enterprise Information Management System is a private enterprise or business the unit essential part.It's content to operators and managers all very important. This pape

7、r introduces the Private Enterprise Information Management System's entire process of development , expounds the system background analysis, system design, database design and the show of the system function's whole process . In the development of this system, by using the method of software

8、 engineering idea and method, and the concrete implementation of the prototype model the module and object-oriented method for system development. And using VC + + 6.0 as a development tool, Access 2003 as the backend database. This system has the supplier information management, customer informatio

9、n management, commodity information management, purchase information management, sales information management module, can complete daily respectively supplier file, the customer files, commodity information to add, edit, and delete, inquires the etc. Function. In the graduation design the author in

10、mainly to the "supplier information management", "customer information management", "commodity information management", "purchase information management", "sales information management" five modules do the specific design.Key words Private Enterprise

11、 Information System Management, Object Oriented.目 錄引言1第一章 系統(tǒng)開發(fā)平臺及環(huán)境簡介21.1 C/C+語言21.2 Visual v+ 6.021.3 MFC21.4 Access20033第二章 系統(tǒng)需求分析42.1 系統(tǒng)性能需求42.2 系統(tǒng)可行性分析4第三章 系統(tǒng)總體設(shè)計53.1 系統(tǒng)開發(fā)的總體任務(wù)53.2 系統(tǒng)功能描述53.3 功能模塊劃分6第四章 數(shù)據(jù)庫設(shè)計74.1 數(shù)據(jù)庫需求分析74.2 數(shù)據(jù)庫E-R圖74.3 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計9第五章 系統(tǒng)詳細(xì)設(shè)計及處理技術(shù)125.1 系統(tǒng)主窗體的創(chuàng)建125.2 創(chuàng)建公用模塊145.3 登錄

12、模塊創(chuàng)建185.4 供應(yīng)商信息管理模塊設(shè)計215.5 進貨信息管理模塊305.6 系統(tǒng)的界面34第六章 系統(tǒng)功能展示356.1 登陸模塊356.2 添加用戶模塊366.3 修改密碼366.4 添加顧客信息376.5 修改/刪除顧客信息386.6 添加進貨信息396.7 添加銷售信息41總 結(jié)43致 謝44參考文獻(xiàn)45引言 該項目開發(fā)的軟件為私營企業(yè)信息管理系統(tǒng)軟件,是鑒于目前私營企業(yè)數(shù)目不斷劇增,各種相關(guān)信息呈暴增的前提下,私營業(yè)主對各類信息的自動化與準(zhǔn)確化的要求日益強烈的背景下構(gòu)思出來的,該軟件設(shè)計完成后可用于所有的私營企業(yè)單位的各類信息的管理。 目前社會上信息管理系統(tǒng)發(fā)展飛快,個個企事業(yè)單

13、位都引入了信息管理軟件來管理自己日益增長的各種信息,私企管理系統(tǒng)也有了很大的發(fā)展,商業(yè)化的各類信息管理軟件業(yè)不少,但本系統(tǒng)完全獨立開發(fā),力求使系統(tǒng)功能簡介明了,功能齊全且易于操作。 私企信息管理系統(tǒng)是一個私營企業(yè)單位不可或缺的部分。一個功能齊全簡單易用的信息管理系統(tǒng)不但能有效的減輕私營業(yè)主和相關(guān)人員的工作負(fù)擔(dān),它的內(nèi)容對于私營業(yè)主和相關(guān)管理人員來說都至關(guān)重要。所以私企信息管理系統(tǒng)應(yīng)該能夠為用戶提供充足的信息和快捷的查詢手段。但一直以來個人使用人工的方式管理文件檔案、統(tǒng)計和查詢數(shù)據(jù),這種管理方式存在許多的缺點,如:效率低下、保密性差,人工的大量浪費;另外時間一長,將會產(chǎn)生大量的文件和數(shù)據(jù),者對于

14、查找、更新和維護都帶來了不少的困難。隨著科學(xué)技術(shù)的不斷提高,計算機科學(xué)日漸成熟,其強大的功能已為人們深刻認(rèn)識,它已進入人類社會的各個領(lǐng)域并發(fā)揮著越來越重要的作用。 作為計算機應(yīng)用的一部分,使用計算機對私企的各類信息進行管理,具有手工管理所無法比擬的優(yōu)點。例如:檢索迅速、查詢方便、效率高、可靠性好、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高私企的信息管理效率,也是一個單位科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。第一章 系統(tǒng)開發(fā)平臺及環(huán)境簡介1.1 C/C+語言 C/C+語言并非起源于Microsoft公司,在Windows 3.0出現(xiàn)之前,最好的C/C+編程工具是Borlan

15、d公司的Turbo C/C+系列。隨著Windows3.0,Microsoft推出了Microsoft C/C+ 7.0,首次采用了MFC(Microsoft Foundation Class Library,微軟基礎(chǔ)類庫)。正是由于MFC的出現(xiàn),讓C+程序員的工作變得更加高效,也使得今天的Visual Studio 2010得以成為優(yōu)秀的主流編程工具。 Visual C+6.0由Microsoft開發(fā), 它不僅是一個C+ 編譯器,而且是一個基于Windows操作系統(tǒng)的可視化集成開發(fā)環(huán)境(integrated development environment,IDE)。Visual C+6.0由

16、許多組件組成,包括編輯器、調(diào)試器以及程序向?qū)ppWizard、類向?qū)lass Wizard等開發(fā)工具。 這些組件通過一個名為Developer Studio的組件集成為和諧的開發(fā)環(huán)境。Microsoft的主力軟件產(chǎn)品。Visual C+是一個功能強大的可視化軟件開發(fā)工具。自1993年Microsoft公司推出Visual C+1.0后,隨著其新版本的不斷問世,Visual C+已成為專業(yè)程序員進行軟件開發(fā)的首選工具。1.3 MFCMFC,微軟基礎(chǔ)類(Microsoft Foundation Classes),同VCL類似,是一種應(yīng)用程序框架,隨微軟Visual C+ 開發(fā)工具發(fā)布。目前最新

17、版本為10.0(截止2011年3月),并且發(fā)布了中文版。該類庫提供一組通用的可重用的類庫供開發(fā)人員使用。大部分類均從CObject 直接或間接派生,只有少部分類例外。MFC 應(yīng)用程序的總體結(jié)構(gòu)通常由開發(fā)人員從MFC類派生的幾個類和一個CWinApp類對象(應(yīng)用程序?qū)ο螅┙M成。MFC 提供了MFC AppWizard 自動生成框架。Windows 應(yīng)用程序中,MFC 的主包含文件為"Afxwin.h"。此外MFC的部分類為MFC/ATL 通用,可以在Win32 應(yīng)用程序中單獨包含并使用這些類。由于它的易用性,初學(xué)者常選用MFC。1.4 Access2003 Access 是微

18、軟公司推出的基于Windows的桌面關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS,即Relational Database Management System),是Office系列應(yīng)用軟件之一。它提供了表、查詢、窗體、報表、頁、宏、模塊7種用來建立數(shù)據(jù)庫系統(tǒng)的對象;提供了多種向?qū)?、生成器、模板,把?shù)據(jù)存儲、數(shù)據(jù)查詢、界面設(shè)計、報表生成等操作規(guī)范化;為建立功能完善的數(shù)據(jù)庫管理系統(tǒng)提供了方便,也使得普通用戶不必編寫代碼,就可以完成大部分?jǐn)?shù)據(jù)管理的任務(wù)。Access能夠存取 Access/Jet、Microsoft SQL Server、Oracle(甲骨文軟件公司),或者任何 ODBC 兼容數(shù)據(jù)庫內(nèi)的資料。熟練

19、的軟件設(shè)計師和資料分析師利用它來開發(fā)應(yīng)用軟件,而一些不熟練的程序員和非程序員的"進階用戶"則能使用它來開發(fā)簡單的應(yīng)用軟件。它支援部分面向?qū)ο螅∣OP)技術(shù)。第二章 系統(tǒng)需求分析2.1 系統(tǒng)性能需求 考慮到許多小型私營業(yè)主接觸的信息量巨大,對復(fù)雜系統(tǒng)的操作具有一定的困難,本系統(tǒng)對易使用性的要求比較高,操作方式盡可能簡單,可在多種操作系系統(tǒng)中運行(如windows、linux操作系統(tǒng)等),具有較強的適應(yīng)能力,將數(shù)據(jù)庫文件存放于軟件包的根目錄下更是對未安裝SQl sever ,database 等大型數(shù)據(jù)庫軟件的操作系統(tǒng)有更低的要求。數(shù)據(jù)庫有很好的更新能力,能隨時響應(yīng)用戶及管理員

20、對數(shù)據(jù)的修改。 2.2 系統(tǒng)可行性分析 系統(tǒng)的軟硬件要求不高,目前市場上所提供的計算機軟硬件資源均能夠滿足系統(tǒng)的開發(fā)需求。 一臺計算機就滿足本系統(tǒng)的運行要求。系統(tǒng)并不十分復(fù)雜,開發(fā)費用不高。由于傳統(tǒng)的私企信息管理方式已經(jīng)是私營業(yè)主頗于勞碌,焦躁且工作效率差,他們對信息管理方式的改變要求迫切。 基于成本低,使用人員的需求迫切,該系統(tǒng)的開發(fā)是必需的。第三章 系統(tǒng)總體設(shè)計3.1 系統(tǒng)開發(fā)的總體任務(wù) 系統(tǒng)開發(fā)的總體任務(wù)是實現(xiàn)各種信息的系統(tǒng)化、規(guī)范化和自動化。3.2 系統(tǒng)功能描述 系統(tǒng)開發(fā)的總體任務(wù)是實現(xiàn)各種信息的系統(tǒng)化、規(guī)范化和自動化。系統(tǒng)的主要功能是在總體任務(wù)的基礎(chǔ)上完成的l 供應(yīng)商信息的輸入,包括

21、供應(yīng)商編號、公司名稱、聯(lián)系人姓名、公司地址、所在城市、所在地區(qū)、郵政編碼、 號碼、 號碼、公司主頁和備注信息等。l 供應(yīng)商信息的修改、查詢,包括供應(yīng)商編號、公司名稱、聯(lián)系人姓名、公司地址、所在城市、所在地區(qū)、郵政編碼、 號碼、 號碼、公司主頁和備注信息等。l 顧客信息的輸入,包括顧客編號、公司名稱、聯(lián)系人姓名、公司地址、所在城市、所在地區(qū)、郵政編碼、 號碼、 號碼、公司主頁和備注信息等。l 顧客信息的查詢、修改,包括顧客編號、公司名稱、聯(lián)系人姓名、公司地址、所在城市、所在地區(qū)、郵政編碼、 號碼、 號碼、公司主頁和備注信息等。l 商品信息的輸入,包括商品編號、商品名稱、商品規(guī)格、計量單位和備注信

22、息等。l 商品信息的查詢、修改,包括商品編號、商品名稱、商品規(guī)格、計量單位和備注信息等。l 進貨信息的輸入,包括進貨信息編號、供應(yīng)商編號、供應(yīng)商編號、供應(yīng)商名稱、商品編號、商品名稱、商品規(guī)格、計量單位、商品數(shù)量、商品單價、進貨日期和備注信息等。l 進貨信息的修改和查詢,包括進貨信息編號、供應(yīng)商編號、供應(yīng)商編號、供應(yīng)商名稱、商品編號、商品名稱、商品規(guī)格、計量單位、商品數(shù)量、商品單價、進貨日期和備注信息等。l 銷售信息的輸入,包括擴銷售信息編號、顧客編號、顧客名稱、商品編號、商品名稱、商品規(guī)格、計量單位、商品數(shù)量、商品單價、進貨日期、折扣和備注信息等。l 銷售信息的修改和查詢,包括銷售信息編號、顧

23、客編號、顧客名稱、商品編號、商品名稱、商品規(guī)格、計量單位、商品數(shù)量、商品單價、進貨日期、折扣和備注信息等。3.3 功能模塊劃分對上述功能進行集中分塊得到如下商品信息查詢銷售信息添加銷售信息修改進貨信息查詢銷售信息查詢用戶添加用戶密碼修改進貨信息修改進貨信息添加商品信息修改商品信息添加顧客信息查詢顧客信息修改顧客信息添加供應(yīng)商信息查詢供應(yīng)商信息修改供應(yīng)商信息添加私營企業(yè)信息管理系統(tǒng)用戶設(shè)置供應(yīng)商信息管理顧客信息管理商品信息管理進貨信息管理銷售信息管理第四章 數(shù)據(jù)庫設(shè)計 數(shù)據(jù)庫在此信息系統(tǒng)中占有非常重要的地位,數(shù)據(jù)庫結(jié)構(gòu)設(shè)計的好壞直接影響到系統(tǒng)的效率及實現(xiàn)效果。合理的數(shù)據(jù)庫結(jié)構(gòu)設(shè)計可以提高數(shù)據(jù)庫存

24、儲效率,保證數(shù)據(jù)庫的完整性和一致性。設(shè)計數(shù)據(jù)庫系統(tǒng)時,首先應(yīng)該充分了解用戶在各個方面的需求,包括現(xiàn)有的以及可能會添加的需求。4.1 數(shù)據(jù)庫需求分析 系統(tǒng)用戶的需求具體體現(xiàn)在各種信息的提供、保存、更新以及查詢。這就要求數(shù)據(jù)庫結(jié)構(gòu)夠充分的滿足各種信息的輸入和輸出。針對一般的私營企業(yè)信息系統(tǒng)需求,通過對貿(mào)易公司管理工作過程的內(nèi)容和數(shù)據(jù)流程分析,設(shè)計一下數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu):l 供應(yīng)商信息:供應(yīng)商編號、公司名稱、聯(lián)系人姓名、公司地址、所在城市、所在地區(qū)、郵政編碼、 號碼、 號、公司主頁、和備注信息等。l 顧客信息:顧客編號、公司名稱、聯(lián)系人姓名、公司地址、所在城市、所在地區(qū)、郵政編碼、 號碼、 號、公司主

25、頁、和備注信息等。l 商品信息:商品編號、商品名稱、商品規(guī)格、計量單位和備注信息等。l 進貨信息:進貨信息編號、供應(yīng)商編號、供應(yīng)商名稱、商品編號、商品名稱、商品規(guī)格、計量單位、商品數(shù)量、商品單價、進貨日期、備注信息等。l 銷售信息:銷售信息編號、顧客編號、顧客名稱、商品編號、商品名稱、商品規(guī)格、計量單位、商品數(shù)量、商品單價、進貨日期、折扣和備注信息等。4.2 數(shù)據(jù)庫E-R圖供應(yīng)商實體E-R圖:顧客實體E-R圖:商品實體E-R圖:進貨信息實體E-R圖:銷售信息實體E-R圖:實體之間關(guān)系E-R圖:4.3 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計 現(xiàn)在將上述的數(shù)據(jù)庫就夠轉(zhuǎn)化為Access 2003數(shù)據(jù)庫系統(tǒng)所支持的實際數(shù)

26、據(jù)模型,也就是數(shù)據(jù)庫邏輯結(jié)構(gòu)。 私營企業(yè)信息管理系統(tǒng)數(shù)據(jù)庫中各個表格設(shè)計如下供應(yīng)商信息表(suppliers):商品信息表(products):進貨信息表(sstock)銷售信息表(orders)用戶信息表(user_Info)第五章 系統(tǒng)詳細(xì)設(shè)計及處理技術(shù)5.1 系統(tǒng)主窗體的創(chuàng)建本系統(tǒng)是在VC+ MFC基礎(chǔ)類庫的基礎(chǔ)上添寫代碼開發(fā)而來的,所以本節(jié)對主窗體的創(chuàng)建中解釋一下基本開發(fā)步驟。進入VC+6.0新建MFC AppWizard(exe)選擇單文檔,便已經(jīng)有了一個基本的框架窗口而系統(tǒng)開發(fā)便是在這個框架窗口的基礎(chǔ)上進行的??蚣艽翱谏系牟藛味际窃诳梢暬牟藛涡Ч绿砑拥?。效果圖如下用戶設(shè)置供應(yīng)商

27、信息管理顧客信息管理商品信息管理進貨信息管理銷售信息管理添加完成之后系統(tǒng)框架窗口的菜單便添加完畢代碼由VC+后臺自動生成,簡單易操作。5.2 創(chuàng)建公用模塊為了提供代碼的可重復(fù)使用性以及易維護性,方便對數(shù)據(jù)庫的訪問、修改等,把針對數(shù)據(jù)庫的公共操作集中在一起,放到一個函數(shù)中,在CACMSAPP中添加變量如下int m_iLoginCount;_RecordsetPtr m_pADOSet;CString m_sCurrentUser;private:_ConnectionPtr ADOConn; 在CACMSAPP中添加成員函數(shù)public:bool ADOExecute(_RecordsetPt

28、r &ADOSet, _variant_t &strSQL);用于處理無記錄集返回的數(shù)據(jù)庫操作,再添加一個外部聲明extern CACMSApp theApp;#import "C:Program FilesCommon FilesSystemadomsado15.dll" no_namespace rename("EOF","EndOfFile") rename("LockTypeEnum","newLockTypeEnum") rename("DataTypeEnu

29、m","newDataTypeEnum") rename("FieldAttributeEnum","newFieldAttributeEnum") rename("EditModeEnum","newEditModeEnum") rename("RecordStatusEnum","newRecordStatusEnum") rename("ParameterDirectionEnum","newParameter

30、DirectionEnum")并且在CACMSAPP類中進行初始化記錄集函數(shù)即實現(xiàn)方法如下:在CACMSAPP類的InitInstance函數(shù)中寫代碼:AfxEnableControlContainer(); /初始化記錄集m_iLoginCount=0;/建立Ado連接if(FAILED(:CoInitialize(NULL)AfxMessageBox("ADO Init failed");return false;tryADOConn.CreateInstance(_uuidof(Connection); ADOConn->Open("Prov

31、ider=Microsoft.Jet.OLEDB.4.0;Data Source=ACMS.mdb",_T(""), _T(""), adModeUnknown);/數(shù)據(jù)庫連接函數(shù)用于打開Access2003數(shù)據(jù)庫/ Catch Exceptionscatch(_com_error &e)CString err;err.Format("%s", (char*)(e.Description() );AfxMessageBox(err);catch(.)AfxMessageBox("Unknown Error.

32、");/ Init ADO RecordSetm_pADOSet.CreateInstance(_uuidof(Recordset);在bool ADOExecute(_RecordsetPtr &ADOSet, _variant_t &strSQL)中寫代碼bool CACMSApp:ADOExecute(_RecordsetPtr &ADOSet, _variant_t &strSQL) if ( ADOSet->State = adStateOpen)ADOSet->Close();try ADOSet->Open(strSQL

33、, ADOConn.GetInterfacePtr(), adOpenStatic, adLockOptimistic, adCmdUnknown); return true;catch(_com_error &e) CString err; err.Format("ADO Error: %s",(char*)e.Description(); AfxMessageBox(err); return false;用于處理無記錄集返回的數(shù)據(jù)庫操作。 最后添加關(guān)閉數(shù)據(jù)庫連接,并釋放指針的函數(shù)ExitInstance()函數(shù)int CACMSApp:ExitInstance(

34、) / TODO: Add your specialized code here and/or call the base class/ Release ADO Connectionif( adStateOpen = ADOConn->State )ADOConn->Close();/關(guān)閉連接ADOConn.Release();/釋放智能指針 / Release ADO RecordSetif(adStateOpen=m_pADOSet->State)m_pADOSet->Close();/關(guān)閉記錄集m_pADOSet.Release();return CWinApp:

35、ExitInstance();這樣就完成了對數(shù)據(jù)庫的基本操作,為下面的工作提供了最基本的功能。 公共視圖上的右鍵功能 用戶單擊右鍵出現(xiàn)的右鍵菜單實現(xiàn)方法在CACMSView類中OnContextMenu函數(shù)中實現(xiàn)。void CACMSView:OnContextMenu(CWnd* pWnd, CPoint point) / TODO: Add your message handler code hereif ( ""=m_sCurrentList ) return;CMenu menu;if ( _T("供應(yīng)商信息列表")=m_sCurrentList

36、 ) menu.LoadMenu(IDR_MENU_PROVIDER);else if ( _T("顧客信息列表")=m_sCurrentList ) menu.LoadMenu(IDR_MENU_CUSTOMER);else if ( _T("商品信息列表")=m_sCurrentList ) menu.LoadMenu(IDR_MENU_PRODUCT);else if ( _T("進貨信息列表")=m_sCurrentList ) menu.LoadMenu(IDR_MENU_STOCK); else if ( _T("

37、;銷售信息列表")=m_sCurrentList ) menu.LoadMenu(IDR_MENU_ORDER);CMenu* pMenu=menu.GetSubMenu(0);pMenu->TrackPopupMenu(TPM_LEFTALIGN|TPM_LEFTBUTTON|TPM_RIGHTBUTTON,point.x,point.y,this);return;這樣用戶在供應(yīng)商信息管理模塊下右擊鼠標(biāo)得出現(xiàn)以下菜單在顧客信息管理模塊下右擊鼠標(biāo)得出現(xiàn)以下菜單在商品信息管理模塊下右擊鼠標(biāo)得出現(xiàn)以下菜單在進貨信息管理模塊下右擊鼠標(biāo)得出現(xiàn)以下菜單在銷售信息管理模塊下右擊鼠標(biāo)得出現(xiàn)以

38、下菜單5.3 登錄模塊創(chuàng)建用戶登錄模塊在程序一開始出現(xiàn),用戶名和密碼匹配則登入系統(tǒng),否則提示更改,取消則退出系統(tǒng)。實現(xiàn)方法,在CACMSAPP類InitInstance()函數(shù)中初始化登錄對話框CLoginDLG dlg;if ( IDOK!=dlg.DoModal() ) return false;對話框輸入的用戶名和密碼與庫存匹配的實現(xiàn)代碼在CLoginDLG中進行編寫void CLoginDLG:OnOK() / TODO: Add extra validation here/ Check UserName VadilatyUpdateData(true);m_sUSER.TrimRig

39、ht(" ");if ( ""=m_sUSER )AfxMessageBox(_T("請?zhí)顚懹脩裘?quot;), MB_ICONEXCLAMATION); return;_variant_t Holder, strQuery; strQuery = "select user_ID, user_PWD from user_Info where user_ID='"+m_sUSER+"'"theApp.ADOExecute(theApp.m_pADOSet, strQuery);int iC

40、ount = theApp.m_pADOSet->GetRecordCount();if ( 0=iCount ) theApp.m_iLoginCount+;if ( theApp.m_iLoginCount>2 ) AfxMessageBox("沒有這個用戶n三次輸入均不正確,請核對后再來", MB_ICONEXCLAMATION);CDialog:OnCancel(); return;AfxMessageBox("沒有這個用戶,請重新輸入用戶名", MB_ICONEXCLAMATION); return;CString sPWD;the

41、App.m_pADOSet->MoveFirst();Holder = theApp.m_pADOSet->GetCollect("user_PWD");sPWD = Holder.vt=VT_NULL?"":(char*)(_bstr_t)Holder;if ( 0!=sPWD pare(m_sPWD) )theApp.m_iLoginCount+;if ( theApp.m_iLoginCount>2 ) AfxMessageBox("輸入密碼不正確n三次輸入均不正確,請核對后再來", MB_ICONEXCLAM

42、ATION);CDialog:OnCancel(); return;AfxMessageBox("輸入密碼不正確,請重新輸入", MB_ICONEXCLAMATION); return;/ Get Login UsertheApp.m_sCurrentUser = m_sUSER;CDialog:OnOK();以實現(xiàn)登錄功能。5.4 供應(yīng)商信息管理模塊設(shè)計供應(yīng)商信息管理模塊主要實現(xiàn)功能:l 添加供應(yīng)商信息l 修改供應(yīng)商信息l 刪除供應(yīng)商信息l 查詢供應(yīng)商信息v 添加供應(yīng)商信息對話框的創(chuàng)建,當(dāng)用戶選擇“供應(yīng)商信息管理|添加供應(yīng)商信息”菜單時出現(xiàn)對話框在VC+6.0 resou

43、rce view 中添加對話框ID號為IDD_PROVIDER_DLG標(biāo)題名供應(yīng)商信息,添加控件如圖所示并對齊控件使外觀好看,多個文本框用來輸入信息;按鈕確認(rèn)添加和返回;多個標(biāo)簽提示??丶傩匀缦卤砜丶傩訧DLabel1公司名稱IDC_STATICLabel2聯(lián)系人姓名IDC_STATICLabel3 IDC_STATICLabel4城市名稱IDC_STATICLabel5地區(qū)名稱IDC_STATICLabel6郵政編碼IDC_STATICLabel7聯(lián)系 IDC_STATICLabel8 號IDC_STATICLabel9公司主頁IDC_STATICEdit Box1IDD_PROVIDE

44、R_COMPANYEdit Box2IDD_PROVIDER_PERSONEdit Box3IDD_PROVIDER_ADDDRESSEdit Box4IDD_PROVIDER_CITYEdit Box5IDD_PROVIDER_AREAEdit Box6IDD_PROVIDER_POSRCODEEdit Box7IDD_PROVIDER_PHONEEdit Box8IDD_PROVIDER_FAXEdit Box9IDD_PROVIDER_HOMEPAGEEdit Box10IDD_PROVIDER_MEMOButton1保存IDOKButton2返回IDCONCEL關(guān)于保存按鈕的實現(xiàn)函數(shù)在

45、CProviderDLG ONOK()中實現(xiàn)_variant_t strQuery;if ( m_bAppend | m_sCompany!=m_sOldCompany )/ Judge Provider is unique strQuery = "select * from suppliers where CompanyName='"+m_sCompany+"'" theApp.ADOExecute(theApp.m_pADOSet, strQuery); int iCount = theApp.m_pADOSet->GetRec

46、ordCount(); if ( 0!=iCount ) AfxMessageBox(_T("已經(jīng)存在此公司記錄!"), MB_ICONEXCLAMATION); return;用以上函數(shù)判斷庫存信息中是否已經(jīng)存在此公司記錄if ( !m_bAppend ) / Not Append, delete old record firststrQuery = "delete from suppliers where CompanyName='"+m_sOldCompany+"'" theApp.ADOExecute(theA

47、pp.m_pADOSet, strQuery);strQuery = "insert into suppliers (CompanyName, ContactName, Adress, City, Region, PostalCode, Phone,Fax, HomePage, SupplierMemo) values ('"+m_sCompany+"', '"+m_sPerson+"', '"+m_sAddress+"', '"+m_sCity+"

48、', '"+m_sArea+"', '"+m_sPostCode+"', '"+m_sPhone+"', '"+m_sFax+"', '"+m_sHomePage+"', '"+m_sMemo+"')"if ( theApp.ADOExecute(theApp.m_pADOSet, strQuery) ) if (m_bAppend) AfxMessageBox(

49、_T("添加供應(yīng)商信息成功!"), MB_ICONINFORMATION); / Clear all input m_sCompany=m_sPerson=m_sAddress=m_sCity=m_sArea=m_sPostCode=m_sPhone=m_sFax=m_sHomePage=m_sMemo="" UpdateData(false);else AfxMessageBox(_T("修改供應(yīng)商信息成功!"), MB_ICONINFORMATION);else if (m_bAppend) AfxMessageBox(_T(&q

50、uot;添加供應(yīng)商信息失??!"), MB_ICONEXCLAMATION);else AfxMessageBox(_T("修改供應(yīng)商信息失??!"), MB_ICONEXCLAMATION);strQuery = "select * from suppliers"CACMSView* p = (CACMSView*)(CMainFrame*)AfxGetMainWnd()->GetActiveView();p->RefreshProvider(strQuery);if (!m_bAppend) CDialog:OnOK();v 修改供

51、應(yīng)商信息當(dāng)用戶選擇“供應(yīng)商信息管理|修改供應(yīng)商信息”時程序窗口中出現(xiàn)如下列表視圖實現(xiàn)此功能函數(shù)具體在CACMSView類中實現(xiàn)函數(shù)如下void CACMSView:CreateProvider(_variant_t strQuery)/ Get Client RectCRect rect;GetClientRect(rect);rect.top += 30;/ Create創(chuàng)建表格控件并將其附加給CListCtrl對象m_ListCtrl.Create(WS_CHILD|WS_VISIBLE|WS_BORDER|LVS_REPORT, rect, this, 1);m_ListCtrl.Set

52、BkColor(RGB(233, 189, 239);/設(shè)置列表背景顏色m_ListCtrl.SetTextColor(RGB(0,0,0);m_ListCtrl.SetTextBkColor(RGB(233, 189, 000);/設(shè)置已有信息列表的背景色m_ListCtrl.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_HEADERDRAGDROP);/置列表視圖控件的當(dāng)前擴展風(fēng)格/ Create Headerm_ListCtrl.InsertColumn(0,_T("公司名稱"), LVCF

53、MT_LEFT, 100);m_ListCtrl.InsertColumn(1,_T("聯(lián)系人姓名"), LVCFMT_LEFT, 100);(. .)添加列表中每一列的名稱/ Get all records_variant_t Holder; theApp.ADOExecute(theApp.m_pADOSet, strQuery); int iCount = theApp.m_pADOSet->GetRecordCount();if ( 0=iCount ) return; CString str;COleDateTime time;theApp.m_pADOSet->MoveFirst();/在記錄集中依次取出數(shù)據(jù)庫中的記錄for(int i=0; i<iCount; i+)/ Get CompanyNameHolder = th

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論