超市簡(jiǎn)易收銀系統(tǒng)_第1頁(yè)
超市簡(jiǎn)易收銀系統(tǒng)_第2頁(yè)
超市簡(jiǎn)易收銀系統(tǒng)_第3頁(yè)
超市簡(jiǎn)易收銀系統(tǒng)_第4頁(yè)
超市簡(jiǎn)易收銀系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩39頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、學(xué)號(hào) 畢業(yè)設(shè)計(jì)題目:小型超市收銀系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 作 者 屆 別 2011屆 院 別 計(jì)算機(jī)學(xué)院 專 業(yè) 計(jì)算機(jī)科學(xué)與技術(shù) 指導(dǎo)教師 職 稱 講 師 完成時(shí)間 2011年5月20號(hào) 摘 要隨著銷售行業(yè)競(jìng)爭(zhēng)日益激烈,小型超市收銀系統(tǒng)的引入顯得極其重要。它不但可以提高進(jìn)銷存管理的工作效率,而且可以有效減少盲目采購(gòu)、降低采購(gòu)成本、合理控制庫(kù)存、減少資金占用并提高市場(chǎng)靈敏度,從根本上提升超市的市場(chǎng)競(jìng)爭(zhēng)力。本系統(tǒng)運(yùn)用計(jì)算機(jī)管理信息技術(shù),建立數(shù)據(jù)庫(kù),對(duì)超市的進(jìn)銷存過程進(jìn)行詳細(xì)的分析,實(shí)現(xiàn)了對(duì)超市的進(jìn)貨、銷售和庫(kù)存的科學(xué)管理。它主要包括以下幾大模塊:登錄模塊、商品入庫(kù)模塊、商品銷售模塊、營(yíng)業(yè)統(tǒng)計(jì)模塊、商品信

2、息模塊、供應(yīng)商信息模塊、用戶信息模塊。各模塊相許獨(dú)立,同時(shí)又構(gòu)成統(tǒng)一的整體。 本文主要介紹了小型超市收銀系統(tǒng)的環(huán)境、所用到的開發(fā)語(yǔ)言、功能作用、設(shè)計(jì)的方案等各方面的內(nèi)容,其目的在于讓使用者了解此系統(tǒng),使他們能更好的運(yùn)用本系統(tǒng),使此系統(tǒng)發(fā)揮出應(yīng)有的作用。另外在文中還予以指出了系統(tǒng)開發(fā)有待于進(jìn)一步完善發(fā)展的方向。關(guān)鍵詞:收銀系統(tǒng);控件;窗體;.net平臺(tái)V目 錄摘 要IABSTRACTII1 緒 論11.1 研究課題的目的11.2 研究課題的意義22 需求分析32.1 可行性研究32.2 需求分析32.3 開發(fā)環(huán)境介紹43 總體設(shè)計(jì)73.1 設(shè)計(jì)思想73.2 設(shè)計(jì)原則73.3 功能模塊和結(jié)構(gòu)設(shè)計(jì)7

3、3.4 數(shù)據(jù)庫(kù)設(shè)計(jì)94 系統(tǒng)實(shí)現(xiàn)164.1 登陸系統(tǒng)模塊164.2 商品信息模塊174.3 商品入庫(kù)模塊184.4 商品銷售模塊194.5 營(yíng)業(yè)統(tǒng)計(jì)模塊234.6 供應(yīng)商模塊244.7 用戶信息模塊265 總結(jié)27參 考 文 獻(xiàn)28致 謝29附 錄301 緒 論隨著現(xiàn)代科學(xué)技術(shù)的迅猛發(fā)展,人們的生活方式正發(fā)生著巨大的變化。計(jì)算機(jī)技術(shù)已經(jīng)滲透到各個(gè)領(lǐng)域,成為各個(gè)行業(yè)必不可少的工具。特別是Internet技術(shù)的推廣和信息高速公路的建立,使得IT產(chǎn)業(yè)在市場(chǎng)競(jìng)爭(zhēng)中越發(fā)顯示出其獨(dú)特的優(yōu)勢(shì)??茖W(xué)技術(shù)是第一生產(chǎn)力,科學(xué)技術(shù)的發(fā)展讓人類更加受益。各類信息系統(tǒng)應(yīng)用于各行各業(yè),不但給管理上帶來(lái)了極大的便利,而且還

4、提高了工作效率。中小型超市在我國(guó)經(jīng)濟(jì)發(fā)展中具有重要地位,目前我國(guó)的中小型超市數(shù)量多,地區(qū)分布廣泛,行業(yè)分布跨度大。隨著全球經(jīng)濟(jì)一體化的發(fā)展和電子商務(wù)的興起,中小型超市之間的競(jìng)爭(zhēng)將越來(lái)越激烈。網(wǎng)絡(luò)及電子商務(wù)的迅猛發(fā)展突破了時(shí)間、空間的局限性,給中小型超市帶來(lái)了更多的發(fā)展機(jī)會(huì),同時(shí)也增大了超市行業(yè)間的競(jìng)爭(zhēng)強(qiáng)度。這就要求中小型超市必須改變營(yíng)業(yè)管理模式,提高運(yùn)營(yíng)效率。目前,我國(guó)中小型超市的信息化水平還很低。隨著技術(shù)的發(fā)展,電腦操作及管理日趨簡(jiǎn)化,電腦知識(shí)日趨普及,同時(shí)市場(chǎng)經(jīng)濟(jì)快速多變,競(jìng)爭(zhēng)激烈,超市行業(yè)采用電腦管理進(jìn)貨、庫(kù)存、銷售等諸多環(huán)節(jié)也已成為必然趨勢(shì)。1.1 研究課題的目的社會(huì)生活的現(xiàn)代化,使得

5、市場(chǎng)的走向發(fā)生巨大變化,由于經(jīng)濟(jì)的發(fā)展,人民對(duì)生活的需求已經(jīng)不再滿足于豐衣足食的低度要求,許多人們往往不是單純?yōu)闈M足生活必須去購(gòu)買,而是憑著喜歡、意欲和感官去購(gòu)買。如果一個(gè)商店能夠打動(dòng)顧客、吸引顧客,自然會(huì)顧客盈門,而近幾年新興產(chǎn)業(yè)中超級(jí)市場(chǎng)(supermarket)的現(xiàn)代化管理方式和便捷的購(gòu)物方式,尤其是它輕松的購(gòu)物環(huán)境,往往是打動(dòng)顧客,吸引顧客的最主要的原因,且良好的周密的銷售服務(wù)更是贏得信譽(yù)、吸引的顧客的優(yōu)勢(shì)所在。商品經(jīng)濟(jì)的高速現(xiàn)代化發(fā)展也促進(jìn)了競(jìng)爭(zhēng),使一切不甘落后的商家都爭(zhēng)先恐后地采用最新的管理方法來(lái)加強(qiáng)自己的競(jìng)爭(zhēng)地位。因?yàn)椋薪?jīng)營(yíng)者如果不掌握當(dāng)今市場(chǎng)發(fā)展的這一走向,不能將超市現(xiàn)代化

6、經(jīng)營(yíng)作為奴努力開拓的目標(biāo),就無(wú)法使經(jīng)營(yíng)活絡(luò)、財(cái)源茂盛。現(xiàn)代化事業(yè)的發(fā)展,也使超市的管理數(shù)段發(fā)生前所未有的革命,計(jì)算機(jī)的運(yùn)用正在發(fā)達(dá)國(guó)家的各類商店超市中普及。由于它能夠準(zhǔn)確記載和查詢有關(guān)超市經(jīng)營(yíng)活動(dòng)的大量數(shù)據(jù),幫助超市經(jīng)營(yíng)者掌握和分析營(yíng)銷情況,及時(shí)作出正確決策,并且有利于商店內(nèi)部財(cái)務(wù)、工資、人員、庫(kù)存、銷售情況等管理,因而大大提高了現(xiàn)代超市的管理水平。國(guó)外很多發(fā)達(dá)資本主義國(guó)家的有關(guān)人士都在開發(fā)超市管理系統(tǒng),開發(fā)出很多大型的軟件,由于本人能力有限,開發(fā)一個(gè)小型超市管理系統(tǒng),它可以使我們國(guó)內(nèi)新起小型超市可以更好的操作。此系統(tǒng)的有減少差錯(cuò),節(jié)省人力、減少顧客購(gòu)物時(shí)間,增加客流量,提高顧客滿意度等特點(diǎn)。

7、我通過開發(fā)這個(gè)簡(jiǎn)單管理信息系統(tǒng),鞏固了以前所學(xué)的知識(shí),提高了應(yīng)用能力。1.2 研究課題的意義21世紀(jì),超市的競(jìng)爭(zhēng)進(jìn)入到了一個(gè)全新的領(lǐng)域,競(jìng)爭(zhēng)不再是規(guī)模的競(jìng)爭(zhēng),而是技術(shù)的競(jìng)爭(zhēng)、管理的競(jìng)爭(zhēng)、人才的競(jìng)爭(zhēng)。技術(shù)的提升和管理的升級(jí)是超市業(yè)的競(jìng)爭(zhēng)核心。如何在激烈的競(jìng)爭(zhēng)中擴(kuò)大銷售額、降低經(jīng)營(yíng)成本、擴(kuò)大經(jīng)營(yíng)規(guī)模,成為超市經(jīng)營(yíng)者努力追求的目標(biāo)。為了提高物資管理的水平和工作效率,盡可能杜絕商品流通中各環(huán)節(jié)中可能出現(xiàn)的資金流失不明現(xiàn)象,商品進(jìn)銷存領(lǐng)域迫切需要引進(jìn)信息系統(tǒng)來(lái)加以管理,而商品銷售管理系統(tǒng)是當(dāng)前應(yīng)用于超市或者公司管理系統(tǒng)的典型代表。從消費(fèi)者的角度來(lái)說(shuō),結(jié)帳時(shí)應(yīng)該準(zhǔn)備和快速,畢竟時(shí)間就是金錢。由于傳統(tǒng)的超市

8、收銀管理給顧客和店主帶來(lái)很多不便。針對(duì)這方面的缺陷,開發(fā)這個(gè)系統(tǒng)可以方便快捷地查出顧客結(jié)帳情況,商品信息情況,每天的售貨情況,方便了對(duì)超市商品管理、人員管理,大大提高了超市的售貨速度。進(jìn)而加速了社會(huì)的發(fā)展速度,提高了人民的生活水平??傊柚谛畔⑾到y(tǒng)可以大大提高超市的運(yùn)作效率,通過全面的信息的采集和處理,不僅輔助提高了超市的決策水平,還可以迅速提高超市的管理水平,為降低經(jīng)營(yíng)成本,提高效率,增強(qiáng)超市擴(kuò)張力,提供有效的技術(shù)保障。2 需求分析2.1 可行性研究系統(tǒng)開始和可行性研究是為系統(tǒng)開發(fā)做前期準(zhǔn)備1。在對(duì)一個(gè)項(xiàng)目的開發(fā)之前,我們總是要對(duì)其進(jìn)行一個(gè)可行性分析與需求分析,通過和指導(dǎo)老師的共同分析得

9、出了可行性開發(fā)計(jì)劃。對(duì)于需求分析我們作了如下調(diào)查分析的需求。2.1.1 技術(shù)可行性隨著軟件編程技術(shù)的不斷增加,功能的不斷加強(qiáng),和網(wǎng)絡(luò)技術(shù)的不斷成熟,信息安全的不斷完善以及開發(fā)工具的日益進(jìn)步,采用計(jì)算機(jī)系統(tǒng)來(lái)管理超市要求數(shù)據(jù)的采集、更新能夠完整、準(zhǔn)確和及時(shí),所以開發(fā)通用的超市收銀系統(tǒng)已經(jīng)完全可以做到。2.1.2 經(jīng)濟(jì)可行性因?yàn)橥ㄟ^網(wǎng)絡(luò)傳遞銷售信息,可以不受距離的限制,因此可以節(jié)約許多的人力和物力,方便管理,由此可以減少不必要的開支,同時(shí)該系統(tǒng)可以提高超市的銷售效率,即提高了超市的經(jīng)濟(jì)效益,所以從經(jīng)濟(jì)上是完全可行的。2.1.3 操作可行性本系統(tǒng)采用Windows圖形界面,是大家熟悉的操作系統(tǒng),對(duì)于

10、用戶只需要具有一般的計(jì)算機(jī)知識(shí)的人員都可以輕松上手。而且整個(gè)銷售系統(tǒng)采用最友好的交互界面,簡(jiǎn)潔明了,不需要對(duì)數(shù)據(jù)庫(kù)非常了解。 由此,該系統(tǒng)的操作是可行的,有必要推廣該系統(tǒng)。綜合以上三方面,該系統(tǒng)具有很高的開發(fā)可行性,無(wú)論是從技術(shù)上經(jīng)濟(jì)上還是操作上。故此,可以設(shè)計(jì)該系統(tǒng)流程圖,建立數(shù)據(jù)字典。2.2 需求分析對(duì)于大型超市信息管理系統(tǒng)來(lái)說(shuō),通常它會(huì)把員工人事管理系統(tǒng)也包括在內(nèi)。由于現(xiàn)考慮的是小型超市,其可承擔(dān)的研發(fā)支費(fèi)也有限2。所以在這個(gè)系統(tǒng)中,要實(shí)現(xiàn)的功能主要如下:(1) 功能要求對(duì)庫(kù)存產(chǎn)品進(jìn)行資料管理和統(tǒng)計(jì);對(duì)產(chǎn)品的進(jìn)貨單和產(chǎn)品的銷售單進(jìn)行錄入管理和統(tǒng)計(jì);對(duì)進(jìn)貨、銷售、庫(kù)存情況進(jìn)行查詢;對(duì)用戶進(jìn)

11、行管理,具體為添加用戶、刪除用戶、修改用戶密碼;對(duì)供應(yīng)商基本信息的管理;對(duì)贏利狀況分析,進(jìn)行營(yíng)業(yè)統(tǒng)計(jì),按年月日及商品類別統(tǒng)計(jì);(2) 數(shù)據(jù)精確度產(chǎn)品的進(jìn)貨單和銷售單中,單價(jià)、金額采用浮點(diǎn)數(shù),數(shù)量都取整數(shù)。(3) 時(shí)間特性該系統(tǒng)軟件從啟動(dòng)到進(jìn)入系統(tǒng)登錄界面的時(shí)間正常情況下少于5秒,錄入并更新數(shù)據(jù)的時(shí)間正常情況下少于10秒。(4) 適用性該管理系統(tǒng)軟件適用于Windows 2000/Windows XP中文版下運(yùn)行。2.3 開發(fā)環(huán)境介紹該系統(tǒng)屬于管理信息系統(tǒng),管理信息系統(tǒng)(MIS,Management Information System)可以保存用戶信息,通過對(duì)信息進(jìn)行分析和處理,可以幫助用戶制

12、定計(jì)劃、規(guī)范管理或提供決策依據(jù)。超市收銀系統(tǒng)具有其特殊性,通常采用C/S結(jié)構(gòu),考慮到其為小型超市,所以在架構(gòu)上面選擇兩層。2.3.1 C#介紹C sharp(又被簡(jiǎn)稱為”C#”)是微軟公司在2000年6月發(fā)布的一種新的編程語(yǔ)言。C#看起來(lái)與Java有著驚人的相似;它包括了諸如單一繼承,界面,與Java幾乎同樣的語(yǔ)法,和編譯成中間代碼再運(yùn)行的過程。但是C#與Java有著明顯的不同,它借鑒了Delphi的一個(gè)特點(diǎn),與COM(組件對(duì)象模型)是直接集成的,而且它是微軟公司.NET windows網(wǎng)絡(luò)框架的主角3。C#在帶來(lái)對(duì)應(yīng)用程序的快速開發(fā)能力的同時(shí),并沒有犧牲C與C+程序員所關(guān)心的各種特性。它忠實(shí)

13、地繼承了C和C+的優(yōu)點(diǎn)。如果你對(duì)C或C+有所了解,你會(huì)發(fā)現(xiàn)它是那樣的熟悉。即使你是一位新手,C#也不會(huì)給你帶來(lái)任何其它的麻煩,快速應(yīng)用程序開發(fā)(Rapid Application Development,RAD)的思想與簡(jiǎn)潔的語(yǔ)法將會(huì)使你迅速成為一名熟練的開發(fā)人員。C#是專門為.NET應(yīng)用而開發(fā)出的語(yǔ)言。這從根本上保證了C#與.NET框架的完美結(jié)合。在.NET運(yùn)行庫(kù)的支持下,.NET框架的各種優(yōu)點(diǎn)在C#中表現(xiàn)得淋漓盡致。C#具有如下幾個(gè)特點(diǎn):(1) 簡(jiǎn)潔的語(yǔ)法在缺省的情況下,C#的代碼在.NET框架提供的“可操縱”環(huán)境下運(yùn)行,不允許直接地內(nèi)存操作。它所帶來(lái)的最大的特色是沒有了指針。C#只支持一

14、個(gè)“.”,對(duì)于我們來(lái)說(shuō),現(xiàn)在需要理解的一切僅僅是名字的嵌套而已。(2) 精心地面向?qū)ο笤O(shè)計(jì)C#具有面向?qū)ο蟮恼Z(yǔ)言所應(yīng)有的一切特性:封裝、繼承與多態(tài)性,這并不出奇。然而,通過精心地面向?qū)ο笤O(shè)計(jì),從高級(jí)商業(yè)對(duì)象到系統(tǒng)級(jí)應(yīng)用,C#建造廣泛組件的絕對(duì)選擇。在C#的類型系統(tǒng)中,每種類型都可以看作一個(gè)對(duì)象。C#提供了一個(gè)叫做裝箱(boxing)與拆箱(unboxing)的機(jī)制來(lái)完成這種操作,而不給使用者帶來(lái)麻煩。C#只允許單繼承,即一個(gè)類不會(huì)有多個(gè)基類,從而避免了類型定義的混亂。C#中沒有了全局函數(shù),沒有了全局變量,也沒有了全局常數(shù)。一切的一切,都必須封裝在一個(gè)類之中。你的代碼將具有更好的可讀性,并且減少

15、了發(fā)生命名沖突的可能。(3) 與Web的緊密結(jié)合C#組件將能夠方便地為Web服務(wù),并允許它們通過Internet被運(yùn)行在任何操作系統(tǒng)上的任何語(yǔ)言所調(diào)用。舉個(gè)例子,XML已經(jīng)成為網(wǎng)絡(luò)中數(shù)據(jù)結(jié)構(gòu)傳遞的標(biāo)準(zhǔn),為了提高效率,C#允許直接將XML數(shù)據(jù)映射成為結(jié)構(gòu)。這樣就可以有效的處理各種數(shù)據(jù)。(4) 完整的安全性與錯(cuò)誤處理語(yǔ)言的安全性與錯(cuò)誤處理能力,是衡量一種語(yǔ)言是否優(yōu)秀的重要依據(jù)。C#的先進(jìn)設(shè)計(jì)思想可以消除軟件開發(fā)中的許多常見錯(cuò)誤,并提供了包括類型安全在內(nèi)的完整的安全性能。內(nèi)存管理中的垃圾收集機(jī)制減輕了開發(fā)人員對(duì)內(nèi)存管理的負(fù)擔(dān)。.NET平臺(tái)提供的垃圾收集器(Garbage Collection,GC)

16、將負(fù)責(zé)資源的釋放與對(duì)象撤銷時(shí)的內(nèi)存清理工作。(5) 版本處理技術(shù)C#提供內(nèi)置的版本支持來(lái)減少開發(fā)費(fèi)用,使用C#將會(huì)使開發(fā)人員更加輕易地開發(fā)和維護(hù)各種商業(yè)用戶。(6) 靈活性和兼容性如果需要,C#允許你將某些類或者類的某些方法聲明為非安全的。如此就能使用指針、結(jié)構(gòu)和靜態(tài)數(shù)組。此外,它還引進(jìn)了模擬指針功能的-delegates,指代。C#不支持類的多繼承,但是通過對(duì)接口的繼承,你將獲得這一功能。2.3.2 SQL Server2005介紹Microsoft公司的SQL Server是關(guān)系型網(wǎng)絡(luò)數(shù)據(jù)庫(kù)管理系統(tǒng),它的工作環(huán)境為Microsoft Windows NT 系列或Microsoft Wind

17、ows98。SQL Server與Microsoft公司的其它軟件,如Microsoft office和Microsoft Visual Studio設(shè)計(jì)風(fēng)格一致,并能相互配合。SQL Server具有分布式數(shù)據(jù)庫(kù)和倉(cāng)庫(kù)管理功能,支持客戶機(jī)/服務(wù)器結(jié)構(gòu),并能進(jìn)行分布式事務(wù)處理和聯(lián)機(jī)分析處理。SQL Server具有強(qiáng)大的數(shù)據(jù)庫(kù)管理功能,它提供豐富的管理工具以支持?jǐn)?shù)據(jù)庫(kù)的安全性管理、完整性管理和作業(yè)管理。SQL Server還具有強(qiáng)大的網(wǎng)絡(luò)功能,支持發(fā)布Web頁(yè)面和接收電子郵件。SQL Server支持ANSI SQL(標(biāo)準(zhǔn)SQL),并將標(biāo)準(zhǔn)SQL擴(kuò)展成為更加實(shí)用的Transact-SQL4。使

18、用SQL Server 2005,開發(fā)人員通過使用相似的語(yǔ)言,例如微軟的Visual C# .NET和微軟的Visual Basic,將能夠創(chuàng)立數(shù)據(jù)庫(kù)對(duì)象。開發(fā)人員還將能夠建立兩個(gè)新的對(duì)象用戶定義的類和集合。在使用本地網(wǎng)絡(luò)和互聯(lián)網(wǎng)的情況下,在不同應(yīng)用軟件之間散步數(shù)據(jù)的時(shí)候,可擴(kuò)展標(biāo)記語(yǔ)言(XML)是一個(gè)重要的標(biāo)準(zhǔn)。SQL Server 2005將會(huì)自身支持存儲(chǔ)和查詢可擴(kuò)展標(biāo)記語(yǔ)言文件。從對(duì)SQL類的新的支持,到多活動(dòng)結(jié)果集(MARS),SQL Server 2005中的ADO.NET將推動(dòng)數(shù)據(jù)集的存取和操縱,實(shí)現(xiàn)更大的可升級(jí)性和靈活性。2.3.3 C/S介紹 在網(wǎng)絡(luò)連接模式中,除對(duì)等網(wǎng)外,還有

19、另一種形式的網(wǎng)絡(luò),即客戶機(jī)/服務(wù)器網(wǎng),Client/Server。在客戶機(jī)/服務(wù)器網(wǎng)絡(luò)中,服務(wù)器是網(wǎng)絡(luò)的核心,而客戶機(jī)是網(wǎng)絡(luò)的基礎(chǔ),客戶機(jī)依靠服務(wù)器獲得所需要的網(wǎng)絡(luò)資源,而服務(wù)器為客戶機(jī)提供網(wǎng)絡(luò)必須的資源。這里客戶和服務(wù)器都是指通信中所涉及的兩個(gè)應(yīng)用進(jìn)程(軟件),所以有時(shí)要根據(jù)上下文判斷client與server是指軟件還是硬件。C/S可以充分利用兩端硬件環(huán)境的優(yōu)勢(shì),將任務(wù)合理分配到 Client端和Server端來(lái)實(shí)現(xiàn),降低了系統(tǒng)的通訊開銷5。 最簡(jiǎn)單的C/S體系結(jié)構(gòu)的數(shù)據(jù)庫(kù)應(yīng)用,由兩部分組成,即客戶應(yīng)用程序和數(shù)據(jù)庫(kù)服務(wù)器程序。二者可分別稱為前臺(tái)程序與后臺(tái)程序。運(yùn)行數(shù)據(jù)庫(kù)服務(wù)器程序的機(jī)器,稱

20、為應(yīng)用服務(wù)器,一旦服務(wù)器程序被啟動(dòng),就隨時(shí)等待響應(yīng)客戶程序發(fā)來(lái)的請(qǐng)求;客戶程序運(yùn)行在用戶自己的電腦上,對(duì)應(yīng)于服務(wù)器電腦,可稱為客戶電腦。當(dāng)需要對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行任何操作時(shí),客戶程序就自動(dòng)地尋找服務(wù)器程序,并向其發(fā)出請(qǐng)求,服務(wù)器程序根據(jù)預(yù)定的規(guī)則作出應(yīng)答,送回結(jié)果。在典型的C/S數(shù)據(jù)庫(kù)應(yīng)用中,數(shù)據(jù)的儲(chǔ)存管理功能,是由服務(wù)器程序獨(dú)立進(jìn)行的,并且通常把那些不同的(不管是已知還是未知的)前臺(tái)應(yīng)用所不能違反的規(guī)則,在服務(wù)器程序中集中實(shí)現(xiàn),例如訪問者的權(quán)限,編號(hào)不準(zhǔn)重復(fù)、必須有客戶才能建立定單這樣的規(guī)則。所有這些,對(duì)于工作在前臺(tái)程序上的最終用戶,是“透明”的,他們無(wú)須過問(通常也無(wú)法干涉)這背后的過程,

21、就可以完成自己的一切工作。在客戶服務(wù)器架構(gòu)的應(yīng)用中,前臺(tái)程序可以變的非常“瘦小”,麻煩的事情,都交給了服務(wù)器和網(wǎng)絡(luò)。在C/S體系的下,數(shù)據(jù)庫(kù)真正變成了公共、專業(yè)化的倉(cāng)庫(kù),受到獨(dú)立的專門管理。3 總體設(shè)計(jì)3.1 設(shè)計(jì)思想(1) 系統(tǒng)分成幾個(gè)相對(duì)獨(dú)立的模塊,但這些模塊都進(jìn)行集中式管理。(2) 分層的模塊化程序設(shè)計(jì)思想,整個(gè)系統(tǒng)采用模塊化機(jī)構(gòu)設(shè)計(jì)。作為應(yīng)用程序有較強(qiáng)的可操作性和擴(kuò)展性。(3) 合理的數(shù)據(jù)流設(shè)計(jì),在應(yīng)用系統(tǒng)設(shè)計(jì)中,相對(duì)獨(dú)立的模塊間以數(shù)據(jù)流相互連接,使各模塊間的耦合性較低,方便系統(tǒng)運(yùn)行,提高系統(tǒng)安全性。3.2 設(shè)計(jì)原則為了使本系統(tǒng)功能齊全完備,操作簡(jiǎn)便,最大限度的提高軟件的質(zhì)量,從而滿足

22、用戶的實(shí)際需要,在設(shè)計(jì)開發(fā)過程中遵循了,如下原則:(1) 合法性原則:依據(jù)產(chǎn)品核算系統(tǒng)的工作規(guī)定以及要求,參照核算實(shí)際的工作情況,進(jìn)行諸如商品進(jìn)貨、銷售等工作。(2) 實(shí)用性原則:適合產(chǎn)品信息管理工作的實(shí)際需求,并能夠處理一些特殊情況的要求,此外,盡可能預(yù)留空間,以便擴(kuò)充功能。(3) 準(zhǔn)確性原則:對(duì)輸入的相關(guān)資料建立檢錯(cuò)機(jī)制,及時(shí)報(bào)錯(cuò),使用戶能夠及時(shí)準(zhǔn)確的輸入合法資料(如類型匹配,長(zhǎng)度不超限等)。(4) 易操作原則:要求設(shè)計(jì)的系統(tǒng)功能齊全,接口友好,操作方便,必要的地方進(jìn)行提示。(5) 源程序可讀性原則:為了便于其它設(shè)計(jì),維護(hù)人員讀懂代碼或以后的代碼修改,軟件升級(jí)維護(hù),既可能做好代碼注釋工作。

23、(6) 優(yōu)化原則:為了達(dá)到優(yōu)化的目的,合理的運(yùn)用窗口,菜單,對(duì)象等的繼承,自定義用戶對(duì)象,事件,函數(shù),減少不必要的重復(fù)性代碼,使程序簡(jiǎn)潔明了,也方便了將來(lái)的維護(hù)。(7) 安全性原則:該系統(tǒng)的管理員具有可設(shè)置登陸密碼,修改密碼的權(quán)限。經(jīng)過前面的設(shè)計(jì),我們對(duì)整個(gè)系統(tǒng)有了一個(gè)初步的認(rèn)識(shí),并對(duì)各個(gè)模塊進(jìn)行了功能分化。 3.3 功能模塊和結(jié)構(gòu)設(shè)計(jì) 小型超市管理系統(tǒng)包括系統(tǒng)管理員、庫(kù)存管理員、商品銷售員三大角色,對(duì)應(yīng)本系統(tǒng)中的權(quán)限,根據(jù)權(quán)限的不同,可操作的業(yè)務(wù)不同。本節(jié)將對(duì)小型超市收銀系統(tǒng)進(jìn)行總體設(shè)計(jì),介紹系統(tǒng)的總體功能和模塊劃分。3.3.1 系統(tǒng)結(jié)構(gòu)小型超市收銀系統(tǒng)所包含的功能模塊有:商品入庫(kù)模塊、商品

24、銷售模塊、營(yíng)業(yè)統(tǒng)計(jì)模塊、商品信息模塊、供應(yīng)商信息模塊、用戶信息模塊。系統(tǒng)功能結(jié)構(gòu)圖見圖3-1。小型超市收銀系統(tǒng)商品入庫(kù)商品銷售營(yíng)業(yè)統(tǒng)計(jì)商品信息供應(yīng)商信息用戶信息圖3-1 系統(tǒng)功能結(jié)構(gòu)圖超市收銀系統(tǒng)的業(yè)務(wù)流程圖,如圖3-2所示。圖3-2 系統(tǒng)業(yè)務(wù)流程圖3.3.2 系統(tǒng)各功能模塊定義(1) 商品入庫(kù)模塊該模塊用于實(shí)現(xiàn)商品的入庫(kù)管理,當(dāng)供應(yīng)商所供商品出現(xiàn)問題需退貨時(shí)可以實(shí)現(xiàn)退貨管理。另外用戶還可以根據(jù)條件查詢相關(guān)的入庫(kù)記錄。(2) 商品銷售模塊該模塊用于實(shí)現(xiàn)商品售出、收銀功能。顧客倘若對(duì)商品不滿意還可以進(jìn)行退貨處理。(3) 營(yíng)業(yè)統(tǒng)計(jì)模塊該模塊實(shí)現(xiàn)商品銷售情況及入庫(kù)情況統(tǒng)計(jì)分析,讓系統(tǒng)用戶可以根據(jù)時(shí)間

25、查詢統(tǒng)計(jì)信息。(4) 商品信息模塊該模塊實(shí)現(xiàn)商品基本信息的管理,如商品的添加、修改、刪除操作、條件查詢。對(duì)于低于庫(kù)存報(bào)警值的商品會(huì)顯示出來(lái)。(5) 用戶信息模塊該模塊實(shí)現(xiàn)用戶基本信息的管理,含用戶的添加、修改、刪除,用戶信息記錄的瀏覽。(6) 供應(yīng)商信息模塊該模塊實(shí)現(xiàn)供應(yīng)商基本信息的管理,系統(tǒng)用戶可以實(shí)現(xiàn)供應(yīng)商信息的添加、刪除、修改,條件查詢以及查看供應(yīng)商可提供的相關(guān)商品。3.4 數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)在一個(gè)管理信息系統(tǒng)中占有非常重要的地位,數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)的好壞將直接對(duì)應(yīng)用系統(tǒng)的效率以及實(shí)現(xiàn)的效果產(chǎn)生影響。合理的數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)可以提高數(shù)據(jù)存儲(chǔ)的效率,保證數(shù)據(jù)的完整和一致,同時(shí),合理的數(shù)據(jù)庫(kù)也將有利于

26、程序的實(shí)現(xiàn)6。設(shè)計(jì)數(shù)據(jù)庫(kù)系統(tǒng)時(shí)應(yīng)該充分了解用戶各個(gè)方面的需求,包括現(xiàn)有的以及將來(lái)可能增加的需求。3.4.1 數(shù)據(jù)庫(kù)的需求分析SQL Server數(shù)據(jù)庫(kù)的建立方法可以分成兩個(gè)階段,第一個(gè)階段是根據(jù)要輸入的數(shù)據(jù)性質(zhì),新增表并設(shè)置表的字段名稱、數(shù)據(jù)類型和語(yǔ)句,第二個(gè)階段是在表內(nèi)輸入數(shù)據(jù)。根據(jù)上述系統(tǒng)功能的分析,得出系統(tǒng)有如下需求信息:(1) 系統(tǒng)必須能夠區(qū)別各種用戶,如庫(kù)存員、收銀員。(2) 系統(tǒng)支持用戶的增加、登陸。(3) 系統(tǒng)必須能夠顯示各種商品的信息,并允許用戶使用搜索功能來(lái)查找自己所需要的商品。(4) 系統(tǒng)必須能將所有商品信息進(jìn)行分類。(5) 系統(tǒng)能支持用戶將商品入庫(kù)、退貨。(6) 系統(tǒng)能支

27、持用戶將商品售出、退貨。(7) 系統(tǒng)支持供應(yīng)商信息的管理。(8) 系統(tǒng)支持營(yíng)業(yè)情況的查詢。經(jīng)過上述功能分析和需求總結(jié),設(shè)計(jì)如下的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu):(1) 用戶,包括數(shù)據(jù)項(xiàng):編號(hào),用戶名,密碼,權(quán)限。(2) 商品類別,包括數(shù)據(jù)項(xiàng):編號(hào),商品名稱。(3) 商品,包括數(shù)據(jù)項(xiàng):商品編號(hào)(條形碼),商品名稱,類別,庫(kù)存量、報(bào)警值,計(jì)量單位,規(guī)格,售價(jià)。(4) 供應(yīng)商,包括數(shù)據(jù)項(xiàng):名稱,聯(lián)系人,聯(lián)系電話,傳真,地址,合作起始時(shí)間。(5) 銷售記錄,包括數(shù)據(jù)項(xiàng):編號(hào),操作人,商品編號(hào),售價(jià),售出數(shù)量,售出時(shí)間。(6) 進(jìn)貨記錄,包括數(shù)據(jù)項(xiàng):商品,供應(yīng)商,操作人,進(jìn)價(jià),進(jìn)貨數(shù)量,進(jìn)貨時(shí)間。(7) 供貨,包括數(shù)

28、據(jù)項(xiàng):供應(yīng)商,商品,最新進(jìn)價(jià)。3.4.2 數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)得到上面的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)后,就可以設(shè)計(jì)出系統(tǒng)中的各個(gè)實(shí)體以及他們之間的關(guān)系,為后面的邏輯結(jié)構(gòu)設(shè)計(jì)打下基礎(chǔ)。本系統(tǒng)根據(jù)上面功能分析和需求總結(jié)設(shè)計(jì)出的實(shí)體共有下面幾個(gè),下面分別列出本系統(tǒng)所使用到的各基本實(shí)體和各實(shí)體之間的聯(lián)系。如圖3-3所示: 圖3-3 實(shí)體聯(lián)系(E-R)圖3.4.3 數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)(1) 表設(shè)計(jì)將數(shù)據(jù)庫(kù)的概念結(jié)構(gòu)設(shè)計(jì)轉(zhuǎn)換成關(guān)系模型,就得到了以下的幾張數(shù)據(jù)庫(kù)中的表7:下面分別介紹這些表。系統(tǒng)登錄用戶的基本信息保存在用戶信息表里,其中對(duì)于用戶編號(hào),通過自增方式實(shí)現(xiàn),無(wú)需用戶手動(dòng)編號(hào),編號(hào)從1000起始。詳細(xì)說(shuō)明如表3-1所

29、示。表3-1 用戶信息表(Users)序號(hào)屬性名字段名類型長(zhǎng)度NULL默認(rèn)備注1編號(hào)UserIDint4×主鍵自增,標(biāo)識(shí)種子10002真實(shí)名字UserNamevarchar10×3密碼UserPasswordvarchar50×MD5加密存儲(chǔ)4權(quán)限UserRightvarchar10×商品種類繁多,可以劃分為大范圍的不同種類。對(duì)于這些種類,已事先劃分并存儲(chǔ)于數(shù)據(jù)庫(kù)中,不需要用戶自動(dòng)添加。商品類別信息表如下表3-2。表3-2 商品類別信息表(GoodsType)序號(hào)屬性名字段名類型長(zhǎng)度NULL默認(rèn)備注1類別編號(hào)TypeIDtinyint×主鍵自增

30、2名稱TypeNamenvarchar10×商品信息表記載的是商品的詳細(xì)信息,含商品編號(hào)、名稱、類別、計(jì)量單位、規(guī)格、售價(jià)、庫(kù)存量等等。具體的各字段屬性說(shuō)明和類型如下表3-3。表3-3 商品信息表(GoodsInfo)序號(hào)屬性名字段名類型長(zhǎng)度NULL默認(rèn)備注1商品編號(hào)GoodsIDnvarchar20×主鍵2類型號(hào)TypeIDtinyint×3名稱GoodsNamenvarchar50×4計(jì)量單位GoodsUnitnvarchar5×5規(guī)格GoodsNormnvarchar206售價(jià)GoodsSellPricesmallmoney×7

31、庫(kù)存量GoodsNumint4×08報(bào)警值A(chǔ)larmNumint4×09備注GoodsRemarknvarchar100描述信息入庫(kù)記錄表包含商品入庫(kù)的相關(guān)信息,入庫(kù)信息有入庫(kù)時(shí)間、操作人、進(jìn)庫(kù)商品、商品數(shù)量等。每一筆商品的入庫(kù)都對(duì)應(yīng)一個(gè)編號(hào),具有唯一性。在這里,對(duì)編號(hào)的處理就是用入庫(kù)時(shí)的時(shí)間做編號(hào)。具體的各字段的屬性說(shuō)明和類型如下表3-4所示。表3-4 入庫(kù)記錄表(StockInfo)序號(hào)屬性名字段名類型長(zhǎng)度NULL默認(rèn)備注1編號(hào)StockIDvarchar20×主鍵,與時(shí)間相關(guān)2商品編號(hào)GoodsIDnvarchar20×外鍵3供應(yīng)商編號(hào)Compan

32、yIDint4×外鍵4操作員Operatorint4×外鍵5進(jìn)價(jià)GoodsPricesmallmoney×6數(shù)量GoodsNumint4×17備注Remarknvarchar100商品銷售信息存儲(chǔ)在銷售記錄表中,流水編號(hào)也采用時(shí)間作為編號(hào),具有唯一性。各字段的詳細(xì)情況見下表3-5。表3-5 銷售記錄表(SellInfo)序號(hào)屬性名字段名類型長(zhǎng)度NULL默認(rèn)備注1編號(hào)SellIDvarchar20×主鍵,與時(shí)間相關(guān)2商品編號(hào)GoodsIDnvarchar20×外鍵3操作者Operatorint4×外鍵4售價(jià)SellPrices

33、mallmoney×5數(shù)量GoodsNumint4×6備注Remarknvarchar100退貨原因供應(yīng)商供貨價(jià)格表中記載的是供應(yīng)商所可商品的信息,含商品編號(hào)、供貨商編號(hào)、最新進(jìn)價(jià)。各字段的詳細(xì)信息見下表3-6。表3-6 供應(yīng)商供貨價(jià)格表(StockPrice)序號(hào)屬性名字段名類型長(zhǎng)度NULL默認(rèn)備注1商品編號(hào)GoodsIDnvarchar20×組合主鍵2供應(yīng)商編號(hào)CompanyIDint4×組合主鍵3最新進(jìn)價(jià)GoodsSellPricesmallmoney×供應(yīng)商信息表記錄的是供應(yīng)商的基本信息,其中編號(hào)由系統(tǒng)自動(dòng)編號(hào),采取主鍵自增方式,編號(hào)始

34、于1000。各字段的詳細(xì)信息見下表3-7。表3-7 供應(yīng)商信息表(Company)序號(hào)屬性名字段名類型長(zhǎng)度NULL默認(rèn)備注1編號(hào)CompanyIDint4×主鍵自增,標(biāo)識(shí)種子10002名稱CompanyNamenvarchar50×3聯(lián)系人CompanyDirectornvarchar10×4電話CompanyPhonenvarchar20×5傳真CompanyFaxnvarchar206地址CompanyAddnvarchar50×7合作時(shí)間HzDataTimedatetime×(2) 視圖設(shè)計(jì)根據(jù)邏輯模型所設(shè)計(jì)出的各種數(shù)據(jù)表構(gòu)成了

35、完整的物理數(shù)據(jù)庫(kù)。由于業(yè)務(wù)范圍的限制,每一個(gè)用戶不可能訪問數(shù)據(jù)庫(kù)系統(tǒng)中的所有數(shù)據(jù)表,所訪問的只是數(shù)據(jù)表的一個(gè)子集。我們把一個(gè)用戶能訪問到的數(shù)據(jù)表集合稱為一個(gè)視圖(View)8。視圖是以一致和直觀的方式提供給用戶的數(shù)據(jù)形式。視圖以這種形式給用戶提供數(shù)據(jù),一方面為了滿足用戶對(duì)數(shù)據(jù)訪問的方便性、簡(jiǎn)潔性需要,使數(shù)據(jù)在視圖中以更符合用戶要求和喜好的形式展現(xiàn)出來(lái),另一方面,為了保證數(shù)據(jù)的一致性,最好不要把數(shù)據(jù)表直接提供給最終用戶。該數(shù)據(jù)庫(kù)中涉及到的視圖有兩個(gè):視圖QuerySell,對(duì)應(yīng)的Transact-SQL語(yǔ)句:SELECT dbo.SellInfo.SellID, dbo.SellInfo.Goo

36、dsID, dbo.GoodsInfo.GoodsName, dbo.GoodsType.TypeName, dbo.Users.UserName, dbo.SellInfo.SellPrice, dbo.SellInfo.GoodsNum, dbo.SellInfo.RemarkFROM dbo.GoodsInfo INNER JOIN dbo.SellInfo ON dbo.GoodsInfo.GoodsID = dbo.SellInfo.GoodsID INNER JOIN dbo.Users ON dbo.SellInfo.Operator = dbo.Users.UserID INN

37、ER JOIN dbo.GoodsType ON dbo.GoodsInfo.TypeID = dbo.GoodsType.TypeID視圖QueryStock,對(duì)應(yīng)的Transact-SQL語(yǔ)句:SELECT dbo.StockInfo.StockID, dbo.StockInfo.GoodsID, dbo.GoodsInfo.GoodsName, dbo.GoodsType.TypeName, dbo.Company.CompanyName, dbo.Users.UserName, dbo.StockInfo.GoodsPrice, dbo.StockInfo.GoodsNum, dbo.

38、StockInfo.RemarkFROM dbo.StockInfo INNER JOIN dbo.GoodsInfo ON dbo.StockInfo.GoodsID = dbo.GoodsInfo.GoodsID INNER JOIN dbo.Users ON dbo.StockInfo.Operator = dbo.Users.UserID INNER JOIN dbo.Company ON dbo.StockInfo.CompanyID = dbo.Company.CompanyID INNER JOIN dbo.GoodsType ON dbo.GoodsInfo.TypeID =

39、dbo.GoodsType.TypeID4 系統(tǒng)實(shí)現(xiàn)系統(tǒng)用SQL Server2005做后臺(tái)數(shù)據(jù)庫(kù),進(jìn)行基于.net發(fā)平臺(tái)的WinForm應(yīng)用程序開發(fā),基本實(shí)現(xiàn)其功能。以下將描述系統(tǒng)幾個(gè)主要功能模塊的運(yùn)行和測(cè)試的結(jié)果。4.1 登陸系統(tǒng)模塊當(dāng)我們建立了一個(gè)完整的系統(tǒng)時(shí),尤其對(duì)于管理系統(tǒng),對(duì)于進(jìn)入每個(gè)系統(tǒng)的人員我們都要對(duì)他進(jìn)行身份驗(yàn)證,我們當(dāng)然不希望有任何人進(jìn)入該系統(tǒng)進(jìn)行惡意的破壞,對(duì)系統(tǒng)中的數(shù)據(jù)進(jìn)行修改,維護(hù)該系統(tǒng)的系統(tǒng)管理員也不希望有任何麻煩,所以對(duì)系統(tǒng)進(jìn)行安全保護(hù)顯的很重要,無(wú)論對(duì)于誰(shuí),系統(tǒng)的安全問題是首要的9。為了解決這個(gè)問題,有一個(gè)簡(jiǎn)單、實(shí)用,但是老套的方法,就是口令加密。在該小型超市收

40、銀系統(tǒng)中對(duì)口令的加密采取的是常用的MD5加密算法。在新增或修改用戶信息時(shí),存入數(shù)據(jù)庫(kù)的是用戶密碼的MD5哈希值,在登錄驗(yàn)證時(shí)根據(jù)用戶輸入的密碼計(jì)算相應(yīng)的MD5哈希值進(jìn)行比較。加密方法: public static string EncryptMD5(string oldData) /將字符串轉(zhuǎn)化為字節(jié)序列 Byte clearBytes = new UnicodeEncoding().GetBytes(oldData); /計(jì)算字節(jié)序列對(duì)應(yīng)的Hash值 Byte hashedBytes = (HashAlgorithm)CryptoConfig.CreateFromName("MD5

41、").ComputeHash(clearBytes); /返回經(jīng)MD5加密后的字符串 return BitConverter.ToString(hashedBytes); 在用戶登錄系統(tǒng)時(shí),用戶只需要輸入分配的用戶ID,只要ID號(hào)正確就可以自動(dòng)顯示出相應(yīng)的用戶名。為了防止他人獲知用戶的密碼,增強(qiáng)系統(tǒng)的安全性,我們將待輸入密碼的文本框的PasswordChar設(shè)為*,當(dāng)用戶輸入密碼后,系統(tǒng)將對(duì)所輸入的密碼進(jìn)行檢查,只有當(dāng)密碼正確才可進(jìn)入到系統(tǒng)主界面,否則系統(tǒng)會(huì)提示錯(cuò)誤。登錄界面如圖4-1所示。圖4-1 登錄界面圖用戶登錄成功后,會(huì)記下登錄該系統(tǒng)的用戶的權(quán)限,權(quán)限的不同,進(jìn)入主界面后可進(jìn)

42、行的操作而異,體現(xiàn)在控件的可響應(yīng)用戶的鼠標(biāo)點(diǎn)擊事件與否。主界面如圖4-2所示。由于該用戶屬商品銷售中的收銀員,可以看到他只具有商品銷售的權(quán)限。圖4-2 系統(tǒng)主界面圖4.2 商品信息模塊商品基本信息管理模塊,用戶可以對(duì)商品信息加以管理,界面可交互性強(qiáng),運(yùn)行時(shí)的界面圖如下圖4-3。其中紅色顯示為低于庫(kù)存值,需要進(jìn)貨的商品。圖4-3 商品基本信息管理界面圖4.3 商品入庫(kù)模塊具有庫(kù)存管理權(quán)限的用戶進(jìn)行商品入庫(kù)操作時(shí),需要輸入商品編號(hào),至于供應(yīng)商可以從下拉列表中選擇,如果供應(yīng)商記錄未添加至數(shù)據(jù)庫(kù),可先單擊右側(cè)的“添加供應(yīng)商”按鈕。依次輸入進(jìn)貨價(jià)、進(jìn)貨數(shù)量,當(dāng)進(jìn)貨數(shù)量為負(fù)數(shù)時(shí)進(jìn)行就是退貨操作。確認(rèn)進(jìn)貨時(shí)

43、若發(fā)現(xiàn)為新商品則提示先新增商品,進(jìn)貨記錄成功添加出現(xiàn)對(duì)話框提醒。進(jìn)貨運(yùn)行界面如下圖4-4所示。圖4-4 商品入庫(kù)運(yùn)行圖在入庫(kù)查詢中,可以根據(jù)各種條件組合查詢,在輸入商品名稱時(shí)可實(shí)現(xiàn)模糊查詢匹配,滿足條件的入庫(kù)記錄將出現(xiàn)在網(wǎng)格中10。如圖4-5。圖4-5 入庫(kù)查詢界面圖4.4 商品銷售模塊商品銷售模塊能處理商品銷售業(yè)務(wù)過程,輸入商品編號(hào)后回車確認(rèn)后單擊“確認(rèn)”按鈕就可將商品添加至待售商品列表。根據(jù)快捷鍵操作,修改數(shù)量。當(dāng)顧客對(duì)購(gòu)買的商品不滿意時(shí),在未使用商品的情況下,可以對(duì)商品進(jìn)行退貨。這時(shí)只需將商品數(shù)量的修改置為負(fù)數(shù)即可。另外可以在備注框中輸入退貨原因信息,方便了解退貨原因,反饋給商品廠家。商

44、品銷售運(yùn)行界面圖如下圖4-6所示。圖4-6 商品銷售運(yùn)行界面圖開發(fā)商品銷售模塊過程中,對(duì)輸入的數(shù)據(jù)要進(jìn)行嚴(yán)格控制。此時(shí),用到較多的是TextBox控件的KeyPress事件和TextChange事件,下面對(duì)這兩個(gè)事件進(jìn)行詳細(xì)說(shuō)明。(1) 實(shí)收金額文本框中控制金額的輸入合理,只能是數(shù)字鍵、BackSpace鍵、小數(shù)點(diǎn)鍵被按下時(shí)才接受所按下的鍵,實(shí)現(xiàn)的代碼如下11:private void txtGetMoney_KeyPress(object sender, KeyPressEventArgs e) if (e.KeyChar != 8 && !char.IsDigit(e.Ke

45、yChar)&&e.KeyChar!='.'&&e.KeyChar!='-') MessageBox.Show("輸入數(shù)字"); /彈出提示 e.Handled = true; (2) 找零金額由系統(tǒng)自動(dòng)計(jì)算出并顯示在文本框中,實(shí)現(xiàn)代碼如下:private void txtGetMoney_TextChanged(object sender, EventArgs e)/當(dāng)所收付款改變時(shí),所找零錢數(shù)目也跟著改變 if (txtGetMoney.Text != "") if (txtGetMon

46、ey.Text != "-") float fltMoney = Convert.ToSingle(txtGetMoney.Text.ToString(); float fltNeedPay = Convert.ToSingle(lblNeedM.Text.ToString(); txtChange.Text = (fltMoney - fltNeedPay).ToString("0.0"); else txtChange.Text = "" 應(yīng)該所收的錢數(shù)及商品的數(shù)量也由系統(tǒng)自動(dòng)計(jì)算出,當(dāng)網(wǎng)格中待售商品的信息有所改變時(shí)就自動(dòng)計(jì)算。相

47、應(yīng)的系統(tǒng)運(yùn)行界面如下圖4-7所示。實(shí)現(xiàn)代碼如下:private void SetCount() /并修改標(biāo)簽中的值,即售出總件數(shù)及售價(jià) int intGoodsNum = 0; float fltMoney = 0.0f; for (int i = 0; i < dataGridView1.Rows.Count; i+) intGoodsNum += Convert.ToInt32(dataGridView1.Rowsi.Cells4.Value); fltMoney += (Convert.ToSingle(dataGridView1.Rowsi.Cells3.Value) * Con

48、vert.ToInt32(dataGridView1.Rowsi.Cells4.Value); intGoodsNum = Math.Abs(intGoodsNum); lblCount.Text = intGoodsNum.ToString(); lblNeedM.Text = fltMoney.ToString(); 圖4-7 商品銷售結(jié)算結(jié)果圖手動(dòng)輸入商品編號(hào)時(shí),當(dāng)已輸入前七位后系統(tǒng)將自動(dòng)檢索前部相同的商品編號(hào)信息。實(shí)現(xiàn)代碼如下:private void txtID_TextChanged(object sender, EventArgs e) /自動(dòng)補(bǔ)充功能,如果文本框中已輸入字符總長(zhǎng)

49、度不小于則允許自動(dòng)補(bǔ)充 if (txtID.Text.ToString().Length >= 7) AutoCompleteStringCollection myString = new AutoCompleteStringCollection(); string strID = txtID.Text.ToString(); DataTable myTable = new DataTable(); string strSql = "select GoodsID from GoodsInfo where GoodsID like '" strSql += st

50、rID; strSql += "%'" myTable = mySql.SelectDataBase(strSql); if (myTable.Rows.Count >0) for (int i = 0; i < myTable.Rows.Count; i+) myString.Add(myTable.Rowsi0.ToString(); txtID.AutoCompleteCustomSource = myString; txtID.AutoCompleteSource = AutoCompleteSource.CustomSource; txtID.

51、AutoCompleteMode = AutoCompleteMode.Suggest; else txtID.AutoCompleteSource = AutoCompleteSource.None; txtID.AutoCompleteMode = AutoCompleteMode.None; 商品銷售的過程中要與數(shù)據(jù)庫(kù)交涉,與數(shù)據(jù)庫(kù)頻繁傳輸數(shù)據(jù),采用ADO.NET數(shù)據(jù)庫(kù)訪問技術(shù)。為了提高效率,對(duì)插入商品銷售記錄實(shí)現(xiàn)時(shí)借助于存儲(chǔ)過程來(lái)提高速度。4.5 營(yíng)業(yè)統(tǒng)計(jì)模塊用戶可以根據(jù)時(shí)間段的輸入查看營(yíng)業(yè)情況,本系統(tǒng)對(duì)營(yíng)業(yè)情況的分類,有依具體明細(xì),有按商品分類,也有按收銀員統(tǒng)計(jì)。運(yùn)行界面圖如下圖4-8所示:圖4-8 營(yíng)業(yè)統(tǒng)計(jì)運(yùn)行結(jié)果4.6 供應(yīng)商模塊對(duì)供應(yīng)商信息的管理,增刪改查都在該界面完成,工具欄中的增刪改按鈕對(duì)應(yīng)相應(yīng)的操作。初進(jìn)入到該窗體時(shí)所有的供應(yīng)商信息都會(huì)出現(xiàn)在窗體中的網(wǎng)格,用戶可以輸入查詢條件定位出某供應(yīng)商,對(duì)其進(jìn)行修改刪除操作。雙擊網(wǎng)格中某供應(yīng)商的記

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論