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

下載本文檔

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

文檔簡介

1、<p><b>  超市管理系統(tǒng)</b></p><p><b>  前言</b></p><p>  超市管理系統(tǒng)是一個超市不可缺少的部分,它的內(nèi)容對于超市的決策者和管理者來說都至關(guān)重要,所以超市管理系統(tǒng)應(yīng)該能夠為用戶提供充足的信息和快捷的銷售,查詢手段。但一直以來人們使用傳統(tǒng)人工的方式管理文件信息,這種管理方式存在著許多缺點,如:效

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

3、量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高超市管理的效率,也是企業(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ù)庫的建立和維護以及前端應(yīng)用程序的開發(fā)兩個方面。對于前者要求建立起數(shù)據(jù)一致性和完整性強、數(shù)據(jù)安全性好的庫。而對于后者則要求應(yīng)用程序功能完備,易使用等特點。經(jīng)過分析,我們使用 MICROSOFT公司的 VISUAL BASIC開發(fā)工具,利用其提供的各種面向?qū)ο蟮拈_發(fā)工具,尤其是數(shù)據(jù)窗口這一能方便而簡潔操縱數(shù)據(jù)庫的智能化對象,首先在短時間內(nèi)建立系統(tǒng)應(yīng)用原型,然后,對初始原型系

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

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

20、模塊設(shè)計...........................................15</p><p>  第三章 數(shù)據(jù)庫設(shè)計.......................................... .........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)實施......... .. .......................................... .......29</p><p>  4.1系統(tǒng)測試......... .. .......................................... .......29</p><p>  4.2系統(tǒng)特點......... .. .

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

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

25、 主要參考文獻......... .. .......................................... .......42</p><p><b>  引言</b></p><p>  本軟件使用Microsoft Visual Basic 6.0進行編寫。數(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è)計和程序設(shè)計等知識。數(shù)據(jù)庫技術(shù)的基本思想是對數(shù)據(jù)實行集中,統(tǒng)一,獨立的管理,用戶可以最大限度的共享數(shù)據(jù)資源。</p><p>  數(shù)據(jù)庫系統(tǒng)實際上是一個應(yīng)用系統(tǒng),它是在計算機硬,軟件系統(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ù)庫的特點:1.實現(xiàn)數(shù)據(jù)共享 2.實現(xiàn)數(shù)據(jù)獨立3.減少了數(shù)據(jù)冗余度 4.避免了數(shù)據(jù)不一致性5.加強了對數(shù)據(jù)的保護。</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>  一個數(shù)據(jù)庫應(yīng)用系統(tǒng)通常是由數(shù)據(jù)庫和應(yīng)用程序兩部分組成,它們是在數(shù)據(jù)庫管理系統(tǒng)支持下設(shè)計和開發(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è)計語言設(shè)計程序時,大都是通過編寫程序代碼來實現(xiàn)用戶界面,在設(shè)計過程中看不到界面的實際顯示效果,必須編譯后運行程序才能觀察,這很麻煩,大大影響了軟件開發(fā)的效率。Visual Basic則是應(yīng)用的面向?qū)ο蟮某绦蛟O(shè)計方法(OOP),提供了可視化的設(shè)計方法,它把程序和數(shù)據(jù)封裝起來作為一個對象,并為每個對象賦予應(yīng)有的屬性,使對象成為實在的東西。開發(fā)人員不必再為界面設(shè)計而編寫大量程序代

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

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

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

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

34、<p>  4、訪問數(shù)據(jù)庫功能:</p><p>  Visual Basic具有強大的數(shù)據(jù)庫管理功能,利用數(shù)據(jù)控件和數(shù)據(jù)庫管理窗口,可以直接建立或處理Microsoft Access格式的數(shù)據(jù)庫,并提供了強大的數(shù)據(jù)存儲和檢索功能。同時,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ù)庫訪問的加鎖機制和網(wǎng)絡(luò)數(shù)據(jù)庫的SQL的編程技術(shù),為單機上運行的數(shù)據(jù)庫提供了SQL網(wǎng)絡(luò)接口,可以在分布式環(huán)境

36、中快速而有效地實現(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ù)據(jù)。Visual Basic提供了動態(tài)數(shù)

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

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

39、言的功能,對訪問機器硬件的操作不太容易實現(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ù),實現(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ù)使用,使其具有了最廣大意義上的可通用性和擴展性。</p><p>  使用Visual Basic 的菜單編輯器即可建立菜單或者修改已經(jīng)存在的菜單。由于大家對菜單等的使用已駕輕就熟,現(xiàn)著重對主要控件的使用作個介紹:</p>

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

42、一個可以在窗體上浮動的工具,同時也是其他ActiveX的容器。通過在ToolBar中遷入其它控件即可以向用戶提供更好應(yīng)用功能。Toolbar又是一個工具條控件,是實現(xiàn)工具條的主體。其中的按鈕可以顯示圖像和標(biāo)題,并按功能分組或加入分隔符,還可以設(shè)置鼠標(biāo)停留在其上顯示的提示字符。Toolbar還是一個控件容器且具有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控件名,使控件定義按鈕獲得熱點時顯示的圖像。</p><p>  7.DisabledImageList控件:定義工具條按鈕無效時顯示的圖像。</p><p>  1.3 ACCESS數(shù)據(jù)庫介紹</p><p>  Microsoft Access 是微軟公司開發(fā)的第一個面向Windows平臺的桌面

45、數(shù)據(jù)庫管理系統(tǒng),它充分利用了Windows平臺的優(yōu)越性,如圖形界面和Windows的事件驅(qū)動機制等。</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)有所補充。它能操作其它來源的資料,包括許多流行的PC數(shù)據(jù)庫程序(如dBASE,P

46、aradox,Microsoft FoxPro)和服務(wù)器、小型積極大型機上的許多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ū)別就是:您不用寫一行代碼,就可以在很短的時間里開發(fā)出一個功能強大而且相當(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è)計用來同新的數(shù)據(jù)訪問層OLE DB Provider一起協(xié)同工作,以提高通用數(shù)據(jù)訪問(Universal Data Access).OLE DB是一個低層的數(shù)據(jù)訪問接口,用它可以訪問各種

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

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

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

51、個記錄集是一個連接的數(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是一個通用的、功能極強的關(guān)系數(shù)據(jù)庫語言。</p><p>  SQL語言之所以能夠為用戶和業(yè)界所接受,并成為國際標(biāo)準(zhǔn),是因為它是一個綜合的、功能極強同時有簡單易學(xué)的語言。SQL語言集數(shù)據(jù)查詢(Data Query)、數(shù)據(jù)操縱(Data Manipulation)、數(shù)據(jù)定義(Data Definition)和數(shù)據(jù)控制(Data Control)功能于一體,主要特點包

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

92、,然后將商品庫存表中響應(yīng)的商品的數(shù)量做相對調(diào)整,保證商品數(shù)量的一致性。退貨登記時將退貨信息添加到退貨表中,然后將退貨數(shù)量從銷售表中減掉,最后將退貨數(shù)量加到商品庫存表中。在本系統(tǒng)管理員登陸時,顯示給管理員的第一個界面:系統(tǒng)初始化也是本系統(tǒng)的又一大功能特色,其實現(xiàn)過程中要嚴格控制每一個記錄集對相應(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>  進入系統(tǒng)初始化界面 </p><p>  圖2-2 系統(tǒng)初始化窗體</p><p>  圖2-3 管理員主界面</p><p>  管理

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

95、 進貨表界面</b></p><p>  圖2-6 進貨表窗體</p><p>  銷售表、退貨表、商品庫存表、進貨商表與進貨表基本相同,表略。 </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)時,其權(quán)限只有

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

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

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

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

101、t;/p><p>  其實現(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 進貨編號='" & 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("進貨編號") = Text1.Text</p><p>  ……’將進貨信息添加到buy(進貨表)表中&l

104、t;/p><p>  rs_buy.Update</p><p>  rs_buy.Close ' 關(guān)閉進貨表</p><p><b>  Else</b></p><p>  MsgBox "此進貨編號已存在,請重添!", 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>  對于進貨信息入庫操作中,需要對商品編號進行核對,如果新輸入的商品編號為goods表所有,則直接將該添加信息的數(shù)量添加到goods表相對應(yīng)的記錄上即可。同時為了方便用戶的操作,在輸入商品編號的文本框text2的Change事件里設(shè)

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

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

109、的時候,8個命令按紐的點擊將產(chǎn)生非法操作,也就是記錄集無法實現(xiàn)上下移動。具體修改操作如下:先定義一個窗體集的變量rs_buy,用來對進貨表進行操作,將該記錄集要打開的SQL語句中添加一個buy表的打開操作,如果打開該窗體發(fā)現(xiàn)沒有記錄,則將8個Command命令按紐的Enable屬性設(shè)為False。其它三個子菜單的測試也產(chǎn)生了同樣的錯誤,也需要對3個子菜單中的8個Command命令按紐進行相對屏蔽,在這里就不詳細介紹了。其相關(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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論