畢業(yè)設(shè)計(jì)---超市管理系統(tǒng)_第1頁
已閱讀1頁,還剩41頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  超市管理系統(tǒng)</b></p><p><b>  前言</b></p><p>  超市管理系統(tǒng)是一個(gè)超市不可缺少的部分,它的內(nèi)容對于超市的決策者和管理者來說都至關(guān)重要,所以超市管理系統(tǒng)應(yīng)該能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂旖莸匿N售,查詢手段。但一直以來人們使用傳統(tǒng)人工的方式管理文件信息,這種管理方式存在著許多缺點(diǎn),如:效

2、率低、保密性差,另外時(shí)間一長,將產(chǎn)生大量的文件和數(shù)據(jù),這對于查找、更新和維護(hù)都帶來了不少的困難。</p><p>  隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識,它已進(jìn)入人類社會的各個(gè)領(lǐng)域并發(fā)揮著越來越重要的作用。</p><p>  作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對品質(zhì)信息進(jìn)行管理,具有著手工管理所無法比擬的優(yōu)點(diǎn).例如:檢索迅速、查找方便、可靠性高、存儲

3、量大、保密性好、壽命長、成本低等。這些優(yōu)點(diǎn)能夠極大地提高超市管理的效率,也是企業(yè)的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。</p><p>  因此,開發(fā)這樣一套管理軟件成為很有必要的事情,在下面的各章中我們將以開發(fā)一套超市管理系統(tǒng)為例,談?wù)勂溟_發(fā)過程和所涉及到的問題及解決方法。</p><p><b>  摘要</b></p><p>  

4、超市管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護(hù)以及前端應(yīng)用程序的開發(fā)兩個(gè)方面。對于前者要求建立起數(shù)據(jù)一致性和完整性強(qiáng)、數(shù)據(jù)安全性好的庫。而對于后者則要求應(yīng)用程序功能完備,易使用等特點(diǎn)。經(jīng)過分析,我們使用 MICROSOFT公司的 VISUAL BASIC開發(fā)工具,利用其提供的各種面向?qū)ο蟮拈_發(fā)工具,尤其是數(shù)據(jù)窗口這一能方便而簡潔操縱數(shù)據(jù)庫的智能化對象,首先在短時(shí)間內(nèi)建立系統(tǒng)應(yīng)用原型,然后,對初始原型系

5、統(tǒng)進(jìn)行需求迭代,不斷修正和改進(jìn),直到形成用戶滿意的可行系統(tǒng)。</p><p>  本系統(tǒng)主要完成對超市的管理,包括進(jìn)貨管理,銷售管理,庫存管理和員工管理四個(gè)方面。系統(tǒng)可以完成對各類信息的瀏覽、查詢、添加、刪除、修改等功能。系統(tǒng)的核心是銷售、庫存查詢和進(jìn)貨管理三者之間的聯(lián)系,每一個(gè)表的修改都將聯(lián)動的影響其它的表,當(dāng)完成銷售或進(jìn)貨操作時(shí)系統(tǒng)會自動地完成相對應(yīng)信息的修改。查詢功能也是系統(tǒng)的核心之一,在系統(tǒng)中主要根據(jù)商

6、品編號和商品名稱等進(jìn)行查詢,其目的都是為了方便用戶使用,以求更快的查找到各個(gè)物料和產(chǎn)品品質(zhì)的基本信息。系統(tǒng)有完整的用戶添加、刪除和密碼修改功能,系統(tǒng)采用Microsoft Office中的Access 2000來設(shè)計(jì)數(shù)據(jù)庫,并使用當(dāng)前優(yōu)秀的開發(fā)工具—VB 6.0 ,它有著最為靈活的數(shù)據(jù)庫結(jié)構(gòu),對數(shù)據(jù)庫應(yīng)用有著良好的支持。論文主要介紹了本課題的開發(fā)背景,所要完成的功能和開發(fā)的過程。重點(diǎn)的說明了系統(tǒng)設(shè)計(jì)的重點(diǎn)、設(shè)計(jì)思想、難點(diǎn)技術(shù)和解決方案

7、。</p><p><b>  [英文摘要]</b></p><p><b>  Summary</b></p><p>  This system chiefly accomplishes the stock management to the storehouse,</p><p>  incl

8、udes being put in storage, goes out the warehouse and stocks, and staff’s information, six aspects such as supplier's information as well as cryptogram management etc. What the system can accomplish to various kind t

9、he information glances over and the function such as inquires about, adds, deletes andmodification etc.</p><p>  The systematic nucleus is is put in storage, stocks and goes out the contact between the wareh

10、ouse, and when accomplishes being put in storage or going out a warehouse, the system can accomplish voluntarily the modification of stock to other table of influence that the modification of every table all will be link

11、ageed when operating. Inquiring about the function also is one of systematic nucleus, namely having the wallscroll spare to inquire about and inquires about with many conditions in the s</p><p>  prints the

12、function.</p><p>  The Access 2000 that the system adopted among Microsoft Office comes</p><p>  the design data warehouse, and use before one zorch development tool - VB6.0, it has the most nim

13、ble data base structure, and the application has the</p><p>  good support to the data warehouses.</p><p>  The development background of this the subject, course of function and the development

14、 that will be accomplished were chiefly introduced to thesis.</p><p>  The emphatic explanation focal point of systems design, design thought and difficult point technology and settlement scheme.</p>

15、<p>  The keyword: the data base, SQL's language, vb6.0,'s data base package, the</p><p>  Warehouse management.</p><p>  關(guān)鍵字:控件、窗體、數(shù)據(jù)庫,visual basic語言,超市,商品</p><p><

16、b>  目錄</b></p><p>  引言.......................................................8</p><p>  系統(tǒng)開發(fā)工具簡介......... .. .......................................... .... 9</p><p>  1.1

17、Visual basic 6.0功能簡介..........................9</p><p>  1.2 開發(fā)工具Visual basic 6.0的使用....................................10</p><p>  1.3 ACCESS數(shù)據(jù)庫介紹...........................................

18、 11</p><p>  1.4 ADO技術(shù)................................................... 11</p><p>  1.5 SQL語言................................................... 12</p><p>  第二章 系統(tǒng)分析..........

19、......................... ......... 13</p><p>  2.1系統(tǒng)功能介紹.........................................13</p><p>  2.2 程序流程圖和設(shè)計(jì)...........................................14</p><p>  2.3各

20、模塊設(shè)計(jì)...........................................15</p><p>  第三章 數(shù)據(jù)庫設(shè)計(jì).......................................... .........17</p><p>  3.1數(shù)據(jù)表簡介......... .. .........................................

21、. ....... 17</p><p>  3.2系統(tǒng)功能介紹......... .. .......................................... .......19</p><p>  3.3系統(tǒng)演示......... .. .......................................... .......23</p><

22、;p>  第四章 系統(tǒng)實(shí)施......... .. .......................................... .......29</p><p>  4.1系統(tǒng)測試......... .. .......................................... .......29</p><p>  4.2系統(tǒng)特點(diǎn)......... .. .

23、......................................... .......31</p><p>  4.3目前存在的問題及改進(jìn)意見......... .. ..............................32</p><p>  第五章 附錄......... .. .......................................... .

24、......31</p><p>  第六章 總結(jié)......... .. .......................................... ...40</p><p>  第七章 致謝......... .. .......................................... .......41</p><p>  第八章

25、 主要參考文獻(xiàn)......... .. .......................................... .......42</p><p><b>  引言</b></p><p>  本軟件使用Microsoft Visual Basic 6.0進(jìn)行編寫。數(shù)據(jù)庫技術(shù)的產(chǎn)生與發(fā)展源于對于數(shù)據(jù)的組織和管理。數(shù)據(jù)庫技術(shù)是數(shù)據(jù)管理的技術(shù),它隨著數(shù)據(jù)管理

26、任務(wù)的需要而產(chǎn)生于20世紀(jì)60年代中期。這是一門綜合性技術(shù),涉及操作系統(tǒng),數(shù)據(jù)結(jié)構(gòu),算法設(shè)計(jì)和程序設(shè)計(jì)等知識。數(shù)據(jù)庫技術(shù)的基本思想是對數(shù)據(jù)實(shí)行集中,統(tǒng)一,獨(dú)立的管理,用戶可以最大限度的共享數(shù)據(jù)資源。</p><p>  數(shù)據(jù)庫系統(tǒng)實(shí)際上是一個(gè)應(yīng)用系統(tǒng),它是在計(jì)算機(jī)硬,軟件系統(tǒng)支持下,由用戶,數(shù)據(jù)庫管理系統(tǒng),存儲在存儲設(shè)備上的數(shù)據(jù)和數(shù)據(jù)庫應(yīng)用程序構(gòu)成的數(shù)據(jù)處理系統(tǒng)。數(shù)據(jù)庫系統(tǒng)是由數(shù)據(jù),數(shù)據(jù)庫管理系統(tǒng),應(yīng)用程序,用戶

27、組成。</p><p>  數(shù)據(jù)庫的特點(diǎn):1.實(shí)現(xiàn)數(shù)據(jù)共享 2.實(shí)現(xiàn)數(shù)據(jù)獨(dú)立3.減少了數(shù)據(jù)冗余度 4.避免了數(shù)據(jù)不一致性5.加強(qiáng)了對數(shù)據(jù)的保護(hù)。</p><p>  數(shù)據(jù)庫應(yīng)用系統(tǒng)(DATABASE APPLICATION SYSTEMS DBAS)</p><p><b>  管理信息系統(tǒng)</b></p><p>&

28、lt;b>  開放式信息服務(wù)系統(tǒng)</b></p><p>  一個(gè)數(shù)據(jù)庫應(yīng)用系統(tǒng)通常是由數(shù)據(jù)庫和應(yīng)用程序兩部分組成,它們是在數(shù)據(jù)庫管理系統(tǒng)支持下設(shè)計(jì)和開發(fā)出來的。</p><p>  第一章 系統(tǒng)開發(fā)工具簡介</p><p>  1.1 VISUAL BASIC 6.0 功能簡介</p><p>  1、面向?qū)ο蟮目梢暬幊?/p>

29、方法:</p><p>  用傳統(tǒng)程序設(shè)計(jì)語言設(shè)計(jì)程序時(shí),大都是通過編寫程序代碼來實(shí)現(xiàn)用戶界面,在設(shè)計(jì)過程中看不到界面的實(shí)際顯示效果,必須編譯后運(yùn)行程序才能觀察,這很麻煩,大大影響了軟件開發(fā)的效率。Visual Basic則是應(yīng)用的面向?qū)ο蟮某绦蛟O(shè)計(jì)方法(OOP),提供了可視化的設(shè)計(jì)方法,它把程序和數(shù)據(jù)封裝起來作為一個(gè)對象,并為每個(gè)對象賦予應(yīng)有的屬性,使對象成為實(shí)在的東西。開發(fā)人員不必再為界面設(shè)計(jì)而編寫大量程序代

30、碼,也不需要通過一遍遍編譯來修改不滿意之處了。只要按設(shè)計(jì)要求的屏幕布局,用系統(tǒng)提供的工具,在屏幕上畫出各種“部件”,即圖形對象,并設(shè)置這些圖形對象的屬性,就可以輕松完成任務(wù)了。Visual Basic會自動產(chǎn)生界面設(shè)計(jì)代碼,程序設(shè)計(jì)人員不必再手工編寫實(shí)現(xiàn)程序功能的那些煩人的代碼,從而可以大大提高程序設(shè)計(jì)的效率。</p><p>  2、結(jié)構(gòu)化程序設(shè)計(jì)語言:</p><p>  Visual

31、 Basic是在BASIC語言的基礎(chǔ)上發(fā)展起來的,具有高級程序設(shè)計(jì)語言的語句結(jié)構(gòu),接近于自然語言和人類的邏輯思維方式。Visual Basic語句簡單易懂,其編輯器支持彩色代碼,可自動進(jìn)行語法錯(cuò)誤檢查,同時(shí)具有功能強(qiáng)大且使用靈活的調(diào)試器和編譯器。</p><p>  Visual Basic是解釋型語言,在輸入代碼的同時(shí),解釋系統(tǒng)將高級語言分解翻譯成計(jì)算機(jī)可以識別的機(jī)器指令,并判斷每個(gè)語句的語法錯(cuò)誤。在設(shè)計(jì)Vis

32、ual Basic程序的過程中,隨時(shí)可以運(yùn)行程序,而在整個(gè)程序設(shè)計(jì)好之后,可以編譯生成可執(zhí)行文件(.EXE),脫離Visual Basic環(huán)境,直接在Windows環(huán)境下運(yùn)行。</p><p>  3、事件驅(qū)動編程機(jī)制:</p><p>  Visual Basic通過事件來執(zhí)行對象的操作。一個(gè)對象可能會產(chǎn)生多個(gè)事件,每個(gè)事件都可以通過一段程序來響應(yīng)。例如,命令按鈕是一個(gè)對象,當(dāng)用戶單擊該

33、按鈕時(shí),將產(chǎn)生一個(gè)“單擊”(CLICK)事件,而在產(chǎn)生該事件時(shí)將執(zhí)行一段程序,用來實(shí)現(xiàn)指定的操作。</p><p>  在用Visual Basic設(shè)計(jì)大型應(yīng)用軟件時(shí),不必建立具有明顯開始和結(jié)束的程序,而是編寫若干個(gè)微小的子程序,即過程。這些過程分別面向不同的對象,由用戶操作引發(fā)某個(gè)事件來驅(qū)動完成某種特定的功能,或者由事件驅(qū)動程序調(diào)用通用過程來執(zhí)行指定的操作,這樣可以方便編程人員,提高效率。</p>

34、<p>  4、訪問數(shù)據(jù)庫功能:</p><p>  Visual Basic具有強(qiáng)大的數(shù)據(jù)庫管理功能,利用數(shù)據(jù)控件和數(shù)據(jù)庫管理窗口,可以直接建立或處理Microsoft Access格式的數(shù)據(jù)庫,并提供了強(qiáng)大的數(shù)據(jù)存儲和檢索功能。同時(shí),Visual Basic還能直接編輯和訪問其他外部數(shù)據(jù)庫,如:DATABASE,F(xiàn)oxPro,Paradox等,這些數(shù)據(jù)庫格式都可以用Visual Basic編輯和處

35、理。</p><p>  Visual Basic提供開放式數(shù)據(jù)連接,即ODBC功能,可通過直接訪問或建立連接的方式使用并操作后臺大型網(wǎng)絡(luò)數(shù)據(jù)庫,如SQL Server,Oracle等。在應(yīng)用程序中,可以使用結(jié)構(gòu)化查詢語言SQL數(shù)據(jù)標(biāo)準(zhǔn),直接訪問服務(wù)器上的數(shù)據(jù)庫,還提供了簡單的面向?qū)ο蟮膸觳僮髦噶詈投嘤脩魯?shù)據(jù)庫訪問的加鎖機(jī)制和網(wǎng)絡(luò)數(shù)據(jù)庫的SQL的編程技術(shù),為單機(jī)上運(yùn)行的數(shù)據(jù)庫提供了SQL網(wǎng)絡(luò)接口,可以在分布式環(huán)境

36、中快速而有效地實(shí)現(xiàn)客戶/服務(wù)器(client/server)方案。</p><p>  5、動態(tài)數(shù)據(jù)交換(DDE)功能:</p><p>  利用動態(tài)數(shù)據(jù)交換(Dynamic Data Exchange)技術(shù),可以把一種應(yīng)用程序中的數(shù)據(jù)動態(tài)地鏈接到另一種應(yīng)用程序中,使兩種完全不同的應(yīng)用程序建立起一條動態(tài)數(shù)據(jù)鏈路。當(dāng)原始數(shù)據(jù)變化時(shí),可以自動更新鏈接的數(shù)據(jù)。Visual Basic提供了動態(tài)數(shù)

37、據(jù)交換的編程技術(shù),可以在應(yīng)用程序中與其他Windows應(yīng)用程序建立動態(tài)數(shù)據(jù)交換,在不同的應(yīng)用程序之間進(jìn)行通信。</p><p>  6、對象的鏈接與嵌入(OLE)功能:</p><p>  對象的鏈接與嵌入(OLE)將每個(gè)應(yīng)用程序都看作是一個(gè)對象(object),將不同的對象鏈接(link)起來,再嵌入(embed)某個(gè)應(yīng)用程序中,從而可以得到具有聲音、影像、圖像、動畫、文字等各種信息的集

38、合式的文件。利用OLE技術(shù),可以方便地建立復(fù)合式文檔(compound document),這種文檔由來自多個(gè)不同應(yīng)用程序的對象組成,文檔中的每個(gè)對象都與原來的應(yīng)用程序相聯(lián)系,并可執(zhí)行與原來應(yīng)用程序完全相同的操作。Visual Basic就采用了OLE技術(shù)。</p><p>  7、動態(tài)鏈接庫(DLL)功能:</p><p>  Visual Basic是一種高級程序設(shè)計(jì)語言,不具備低級語

39、言的功能,對訪問機(jī)器硬件的操作不太容易實(shí)現(xiàn)。但它可以通過動態(tài)鏈接庫技術(shù)將C/C++或匯編語言編寫的程序加入到Visual Basic應(yīng)用程序中,可以像調(diào)用內(nèi)部函數(shù)一樣調(diào)用其他語言編寫的函數(shù)。此外,通過動態(tài)鏈接庫,還可以調(diào)用Windows應(yīng)用程序接口(API)函數(shù),實(shí)現(xiàn)SDK所具有的功能。</p><p>  1.2 開發(fā)工具Visual Basic的使用</p><p>  Visual

40、Basic應(yīng)用由一系列對象組成,包括有函數(shù)、菜單、函數(shù)、結(jié)構(gòu)和數(shù)據(jù)窗口、用戶對象、用戶事件等等,對象中又包含若干控件如命令按鈕、單行編輯器等,這些對象和控件中都可在許多程序中重復(fù)使用,使其具有了最廣大意義上的可通用性和擴(kuò)展性。</p><p>  使用Visual Basic 的菜單編輯器即可建立菜單或者修改已經(jīng)存在的菜單。由于大家對菜單等的使用已駕輕就熟,現(xiàn)著重對主要控件的使用作個(gè)介紹:</p>

41、<p>  首先,選擇“工程”下拉菜單中的“部件”選項(xiàng),顯示“部件”對話框。在“控件”選項(xiàng)卡列表中選擇“Microsoft Windows Common Controls 6.0”,然后,在工具箱中增加該控件,即可實(shí)現(xiàn)控件的添加。</p><p>  1.ToolBar控件:</p><p>  ToolBar控件與Office97種看到的ToolBar是類似的ToolBar就是

42、一個(gè)可以在窗體上浮動的工具,同時(shí)也是其他ActiveX的容器。通過在ToolBar中遷入其它控件即可以向用戶提供更好應(yīng)用功能。Toolbar又是一個(gè)工具條控件,是實(shí)現(xiàn)工具條的主體。其中的按鈕可以顯示圖像和標(biāo)題,并按功能分組或加入分隔符,還可以設(shè)置鼠標(biāo)停留在其上顯示的提示字符。Toolbar還是一個(gè)控件容器且具有Style屬性,并可以為其增加下拉按鈕和平滑按鈕等。</p><p>  2.ImageList控件:I

43、mageList用于為其他控件提供圖像庫,屬性定義與數(shù)據(jù)條對應(yīng)的ImageList控件名,該控件定義工具條按鈕顯示的圖像。</p><p>  3.Align控件:定義工具條在窗體中的位置</p><p>  4.ToolTipText控件:是字符串類型,定義控件的提示字符</p><p>  5.Style控件:定義按鈕外觀。</p><p&g

44、t;  6. HotImangeList控件:設(shè)置ImageList控件名,使控件定義按鈕獲得熱點(diǎn)時(shí)顯示的圖像。</p><p>  7.DisabledImageList控件:定義工具條按鈕無效時(shí)顯示的圖像。</p><p>  1.3 ACCESS數(shù)據(jù)庫介紹</p><p>  Microsoft Access 是微軟公司開發(fā)的第一個(gè)面向Windows平臺的桌面

45、數(shù)據(jù)庫管理系統(tǒng),它充分利用了Windows平臺的優(yōu)越性,如圖形界面和Windows的事件驅(qū)動機(jī)制等。</p><p>  作為Microsoft的office套件產(chǎn)品之一,access已經(jīng)賣出了近700萬份,成為世界上最流行的桌面數(shù)據(jù)庫系統(tǒng)。Access與許多優(yōu)秀的關(guān)系數(shù)據(jù)庫一樣,可以讓你很容易地連接相關(guān)的信息而且還對其他的數(shù)據(jù)庫系統(tǒng)有所補(bǔ)充。它能操作其它來源的資料,包括許多流行的PC數(shù)據(jù)庫程序(如dBASE,P

46、aradox,Microsoft FoxPro)和服務(wù)器、小型積極大型機(jī)上的許多SQL數(shù)據(jù)庫。Access還完全支持Microsoft的OLE技術(shù)。Access還提供windows操作系統(tǒng)的高級應(yīng)用程序開發(fā)系統(tǒng)。Access與其它數(shù)據(jù)庫開發(fā)系統(tǒng)之間相當(dāng)顯著的區(qū)別就是:您不用寫一行代碼,就可以在很短的時(shí)間里開發(fā)出一個(gè)功能強(qiáng)大而且相當(dāng)專業(yè)的數(shù)據(jù)庫應(yīng)用程序,并且這一愉快的過程是完全可視的!如果您能給它加上簡短的VBA代碼,那么您的程序決不比專

47、業(yè)程序員潛心開發(fā)的程序差。</p><p><b>  1.4 ADO技術(shù)</b></p><p>  Active Data Objects(ADO)微軟最新的數(shù)據(jù)庫訪問技術(shù),它被設(shè)計(jì)用來同新的數(shù)據(jù)訪問層OLE DB Provider一起協(xié)同工作,以提高通用數(shù)據(jù)訪問(Universal Data Access).OLE DB是一個(gè)低層的數(shù)據(jù)訪問接口,用它可以訪問各種

48、數(shù)據(jù)源,包括傳統(tǒng)的關(guān)系型數(shù)據(jù)庫,以及電子郵件系統(tǒng)及自定義的商業(yè)對象。</p><p>  ADO向我們提供了一個(gè)熟悉的,高層的對OLE DB的Automation的封裝接口。對那些熟悉RAO的程序員來說,可以把OLE DB比作是ODBC驅(qū)動程序。如同RAO對象是ODBC驅(qū)動程序接口一樣,不同的數(shù)據(jù)源要求它們自己的OLE DB提供者(OLE DB Provider)。</p><p>  A

49、DO最重要的三個(gè)對象是:Connection, Command, Recordset。</p><p>  (1) Connection對象    Connection對象用于建立與數(shù)據(jù)庫的連接。通過連接可從應(yīng)用程序訪問數(shù)據(jù)源。它保存諸如指針類型,連接字符串,查詢超時(shí),連接超時(shí)和缺省數(shù)據(jù)庫這樣的連接信息。</p><p>  (2) Command

50、對象    在建立Connection后,可以發(fā)出命令操作數(shù)據(jù)源。一般情況下,Command對象可以在數(shù)據(jù)庫中添加,刪除或更新數(shù)據(jù),或者在表中進(jìn)行數(shù)據(jù)查詢。Command對象在定義查詢參數(shù)或執(zhí)行一個(gè)有輸出參數(shù)的存儲過程時(shí)非常有用。</p><p>  (3) Recordset對象    Recordset對象只代表一個(gè)記錄集,這

51、個(gè)記錄集是一個(gè)連接的數(shù)據(jù)庫中的表,或者是Command對象的執(zhí)行結(jié)果返回的記錄集。在ADO對象模型中,是在行中檢查和修改數(shù)據(jù)的最主要的方法,所有對數(shù)據(jù)的操作幾乎都是在Recordset對象中完成的。Record對象用于指定行,移動行、添加、更改、刪除記錄。</p><p><b>  1.5 SQL語言</b></p><p>  SQL語言是一種介于關(guān)系代數(shù)與關(guān)系演

52、算之間的結(jié)構(gòu)化查詢語言,其功能不僅僅是查詢。SQL是一個(gè)通用的、功能極強(qiáng)的關(guān)系數(shù)據(jù)庫語言。</p><p>  SQL語言之所以能夠?yàn)橛脩艉蜆I(yè)界所接受,并成為國際標(biāo)準(zhǔn),是因?yàn)樗且粋€(gè)綜合的、功能極強(qiáng)同時(shí)有簡單易學(xué)的語言。SQL語言集數(shù)據(jù)查詢(Data Query)、數(shù)據(jù)操縱(Data Manipulation)、數(shù)據(jù)定義(Data Definition)和數(shù)據(jù)控制(Data Control)功能于一體,主要特點(diǎn)包

53、括:</p><p><b>  綜合統(tǒng)一</b></p><p>  數(shù)據(jù)庫系統(tǒng)的主要功能是通過數(shù)據(jù)庫支持的數(shù)據(jù)語言來實(shí)現(xiàn)的。SQL語言集數(shù)據(jù)定義語言DDL、數(shù)據(jù)操縱語言DML、數(shù)據(jù)控制語言DCL的功能于一體,語言風(fēng)格統(tǒng)一,可以獨(dú)立完成數(shù)據(jù)庫生命周期中的全部活動,包括定義關(guān)系模式、建立數(shù)據(jù)庫、插入數(shù)據(jù)、查詢、更新、維護(hù)、數(shù)據(jù)庫重構(gòu)、數(shù)據(jù)庫安全性控制等一系列操作要求,

54、這就為數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)提供了良好的環(huán)境。用戶在數(shù)據(jù)庫系統(tǒng)投入運(yùn)行后,還可根據(jù)需要隨時(shí)地逐步地修改模式,且并不影響數(shù)據(jù)庫的運(yùn)行,從而是系統(tǒng)具有良好的可擴(kuò)展性。</p><p><b> ?。?)高度非過程化</b></p><p>  非關(guān)系數(shù)據(jù)模型的數(shù)據(jù)操縱語言是面向過程的語言,用其完成某項(xiàng)請求,必須指定存取路徑。而用SQL語言進(jìn)行數(shù)據(jù)操作,只要提出“做什么”,而

55、無須指明“怎么做”,因此無須了解存取路徑,存取路徑的選擇以及SQL語句的操作過程由系統(tǒng)自動完成。這不但大大減輕了用戶負(fù)擔(dān),而且有利于提高數(shù)據(jù)獨(dú)立性。</p><p>  (3)面向集合的操作方式</p><p>  非關(guān)系數(shù)據(jù)模型采用的是面向記錄的操作方式,操作對象是一記錄。例如查詢所有平均成績在80分以上的學(xué)生姓名,用戶必須一條一條地把滿足條件的學(xué)生記錄找出來(通常要說明具體處理過程,即

56、按照哪條路徑,如何循環(huán)等)。而SQL語言采用集合操作方式,不僅操作對象、查找結(jié)果可以是元組的集合,而且一次插入、刪除、更新操作的對象也可以是元組的集合。</p><p> ?。?)以同一種語法結(jié)構(gòu)提出兩種使用方式</p><p>  SQL語言既是自含試語言,又是嵌入式語言。作為自含式語言,它能夠獨(dú)立地用于聯(lián)機(jī)交互的使用方式,用戶可以在終端鍵盤上直接鍵入SQL命令對數(shù)據(jù)庫進(jìn)行操作;作為嵌入

57、式語言,SQL語言能夠嵌入到高級語言(例如C、COBOL、FORTRAN)程序中,供程序員設(shè)計(jì)程序時(shí)使用。而在兩中不同的使用方式下,SQL語言的語法結(jié)構(gòu)基本上是一致的。這種以統(tǒng)一的語法結(jié)構(gòu)提供兩種不同的使用方式的做法,提供了極大的靈活性與方便性。</p><p> ?。?)語言簡捷,易學(xué)易用</p><p>  SQL語言功能極強(qiáng),但由于設(shè)計(jì)巧妙,語言十分簡捷,完成核心功能只使用了9個(gè)動詞

58、:數(shù)據(jù)查詢(SELECT)、數(shù)據(jù)定義(CREATE,DROP,ALTER)、數(shù)據(jù)操作(INSERT,UPDATE,DELETE)和數(shù)據(jù)控制(GRANT,REVOKE)。SQL語言接近英語口語,因此容易學(xué)習(xí),容易使用。</p><p><b>  第二章 系統(tǒng)分析</b></p><p><b>  2.1系統(tǒng)功能介紹</b></p>

59、<p>  作為一個(gè)超市管理系統(tǒng),其功能是實(shí)現(xiàn)超市中商品的進(jìn)貨銷售,庫存等管理的系統(tǒng)化、規(guī)范化和自動化。本系統(tǒng)主要要完成的功能有:</p><p> ?。?)交易管理:包括進(jìn)貨登記、銷貨登記、退貨登記等。其中進(jìn)貨登記中還包含進(jìn)貨商登記,如過是新的進(jìn)貨廠商,可以直接在此登記入庫。進(jìn)貨和銷售的主要交易都是在此進(jìn)行。每次交易(包括進(jìn)貨、銷貨和退貨)都需要對商品名稱、生產(chǎn)廠商、商品型號、單價(jià)、數(shù)量、總金額、交

60、易日期、經(jīng)手業(yè)務(wù)員編號等各項(xiàng)記錄。在交易過程中,程序的編寫盡可能的方便員工進(jìn)行交易,比如:進(jìn)貨登記時(shí),如果商品編號相同,則自動添加該商品的其它屬性;銷貨登記時(shí),用戶只要輸入商品編號,該商品的其它屬性即可自動出現(xiàn)。退貨登記時(shí),只要輸入正確的銷貨編號,其銷售信息也將自動列出,盡量的方便了用戶的操作,同時(shí)對于登陸的員工編號程序也自動的將其列在進(jìn)貨登記、銷貨登記中,已防止員工進(jìn)行非正常的交易。</p><p> ?。?)

61、進(jìn)貨統(tǒng)計(jì):包括今日進(jìn)貨統(tǒng)計(jì)、本月進(jìn)貨統(tǒng)計(jì)、本季度進(jìn)貨統(tǒng)計(jì)、本季度進(jìn)貨統(tǒng)計(jì)、本年度進(jìn)貨統(tǒng)計(jì)等。其中每次進(jìn)貨統(tǒng)計(jì)都是按進(jìn)貨廠商和進(jìn)貨總金額統(tǒng)計(jì)顯示的。使用一個(gè)表格顯示所選時(shí)間段的全部進(jìn)貨數(shù)據(jù),包括進(jìn)貨編號、商品名稱等。再使用另一個(gè)表格顯示分別從各個(gè)廠商進(jìn)貨的金額,還有一個(gè)文本框用于顯示次時(shí)間段的進(jìn)貨總金額。</p><p> ?。?)銷貨統(tǒng)計(jì):包括今日銷售統(tǒng)計(jì)、本月銷售統(tǒng)計(jì)、本季度銷售統(tǒng)計(jì)、本年度銷售統(tǒng)計(jì)等,其中每次

62、銷售統(tǒng)計(jì)都是按生產(chǎn)廠商和銷售總金額統(tǒng)計(jì)顯示的。使用一個(gè)表格顯示所選時(shí)間段的全部銷售數(shù)據(jù),包括銷貨編號、商品名稱等。再使用另一個(gè)表格顯示分別從各個(gè)廠商進(jìn)貨的金額,還有一個(gè)文本框用于顯示次時(shí)間段的銷售總金額。</p><p> ?。?)查看數(shù)據(jù)表:實(shí)現(xiàn)各種數(shù)據(jù)表的瀏覽,包括進(jìn)貨表,商品庫存表、銷售表、退貨表、員工表、進(jìn)貨商表等。對于員工表管理員還可以對其進(jìn)行刪除或添加用戶操作。</p><p>

63、;  (5) 系統(tǒng)管理: 包括更換用戶、修改密碼、退出系統(tǒng)等。更換用戶的操作方便了用戶的使用,同時(shí)更加方便了管理員對于系統(tǒng)數(shù)據(jù)的查詢,可以做到隨時(shí)查看,以使管理員對帳目一目了然,同時(shí)方便了普通用戶的交接班使用本系統(tǒng)。修改密碼和退出系統(tǒng)都是對于系統(tǒng)管理的輔助功能,再這里就不詳細(xì)說明了。</p><p>  (6) 其它窗體: 包括主窗體、登陸窗體、系統(tǒng)初始化窗體。主窗體就是將各個(gè)模塊的大意列在菜單中,然后通過每一個(gè)

64、菜單將其它的窗體逐個(gè)對應(yīng)的連到主窗體中。登陸窗體為本系統(tǒng)的啟動窗體,其功能是讓合法的用戶使用本系統(tǒng),已防止其它的非法人員使用該系統(tǒng)。并對登陸的用戶做一下權(quán)限的區(qū)別:分為管理員和普通員工。系統(tǒng)初始化窗體的主要目的是:在本系統(tǒng)的試運(yùn)行階段成功后是管理員可以直接把除了員工表以外的所有數(shù)據(jù)表的內(nèi)容清零。登陸窗體中設(shè)計(jì)了一個(gè)權(quán)限,可以區(qū)分是員工登陸還是管理員登陸,如果是管理員則提示是否進(jìn)行系統(tǒng)初始化,否則直接進(jìn)入主窗體。</p>&

65、lt;p>  其功能模塊圖請查看附圖。</p><p>  2.2程序流程圖和設(shè)計(jì)</p><p><b>  2.3各模塊設(shè)計(jì):</b></p><p>  1.交易管理模塊:用于管理商品的進(jìn)貨,銷售,退貨登記的操作。實(shí)體E-R圖如下:</p><p>  2.進(jìn)貨統(tǒng)計(jì)管理:主要用于對商品每日,每月,第季度,每年

66、的進(jìn)貨情況進(jìn)行統(tǒng)計(jì)管理,此功能只有以管理員的身份進(jìn)入時(shí)才為可用狀態(tài)。實(shí)體E-R圖如下: </p><p>  3.銷售統(tǒng)計(jì)管理:主要用于對商品每日,每月,第季度,每年的銷售情況進(jìn)行統(tǒng)計(jì)管理,此功能只有以管理員的身份進(jìn)入時(shí)才為可用狀態(tài)。實(shí)體E-R圖如下:</p><p>  查看數(shù)據(jù)表:主要能查看進(jìn)貨表,商品信息表,銷售表,退貨表等進(jìn)行查看,以實(shí)現(xiàn)對商品信息的及時(shí)了解。實(shí)體E-R圖如下:&l

67、t;/p><p>  第三章 數(shù)據(jù)庫設(shè)計(jì)</p><p><b>  3.1數(shù)據(jù)表簡介</b></p><p>  上面提到的各種功能的實(shí)現(xiàn)都離不開數(shù)據(jù)庫的支持,因此數(shù)據(jù)庫設(shè)計(jì)作為本系統(tǒng)設(shè)計(jì)的一部分不可缺少。開發(fā)本系統(tǒng)中使用的數(shù)據(jù)庫系統(tǒng)是Windows Access 2000 。從上面的功能分析不難看出本系統(tǒng)需要建立以下幾個(gè)數(shù)據(jù)表:buy表(

68、進(jìn)貨表)、goods表(現(xiàn)存商品表)、sell表(銷售表)、retreat表(退貨表)、employee表(員工表)、manufacturer表(進(jìn)貨商表)。由于數(shù)據(jù)量比較小,所以這些數(shù)據(jù)表都存在一個(gè)數(shù)據(jù)庫下:sellsystem.mdb </p><p>  下面對各個(gè)數(shù)據(jù)表的結(jié)構(gòu)做一下簡單介紹:</p><p>  在系統(tǒng)的數(shù)據(jù)庫設(shè)計(jì)中,進(jìn)貨表、銷貨表、商品庫存表和退貨表涉

69、及了交易管理三個(gè)子菜單的絕大部分?jǐn)?shù)據(jù),是本系統(tǒng)數(shù)據(jù)庫的核心,所以將對其部分表的設(shè)置列表顯示。</p><p>  Manufacturer表(進(jìn)貨商表)中包括有廠商編號、廠商名稱、聯(lián)系人姓名、電話、廠商地址等字段,表略。</p><p>  employee(員工表)中包括有員工編號、員工姓名、員工密碼、員工電話、員工地址等字段,表略。</p><p>  buy表

70、(進(jìn)貨表)中包括有進(jìn)貨編號、商品編號、商品名稱、生產(chǎn)廠商、型號、數(shù)量、進(jìn)貨價(jià)、進(jìn)貨年、進(jìn)貨月、進(jìn)貨日、總金額、業(yè)務(wù)員編號等。設(shè)計(jì)該數(shù)據(jù)表的主要目的是方便管理員的查看,使系統(tǒng)的數(shù)據(jù)管理能夠更加層次化。具體設(shè)置如表3-1所示。</p><p><b>  表3-1 buy表</b></p><p>  goods表(現(xiàn)存商品表)中包括有商品編號、生產(chǎn)廠商、商品名稱、型號、

71、進(jìn)貨價(jià)、銷貨價(jià)、數(shù)量、進(jìn)貨年、進(jìn)貨月、進(jìn)貨日、業(yè)務(wù)員編號、總金額等字段。具體設(shè)置如表3-2所示。</p><p>  表3-2 goods表</p><p>  sell表(銷貨表)中包括有銷貨編號、商品編號、商品名稱、生產(chǎn)廠商、型號、數(shù)量等字段,由于篇幅有限,其表略。</p><p>  retreat表(退貨表)中包括有退貨編號、銷貨編號、生產(chǎn)廠商、商品名稱、型

72、號、單價(jià)、數(shù)量、總金額、退貨年、退貨月、退貨日、業(yè)務(wù)員編號等。具體設(shè)置如表3-3所示。</p><p>  表3-3 retreat表</p><p><b>  3.2系統(tǒng)功能介紹</b></p><p> ?。?)登陸窗體 該登陸窗體對用戶登陸做了一個(gè)簡單的判斷,如果是管理員登陸則可進(jìn)入初始化界面,然后再進(jìn)入主界面。 具體做法是:先在窗體級

73、中定義一個(gè)記錄集,用于打開employee表,打開后將該表中的字段:員工姓名,依次加到combo1中。全加入后關(guān)閉記錄集,然后對combo1和text1中的內(nèi)容做一下簡單判斷:如果combo1和text1中的數(shù)據(jù)正好和employee表中的某個(gè)記錄相同,則通過登陸窗體,否則提示用戶用戶名或密碼有誤。在通過登陸窗體中還要對用戶名做一下判斷:如果是管理員登陸,則進(jìn)入系統(tǒng)初始化窗體,如果是普通用戶登陸,則進(jìn)入主界面。</p>&

74、lt;p> ?。?) 初始化窗體 該初始化窗體為本系統(tǒng)的使用者提供了試運(yùn)行服務(wù),如果使用者試運(yùn)行后決定正式使用,可以通過管理員登陸本窗體對系統(tǒng)進(jìn)行初始化,即清空試運(yùn)行階段的所有銷售數(shù)據(jù)。具體實(shí)現(xiàn)過程為:定義5個(gè)記錄集,其每一個(gè)記錄集控制一個(gè)數(shù)據(jù)表的打開與關(guān)閉操作,其記錄集的取名與數(shù)據(jù)表相近:rs_sell, rs_buy, rs_goods, rs_retreat,rs_manufacturer.當(dāng)管理員點(diǎn)擊是標(biāo)簽時(shí),先出現(xiàn)一個(gè)消

75、息框,問管理員是否真的要進(jìn)行初始化。如果是,則5個(gè)記錄集依次連接到5個(gè)數(shù)據(jù)表上,然后對每個(gè)數(shù)據(jù)表的內(nèi)容進(jìn)行刪除操作。具體刪除方法為:先對表的狀態(tài)進(jìn)行判斷,如果某個(gè)數(shù)據(jù)表的內(nèi)容為空,則直接關(guān)閉記錄集,以免多步操作數(shù)據(jù)表出現(xiàn)錯(cuò)誤;如果該數(shù)據(jù)表不為空,則依次刪除該數(shù)據(jù)表的每一個(gè)記錄,對于每一個(gè)數(shù)據(jù)表都要做此判斷,并且每打開一個(gè)新的數(shù)據(jù)表都要關(guān)閉上一個(gè)數(shù)據(jù)表,這樣操作起來層次顯得比較清晰,而且維護(hù)起來也比較方便。</p><

76、p> ?。?)主窗體 主窗體的建立十分簡單,只需將所要實(shí)現(xiàn)的功能編輯成菜單即可。該窗體的運(yùn)行過程為:用戶首先進(jìn)入登陸窗體,如果是管理員登陸,則先進(jìn)入初始化窗體,經(jīng)過判斷是否需要初始化后,進(jìn)入主窗體。其權(quán)限為:銷貨統(tǒng)計(jì)、進(jìn)貨統(tǒng)計(jì)、查看數(shù)據(jù)表和系統(tǒng)管理。其權(quán)限的設(shè)置使管理員能夠方便的查看任何時(shí)間段內(nèi)的所有信息,還可以對員工表進(jìn)行管理。如果是普通用戶登陸,則直接進(jìn)入主窗體,其授予的權(quán)限只有交易管理和系統(tǒng)管理,也就是說員工只能負(fù)責(zé)對商品進(jìn)

77、行如庫登記、銷貨登記和退貨登記,另外在一個(gè)員工對本系統(tǒng)使用的整個(gè)期間內(nèi),進(jìn)貨登記、銷貨登記和退貨登記三個(gè)窗體中的顯示的業(yè)務(wù)員編號都由系統(tǒng)自動給出的該員工的員工編號。</p><p> ?。?)進(jìn)貨登記窗體 本窗體用來實(shí)現(xiàn)商品進(jìn)貨功能,將進(jìn)貨信息添加到buy表,再將該信息選擇性的加入goods表。如果是新的進(jìn)貨廠商,可以在此入庫登記。其具體實(shí)現(xiàn)過程如下所述:先在窗體級變量中定義三個(gè)記錄集:rs_buy,rs_goo

78、ds,rs_manufacture用來控制三個(gè)數(shù)據(jù)表:buy表,goods表,manufacturer表。在用戶點(diǎn)擊添加商品中的添加入庫操作之前,程序先會檢查是否有用戶是否有個(gè)別屬性為空,并做出提示。然后將商品添加到buy表中,再添加到goods表。在添加到goods表時(shí),程序會先判斷該商品編號是否已經(jīng)存在,如果存在則直接將該添加信息的數(shù)量加到goods表中相應(yīng)的記錄上。為此,進(jìn)貨編號、商品編號是buy表、goods表中不可重復(fù)的屬性。

79、為方便用戶操作,程序特在商品編號的文本框:text2的Change事件中做了一個(gè)判斷,即如果該商品編號存在的話直接顯示該商品的其他屬性。另外,對于總金額文本框也是由數(shù)量和進(jìn)貨價(jià)兩個(gè)文本框的Change事件計(jì)算入內(nèi)的。如果是新的進(jìn)貨商,可以將它的信息添加到進(jìn)貨商表。其過程和上面所說的添加到buy表基本相同,這里就不做介紹了。</p><p>  (5) 銷貨登記窗體 本窗體主要功能是對商品進(jìn)行銷售,首先對員工輸入的

80、銷貨信息進(jìn)行完整條件的判斷,條件符合后進(jìn)行銷售。然后將銷售信息存入sell表,并對goods表的數(shù)量做相應(yīng)修改。 具體實(shí)現(xiàn)過程為:先在窗體集中定義兩個(gè)記錄集:rs_sell,rs_goods,用來控制兩個(gè)數(shù)據(jù)表:sell表和goods表。在銷貨窗體中,如果用戶輸入的商品編號已經(jīng)存在,則該商品的其它屬性將隨著text2(即商品編號)的Change事件出現(xiàn)在其對應(yīng)的位置上。而銷售日期和業(yè)務(wù)員編號已經(jīng)是程序默認(rèn)給出的系統(tǒng)時(shí)間和登陸員工的編號。

81、在判斷沒有空缺屬性后該商品將順利添加如庫,而且該商品在goods表中的數(shù)量也將隨之做相應(yīng)的改變,使goods表和sell表的總和保持原來goods表中的數(shù)量值。</p><p> ?。?)退貨窗體 本窗體的功能是實(shí)現(xiàn)商品退貨功能,當(dāng)人為判斷某商品可以退貨時(shí)即可將該商品退貨。其數(shù)據(jù)庫實(shí)現(xiàn)為:先將該信息加入retreat表,然后從sell表中減掉,最后對goods表的數(shù)量做一下調(diào)整即可。其具體實(shí)現(xiàn)過程是:先在窗體集中

82、定義三個(gè)記錄集:rs_sell,rs_goods,rs_retreat用來控制三個(gè)數(shù)據(jù)表:sell表、goods和retreat表。在退貨窗體中,如果用戶輸入的銷貨編號存在,則關(guān)于該商品的銷售信息將依次出現(xiàn)在相應(yīng)的對話框中。退貨成功后,該退貨信息先添加到退貨表,然后將其退貨數(shù)量從相應(yīng)的sell表中減掉,并添加到goods表中。</p><p>  (7)進(jìn)貨統(tǒng)計(jì)菜單 進(jìn)貨統(tǒng)計(jì)菜單下有4個(gè)子菜單,分別是今日進(jìn)貨統(tǒng)計(jì)

83、、本月進(jìn)貨統(tǒng)計(jì)、本季度進(jìn)貨統(tǒng)計(jì)、今年進(jìn)貨統(tǒng)計(jì)。由于他們的界面非常相似,本程序中使用了一個(gè)SSTab控件以選項(xiàng)卡的形式在一個(gè)窗體中實(shí)現(xiàn)以上4個(gè)子菜單。這樣做使窗體顯得更加美觀。為</p><p>  項(xiàng)目添加了必要的控件之后,開始進(jìn)行界面設(shè)計(jì)。先在窗體上添加一個(gè)SSTab控件,單擊鼠標(biāo)右鍵在快捷菜單中選擇”屬性”命令。將其選項(xiàng)卡的數(shù)目定為4個(gè),標(biāo)題分別為:今日進(jìn)貨、本月進(jìn)貨、本季度進(jìn)貨、本年度進(jìn)貨。由于每個(gè)選項(xiàng)卡的

84、界面都一樣,現(xiàn)以”今日進(jìn)貨”選項(xiàng)卡為例,加入兩個(gè)datagrid控件,兩個(gè)Adodc控件,一個(gè)Label控件,一個(gè)textbox控件和8個(gè)command控件。其中兩個(gè)Adodc的數(shù)據(jù)源連接都是才用的相對路徑與sellsystem的buy表連接的,兩個(gè)Adodc連接的SQL語句分別如下:</p><p>  select * from buy</p><p>  select 生產(chǎn)廠商,su

85、m(總金額) as 各廠商進(jìn)貨總金額 from buy group by 生產(chǎn)廠商。</p><p>  (8)銷貨統(tǒng)計(jì)窗體 銷售統(tǒng)計(jì)菜單下有4個(gè)子菜單,分別是今日銷貨、本月銷貨、本季度銷貨、今年銷貨。由于它們的界面非常相似,本程序中使用一個(gè)SSTab控件以選項(xiàng)卡形式在一個(gè)窗體中實(shí)現(xiàn)4個(gè)子菜單。其界面設(shè)計(jì)和窗體說明與進(jìn)貨統(tǒng)計(jì)大同小異,也一樣一個(gè)選項(xiàng)卡為例進(jìn)行說明,現(xiàn)以”今日銷貨”為例:加入兩個(gè)datagrid控件

86、,兩個(gè)Adodc控件,一個(gè)Label控件,一個(gè)textbox控件和8個(gè)command控件。其中兩個(gè)Adodc的數(shù)據(jù)源連接都是采用的相對路徑與sell表連接的,兩個(gè)Adodc連接的SQL語句分別如下:</p><p>  select * from sell</p><p>  select 生產(chǎn)廠商,sum(總金額) as 各廠商銷貨總金額 from sell group by 生產(chǎn)廠商

87、。 </p><p> ?。?)查看進(jìn)貨表 其界面的設(shè)計(jì)比較簡單,只是一個(gè)datagrid控件,一個(gè)Adodc控件(已隱藏)和四個(gè)Command控件。本窗體的主要設(shè)計(jì)在于其四個(gè)命令按紐在進(jìn)貨表為空時(shí)不可用。</p><p>  (10)查看進(jìn)貨表 本窗體的主要設(shè)計(jì)目的是設(shè)置一個(gè)查詢商品庫存表的條件 。具體操作為:為查詢現(xiàn)存商品表設(shè)立了一個(gè)簡單的查詢條件,一個(gè)是直接顯示現(xiàn)存的全部商品表,一個(gè)

88、是按條件對現(xiàn)存商品進(jìn)行查詢,用戶可以根據(jù)自己需要按商品名稱或生產(chǎn)廠商分別進(jìn)行查找。該窗體的實(shí)現(xiàn)是要在窗體集的變量中設(shè)置一個(gè)記錄集rs_goods,用來控制goods表,然后將記錄集在打開窗體時(shí)的select語句設(shè)為與本窗體的text1和text2有關(guān)的SQL語句。然后讓現(xiàn)存商品表顯示出來。</p><p> ?。?1)管理員工表 本窗體的制作目的在于方便對管理員用戶的管理, 本節(jié)前面曾經(jīng)提過系統(tǒng)初始化的功能,但其

89、初始化并不能對員工表進(jìn)行操作,當(dāng)管理員登陸本系統(tǒng)時(shí),可以訪問此窗體,對用戶表進(jìn)行維護(hù)。但不能對管理員進(jìn)行刪除操作,此操作已被本人屏蔽。</p><p> ?。?2)更換用戶功能 在一個(gè)超市可能會存在員工交接班的現(xiàn)象,為了方便用戶交接班的操作順利進(jìn)行,在系統(tǒng)管理模塊中做了一個(gè)更換用戶子菜單,該子菜單便順利的實(shí)現(xiàn)了此功能,而且它也方便了管理員的登陸管理。</p><p>  (13)修改密碼

90、為了方便用戶使用,在本模塊中還設(shè)置了一個(gè)修改密碼窗體,該窗體主要包括一個(gè)用戶名輸入、一個(gè)原密碼輸入和兩個(gè)新密碼輸入。此窗體實(shí)現(xiàn)的功能是顯而易見的,方便了用戶的操作,增加了系統(tǒng)使用的安全性。具體做法是:先要求用戶將四個(gè)必填項(xiàng)填寫完整,然后對兩個(gè)新密碼進(jìn)行相同判斷,如果相同,則將記錄集rs_employee打開,對用戶名和原密碼進(jìn)行核對,如果相同,就將老密碼替換為新密碼。</p><p>  本節(jié)總結(jié):對于本超市管理

91、系統(tǒng)功能的實(shí)現(xiàn),重點(diǎn)和難點(diǎn)有以下幾處:交易管理模塊:在本模塊中,對于商品的進(jìn)貨、銷貨和退貨操作時(shí),都要注意其操作過程中商品數(shù)量及其它屬性的變化,本人在制做此模塊時(shí),采用了指導(dǎo)教師的提供給我的思想:進(jìn)貨登記時(shí),將進(jìn)貨信息添加到進(jìn)貨表中。然后對商品庫存表的編號進(jìn)行判斷,如果進(jìn)貨信息的商品編號存在,則將商品庫存表中相應(yīng)記錄的商品數(shù)量做對應(yīng)調(diào)整;如果商品編號不存在,則直接將進(jìn)貨信息添加到商品庫存表中。銷貨登記時(shí),先將商品的銷貨信息添加到銷貨表中

92、,然后將商品庫存表中響應(yīng)的商品的數(shù)量做相對調(diào)整,保證商品數(shù)量的一致性。退貨登記時(shí)將退貨信息添加到退貨表中,然后將退貨數(shù)量從銷售表中減掉,最后將退貨數(shù)量加到商品庫存表中。在本系統(tǒng)管理員登陸時(shí),顯示給管理員的第一個(gè)界面:系統(tǒng)初始化也是本系統(tǒng)的又一大功能特色,其實(shí)現(xiàn)過程中要嚴(yán)格控制每一個(gè)記錄集對相應(yīng)數(shù)據(jù)表的打開與關(guān)閉操作</p><p><b>  3.3系統(tǒng)演示</b></p>&

93、lt;p><b>  圖2-1 登陸窗體</b></p><p><b>  管理員登陸 </b></p><p>  進(jìn)入系統(tǒng)初始化界面 </p><p>  圖2-2 系統(tǒng)初始化窗體</p><p>  圖2-3 管理員主界面</p><p>  管理

94、員權(quán)限:進(jìn)貨統(tǒng)計(jì)、銷貨統(tǒng)計(jì)、查看數(shù)據(jù)表、系統(tǒng)管理。</p><p><b>  進(jìn)貨統(tǒng)計(jì)界面</b></p><p>  圖2-4 進(jìn)貨統(tǒng)計(jì)窗體</p><p><b>  銷貨統(tǒng)計(jì)界面</b></p><p>  圖2-5 銷貨統(tǒng)計(jì)界面</p><p><b> 

95、 進(jìn)貨表界面</b></p><p>  圖2-6 進(jìn)貨表窗體</p><p>  銷售表、退貨表、商品庫存表、進(jìn)貨商表與進(jìn)貨表基本相同,表略。 </p><p>  查詢庫存表界面 修改密碼界面</p><p>  圖2-7 查詢現(xiàn)存商品窗體 圖2-8 修改密碼窗體

96、</p><p><b>  管理員工表界面</b></p><p>  圖2-9管理員工表窗體</p><p><b>  關(guān)于界面</b></p><p><b>  圖2-10關(guān)于窗體</b></p><p>  當(dāng)普通用戶登陸本系統(tǒng)時(shí),其權(quán)限只有

97、主界面的交易管理和系統(tǒng)管理。下面列出交易管理模塊中的三個(gè)窗體。</p><p><b>  銷貨界面</b></p><p>  圖2-11 添加銷貨信息窗體</p><p><b>  退貨界面</b></p><p>  圖2-12 添加退貨信息界面</p><p>&

98、lt;b>  進(jìn)貨界面</b></p><p>  圖2-13 添加進(jìn)貨信息窗體</p><p><b>  第四章 系統(tǒng)實(shí)施</b></p><p><b>  4.1系統(tǒng)測試</b></p><p>  本章是對超市管理系統(tǒng)進(jìn)行全面測試,目的在于屏蔽掉系統(tǒng)無法識別的多種非法操作

99、。已防止在用戶對本系統(tǒng)進(jìn)行使用時(shí)錯(cuò)誤操作造成系統(tǒng)出錯(cuò)。</p><p>  在本超市管理系統(tǒng)所有界面和功能都已設(shè)計(jì)完畢后,需要對其進(jìn)行一下測試,以屏蔽掉許多的非法操作,進(jìn)一步完善本超市管理系統(tǒng)。具體測試結(jié)果如下:</p><p>  (1)對交易管理模塊進(jìn)行測試:</p><p>  在進(jìn)貨登記窗體中,發(fā)現(xiàn)對于進(jìn)貨編號系統(tǒng)需要對其進(jìn)行唯一設(shè)定,即入庫登記時(shí)進(jìn)貨編號應(yīng)

100、是buy(進(jìn)貨表)表中所沒有的。所以需要先屏蔽掉該處的非法操作。具體做法是:在窗體級變量中定義一個(gè)變量rs_buy,作為對buy(進(jìn)貨表)表的記錄集。讓記錄集連接到一個(gè)指定進(jìn)貨編號為進(jìn)貨登記窗體中文本框text2的text屬性的值的進(jìn)貨表記錄中,如果該記錄的編號與正在添加的進(jìn)貨信息中的進(jìn)貨編號一致,則提示用戶該編號已無法使用。如圖5-1所示:</p><p><b>  圖5-1</b>&l

101、t;/p><p>  其實(shí)現(xiàn)主要代碼如下所示:</p><p>  Dim rs_buy As New ADODB.Recordset ‘ 定義連接buy表的記錄集</p><p>  Dim str_buy As String ‘ 定義連接SQL的連接字符串</p><p>  Private Sub Command

102、1_Click() ‘ 單擊商品入庫按鈕事件</p><p>  str_buy = "select * from buy where 進(jìn)貨編號='" & Text1.Text & "'"</p><p>  rs_buy.Open str_buy, cnn, adOpenStatic, adLock

103、Optimistic </p><p>  If rs_buy.EOF = True Then</p><p>  rs_buy.AddNew </p><p>  rs_buy.Fields("進(jìn)貨編號") = Text1.Text</p><p>  ……’將進(jìn)貨信息添加到buy(進(jìn)貨表)表中&l

104、t;/p><p>  rs_buy.Update</p><p>  rs_buy.Close ' 關(guān)閉進(jìn)貨表</p><p><b>  Else</b></p><p>  MsgBox "此進(jìn)貨編號已存在,請重添!", vbOKOn

105、ly + vbInformation, "注意"</p><p>  Text1.Text = ""</p><p>  Text1.SetFocus </p><p>  rs_buy.Close</p><p><b>  Exit Sub</b></p><

106、;p><b>  End If</b></p><p><b>  End Sub </b></p><p>  對于進(jìn)貨信息入庫操作中,需要對商品編號進(jìn)行核對,如果新輸入的商品編號為goods表所有,則直接將該添加信息的數(shù)量添加到goods表相對應(yīng)的記錄上即可。同時(shí)為了方便用戶的操作,在輸入商品編號的文本框text2的Change事件里設(shè)

107、定了關(guān)于已存在商品編號的處理:將該商品的其它屬性自動添加到該窗體的對應(yīng)文本框中。進(jìn)貨商信息的添加一樣需要屏蔽掉相同的廠商編號。</p><p>  在銷貨登記窗體中,銷貨編號也要保持其唯一性,具體做法與上面所說的屏蔽進(jìn)貨編號大體一致,這里就不在說明了。同時(shí)為了方便用戶的操作,在輸入商品編號的文本框text2的Change事件里設(shè)定了關(guān)于已存在商品編號的處理:將該商品的其它屬性自動添加到該窗體的對應(yīng)文本框中。進(jìn)貨商

108、信息的添加一樣需要屏蔽掉相同的廠商編號。</p><p>  在退貨登記窗體中,先對退貨編號的唯一性進(jìn)行一下設(shè)定,具體做法同進(jìn)貨編號唯一性的設(shè)定一致,這里也不在詳細(xì)說明了。</p><p> ?。?)對進(jìn)貨統(tǒng)計(jì)模塊的測試:</p><p>  由于本模塊中四個(gè)字菜單的窗體界面大體一致,所以我只對其一個(gè)界面的測試進(jìn)行一下介紹:在今日進(jìn)貨子菜單中,首先發(fā)現(xiàn)在buy表為空

109、的時(shí)候,8個(gè)命令按紐的點(diǎn)擊將產(chǎn)生非法操作,也就是記錄集無法實(shí)現(xiàn)上下移動。具體修改操作如下:先定義一個(gè)窗體集的變量rs_buy,用來對進(jìn)貨表進(jìn)行操作,將該記錄集要打開的SQL語句中添加一個(gè)buy表的打開操作,如果打開該窗體發(fā)現(xiàn)沒有記錄,則將8個(gè)Command命令按紐的Enable屬性設(shè)為False。其它三個(gè)子菜單的測試也產(chǎn)生了同樣的錯(cuò)誤,也需要對3個(gè)子菜單中的8個(gè)Command命令按紐進(jìn)行相對屏蔽,在這里就不詳細(xì)介紹了。其相關(guān)代碼如下所示

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論