小型超市收銀系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)設(shè)計論文模板_第1頁
小型超市收銀系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)設(shè)計論文模板_第2頁
小型超市收銀系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)設(shè)計論文模板_第3頁
小型超市收銀系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)設(shè)計論文模板_第4頁
小型超市收銀系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)設(shè)計論文模板_第5頁
已閱讀5頁,還剩49頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

學號畢業(yè)設(shè)計題目:小型超市收銀系統(tǒng)設(shè)計和實現(xiàn)摘要伴隨銷售行業(yè)競爭日益猛烈,小型超市收銀系統(tǒng)引入顯得極其關(guān)鍵。它不僅能夠提升進銷存管理工作效率,而且能夠有效降低盲目采購、降低采購成本、合理控制庫存、降低資金占用并提升市場靈敏度,從根本上提升超市市場競爭力。本系統(tǒng)利用計算機管理信息技術(shù),建立數(shù)據(jù)庫,對超市進銷存過程進行具體分析,實現(xiàn)了對超市進貨、銷售和庫存科學管理。它關(guān)鍵包含以下幾大模塊:登錄模塊、商品入庫模塊、商品銷售模塊、營業(yè)統(tǒng)計模塊、商品信息模塊、供給商信息模塊、用戶信息模塊。各模塊相許獨立,同時又組成統(tǒng)一整體。本文關(guān)鍵介紹了小型超市收銀系統(tǒng)環(huán)境、所用到開發(fā)語言、功效作用、設(shè)計方案等各方面內(nèi)容,其目標在于讓使用者了解此系統(tǒng),使她們能愈加好利用本系統(tǒng),使此系統(tǒng)發(fā)揮出應有作用。另外在文中還給予指出了系統(tǒng)開發(fā)有待于深入完善發(fā)展方向。關(guān)鍵詞:收銀系統(tǒng);控件;窗體;.net平臺

ABSTRACTWiththeincreasinglyfiercecompetitioninsalesindustry,theintroductionofsmallsupermarketcashiersystemisveryimportant.Itcannotonlyimprovetheworkingefficiencyofthepurchase-sell-stockmanagement,butalsocaneffectivelyreducetheblindprocurement,reduceprocurementcost,havethereasonablecontrolofinventory,reducecapitalthattakesupandimprovemarketsensitivity,fundamentallyascendingsupermarketmarketcompetitiveness.Thissystemusescomputer-information-managementtechnology,establishthedatabaseofsupermarket.Withadetailedanalysisofthesupermarket,itachievesthefunctionsofpurchasingandthescientificmanagementofsalesandstock.Itincludesthefollowingmajormodules:loginmodule,storagemoduleofgoods,merchandisesalesmodule,operatingstatisticsmodule,productinformationmodule,themodulesupplierinformation,userinformationmodule.Phaseallowedtoindependentlyofeachmodule,atthesametimeconstituteaunifiedwhole.Inthispaper,asmallsupermarketcashregistersystemenvironment,thelanguageusedinthedevelopment,function,designandotheraspectsoftheprogram,whichaimstoallowuserstounderstandthissystemsotheycanbetterusethesystem,sothatThissystemplayitsduerole.Alsointhearticlewepointedoutthatthesystemshouldbewithfurtherimproveddevelopment.Keywords:thecashiersystem;Control;Form;Tplatform目錄TOC\o"1-2"\h\z\u摘要 IABSTRACT II1緒論 11.1研究課題目標 11.2研究課題意義 22需求分析 32.1可行性研究 32.2需求分析 32.3開發(fā)環(huán)境介紹 43總體設(shè)計 73.1設(shè)計思想 73.2設(shè)計標準 73.3功效模塊和結(jié)構(gòu)設(shè)計 73.4數(shù)據(jù)庫設(shè)計 94系統(tǒng)實現(xiàn) 164.1登陸系統(tǒng)模塊 164.2商品信息模塊 174.3商品入庫模塊 184.4商品銷售模塊 194.5營業(yè)統(tǒng)計模塊 234.6供給商模塊 244.7用戶信息模塊 265總結(jié) 27參考文獻 28致謝 29附錄 301緒論伴隨現(xiàn)代科學技術(shù)迅猛發(fā)展,大家生活方法正發(fā)生著巨大改變。計算機技術(shù)已經(jīng)滲透到各個領(lǐng)域,成為各個行業(yè)必不可少工具。尤其是Internet技術(shù)推廣和信息高速公路建立,使得IT產(chǎn)業(yè)在市場競爭中越發(fā)顯示出其獨特優(yōu)勢??茖W技術(shù)是第一生產(chǎn)力,科學技術(shù)發(fā)展讓人類愈加受益。各類信息系統(tǒng)應用于各行各業(yè),不僅給管理上帶來了極大便利,而且還提升了工作效率。中小型超市在中國經(jīng)濟發(fā)展中含相關(guān)鍵地位,現(xiàn)在中國中小型超市數(shù)量多,地域分布廣泛,行業(yè)分布跨度大。伴隨全球經(jīng)濟一體化發(fā)展和電子商務興起,中小型超市之間競爭將越來越猛烈。網(wǎng)絡及電子商務迅猛發(fā)展突破了時間、空間不足,給中小型超市帶來了更多發(fā)展機會,同時也增大了超市行業(yè)間競爭強度。這就要求中小型超市必需改變營業(yè)管理模式,提升運行效率。現(xiàn)在,中國中小型超市信息化水平還很低。伴隨技術(shù)發(fā)展,電腦操作及管理日趨簡化,電腦知識日趨普及,同時市場經(jīng)濟快速多變,競爭猛烈,超市行業(yè)采取電腦管理進貨、庫存、銷售等很多步驟也已成為肯定趨勢。1.1研究課題目標社會生活現(xiàn)代化,使得市場走向發(fā)生巨大改變,因為經(jīng)濟發(fā)展,人民對生活需求已經(jīng)不再滿足于豐衣足食低度要求,很多大家往往不是單純?yōu)闈M足生活必需去購置,而是憑著喜愛、意欲和感官去購置。假如一個商店能夠打動用戶、吸引用戶,自然會用戶盈門,而近幾年新興產(chǎn)業(yè)中超級市場(supermarket)現(xiàn)代化管理方法和便捷購物方法,尤其是它輕松購物環(huán)境,往往是打動用戶,吸引用戶最關(guān)鍵原因,且良好周密銷售服務更是贏得信譽、吸引用戶優(yōu)勢所在。商品經(jīng)濟高速現(xiàn)代化發(fā)展也促進了競爭,使一切不甘落后商家全部爭先恐后地采取最新管理方法來加強自己競爭地位。因為,超市經(jīng)營者假如不掌握當今市場發(fā)展這一走向,不能將超市現(xiàn)代化經(jīng)營作為奴努力開拓目標,就無法使經(jīng)營活絡、財源茂盛。現(xiàn)代化事業(yè)發(fā)展,也使超市管理數(shù)段發(fā)生前所未有革命,計算機利用正在發(fā)達國家各類商店超市中普及。因為它能夠正確記載和查詢相關(guān)超市經(jīng)營活動大量數(shù)據(jù),幫助超市經(jīng)營者掌握和分析營銷情況,立即作出正確決議,而且有利于商店內(nèi)部財務、工資、人員、庫存、銷售情況等管理,所以大大提升了現(xiàn)代超市管理水平。國外很多發(fā)達資本主義國家相關(guān)人士全部在開發(fā)超市管理系統(tǒng),開發(fā)出很多大型軟件,因為本人能力有限,開發(fā)一個小型超市管理系統(tǒng),它能夠使我們中國新起小型超市能夠愈加好操作。此系統(tǒng)有降低差錯,節(jié)省人力、降低用戶購物時間,增加客流量,提升用戶滿意度等特點。我經(jīng)過開發(fā)這個簡單管理信息系統(tǒng),鞏固了以前所學知識,提升了應用能力。1.2研究課題意義二十一世紀,超市競爭進入到了一個全新領(lǐng)域,競爭不再是規(guī)模競爭,而是技術(shù)競爭、管理競爭、人才競爭。技術(shù)提升和管理升級是超市業(yè)競爭關(guān)鍵。怎樣在猛烈競爭中擴大銷售額、降低經(jīng)營成本、擴大經(jīng)營規(guī)模,成為超市經(jīng)營者努力追求目標。為了提升物資管理水平和工作效率,盡可能杜絕商品流通中各步驟中可能出現(xiàn)資金流失不明現(xiàn)象,商品進銷存領(lǐng)域迫切需要引進信息系統(tǒng)來加以管理,而商品銷售管理系統(tǒng)是目前應用于超市或企業(yè)管理系統(tǒng)經(jīng)典代表。從消費者角度來說,結(jié)帳時應該準備和快速,畢竟時間就是金錢。因為傳統(tǒng)超市收銀管理給用戶和店主帶來很多不便。針對這方面缺點,開發(fā)這個系統(tǒng)能夠方便快捷地查出用戶結(jié)帳情況,商品信息情況,天天售貨情況,方便了對超市商品管理、人員管理,大大提升了超市售貨速度。進而加速了社會發(fā)展速度,提升了人民生活水平。總而言之,借助于信息系統(tǒng)能夠大大提升超市運作效率,經(jīng)過全方面信息采集和處理,不僅輔助提升了超市決議水平,還能夠快速提升超市管理水平,為降低經(jīng)營成本,提升效率,增強超市擴張力,提供有效技術(shù)保障。

2需求分析2.1可行性研究系統(tǒng)開始和可行性研究是為系統(tǒng)開發(fā)做前期準備[1]。在對一個項目標開發(fā)之前,我們總是要對其進行一個可行性分析和需求分析,經(jīng)過和指導老師共同分析得出了可行性開發(fā)計劃。對于需求分析我們作了以下調(diào)查分析需求。2.1.1技術(shù)可行性伴隨軟件編程技術(shù)不停增加,功效不停加強,和網(wǎng)絡技術(shù)不停成熟,信息安全不停完善和開發(fā)工具日益進步,采取計算機系統(tǒng)來管理超市要求數(shù)據(jù)采集、更新能夠完整、正確和立即,所以開發(fā)通用超市收銀系統(tǒng)已經(jīng)完全能夠做到。2.1.2經(jīng)濟可行性因為經(jīng)過網(wǎng)絡傳輸銷售信息,能夠不受距離限制,所以能夠節(jié)省很多人力和物力,方便管理,由此能夠降低無須要開支,同時該系統(tǒng)能夠提升超市銷售效率,即提升了超市經(jīng)濟效益,所以從經(jīng)濟上是完全可行。2.1.3操作可行性本系統(tǒng)采取Windows圖形界面,是大家熟悉操作系統(tǒng),對于用戶只需要含有通常計算機知識人員全部能夠輕松上手。而且整個銷售系統(tǒng)采取最友好交互界面,簡練明了,不需要對數(shù)據(jù)庫很了解。

由此,該系統(tǒng)操作是可行,有必需推廣該系統(tǒng)。綜合以上三方面,該系統(tǒng)含有很高開發(fā)可行性,不管是從技術(shù)上經(jīng)濟上還是操作上。故此,能夠設(shè)計該系統(tǒng)步驟圖,建立數(shù)據(jù)字典。2.2需求分析對于大型超市信息管理系統(tǒng)來說,通常它會把職員人事管理系統(tǒng)也包含在內(nèi)。因為現(xiàn)考慮是小型超市,其可負擔研發(fā)支費也有限[2]。所以在這個系統(tǒng)中,要實現(xiàn)功效關(guān)鍵以下:功效要求對庫存產(chǎn)品進行資料管理和統(tǒng)計;對產(chǎn)品進貨單和產(chǎn)品銷售單進行錄入管理和統(tǒng)計;對進貨、銷售、庫存情況進行查詢;對用戶進行管理,具體為添加用戶、刪除用戶、修改用戶密碼;對供給商基礎(chǔ)信息管理;對贏利情況分析,進行營業(yè)統(tǒng)計,按年月日及商品類別統(tǒng)計;數(shù)據(jù)正確度產(chǎn)品進貨單和銷售單中,單價、金額采取浮點數(shù),數(shù)量全部取整數(shù)。時間特征該系統(tǒng)軟件從開啟到進入系統(tǒng)登錄界面時間正常情況下少于5秒,錄入并更新數(shù)據(jù)時間正常情況下少于10秒。適用性該管理系統(tǒng)軟件適適用于Windows/WindowsXP漢字版下運行。2.3開發(fā)環(huán)境介紹該系統(tǒng)屬于管理信息系統(tǒng),管理信息系統(tǒng)(MIS,ManagementInformationSystem)能夠保留用戶信息,經(jīng)過對信息進行分析和處理,能夠幫助用戶制訂計劃、規(guī)范管理或提供決議依據(jù)。超市收銀系統(tǒng)含有其特殊性,通常采取C/S結(jié)構(gòu),考慮到其為小型超市,所以在架構(gòu)上面選擇兩層。2.3.1C#介紹Csharp(又被簡稱為”C#”)是微軟企業(yè)在6月公布一個新編程語言。C#看起來和Java有著驚人相同;它包含了諸如單一繼承,界面,和Java幾乎一樣語法,和編譯成中間代碼再運行過程。不過C#和Java有著顯著不一樣,它借鑒了Delphi一個特點,和COM(組件對象模型)是直接集成,而且它是微軟企業(yè).NETwindows網(wǎng)絡框架主角[3]。C#在帶來對應用程序快速開發(fā)能力同時,并沒有犧牲C和C++程序員所關(guān)心多種特征。它忠實地繼承了C和C++優(yōu)點。假如你對C或C++有所了解,你會發(fā)覺它是那樣熟悉。即使你是一位新手,C#也不會給你帶來任何其它麻煩,快速應用程序開發(fā)(RapidApplicationDevelopment,RAD)思想和簡練語法將會使你快速成為一名熟練開發(fā)人員。C#是專門為.NET應用而開發(fā)出語言。這從根本上確保了C#和.NET框架完美結(jié)合。在.NET運行庫支持下,.NET框架多種優(yōu)點在C#中表現(xiàn)得淋漓盡致。C#含有以下多個特點:簡練語法在缺省情況下,C#代碼在.NET框架提供“可操縱”環(huán)境下運行,不許可直接地內(nèi)存操作。它所帶來最大特色是沒有了指針。C#只支持一個“.”,對于我們來說,現(xiàn)在需要了解一切僅僅是名字嵌套而已。精心地面向?qū)ο笤O(shè)計C#含有面向?qū)ο笳Z言所應有一切特征:封裝、繼承和多態(tài)性,這并不出奇。然而,經(jīng)過精心地面向?qū)ο笤O(shè)計,從高級商業(yè)對象到系統(tǒng)級應用,C#建造廣泛組件絕對選擇。在C#類型系統(tǒng)中,每種類型全部能夠看作一個對象。C#提供了一個叫做裝箱(boxing)和拆箱(unboxing)機制來完成這種操作,而不給使用者帶來麻煩。C#只許可單繼承,即一個類不會有多個基類,從而避免了類型定義混亂。C#中沒有了全局函數(shù),沒有了全局變量,也沒有了全局常數(shù)。一切一切,全部必需封裝在一個類之中。你代碼將含有愈加好可讀性,而且降低了發(fā)生命名沖突可能。和Web緊密結(jié)合C#組件將能夠方便地為Web服務,并許可它們經(jīng)過Internet被運行在任何操作系統(tǒng)上任何語言所調(diào)用。舉個例子,XML已經(jīng)成為網(wǎng)絡中數(shù)據(jù)結(jié)構(gòu)傳輸標準,為了提升效率,C#許可直接將XML數(shù)據(jù)映射成為結(jié)構(gòu)。這么就能夠有效處理多種數(shù)據(jù)。完整安全性和錯誤處理語言安全性和錯誤處理能力,是衡量一個語言是否優(yōu)異關(guān)鍵依據(jù)。C#優(yōu)異設(shè)計思想能夠消除軟件開發(fā)中很多常見錯誤,并提供了包含類型安全在內(nèi)完整安全性能。內(nèi)存管理中垃圾搜集機制減輕了開發(fā)人員對內(nèi)存管理負擔。.NET平臺提供垃圾搜集器(GarbageCollection,GC)將負責資源釋放和對象撤銷時內(nèi)存清理工作。版本處理技術(shù)C#提供內(nèi)置版本支持來降低開發(fā)費用,使用C#將會使開發(fā)人員愈加輕易地開發(fā)和維護多種商業(yè)用戶。靈活性和兼容性假如需要,C#許可你將一些類或類一些方法申明為非安全。如此就能使用指針、結(jié)構(gòu)和靜態(tài)數(shù)組。另外,它還引進了模擬指針功效--delegates,指代。C#不支持類多繼承,不過經(jīng)過對接口繼承,你將取得這一功效。2.3.2SQLServer介紹Microsoft企業(yè)SQLServer是關(guān)系型網(wǎng)絡數(shù)據(jù)庫管理系統(tǒng),它工作環(huán)境為MicrosoftWindowsNT系列或MicrosoftWindows98。SQLServer和Microsoft企業(yè)其它軟件,如Microsoftoffice和MicrosoftVisualStudio設(shè)計風格一致,并能相互配合。SQLServer含有分布式數(shù)據(jù)庫和倉庫管理功效,支持用戶機/服務器結(jié)構(gòu),并能進行分布式事務處理和聯(lián)機分析處理。SQLServer含有強大數(shù)據(jù)庫管理功效,它提供豐富管理工具以支持數(shù)據(jù)庫安全性管理、完整性管理和作業(yè)管理。SQLServer還含有強大網(wǎng)絡功效,支持公布Web頁面和接收電子郵件。SQLServer支持ANSISQL(標準SQL),并將標準SQL擴展成為愈加實用Transact-SQL[4]。使用SQLServer,開發(fā)人員經(jīng)過使用相同語言,比如微軟VisualC#.NET和微軟VisualBasic,將能夠創(chuàng)建數(shù)據(jù)庫對象。開發(fā)人員還將能夠建立兩個新對象——用戶定義類和集合。在使用當?shù)鼐W(wǎng)絡和互聯(lián)網(wǎng)情況下,在不一樣應用軟件之間散步數(shù)據(jù)時候,可擴展標識語言(XML)是一個關(guān)鍵標準。SQLServer將會本身支持存放和查詢可擴展標識語言文件。從對SQL類新支持,到多活動結(jié)果集(MARS),SQLServer中ADO.NET將推進數(shù)據(jù)集存取和操縱,實現(xiàn)更大可升級性和靈活性。2.3.3C/S介紹在網(wǎng)絡連接模式中,除對等網(wǎng)外,還有另一個形式網(wǎng)絡,即用戶機/服務器網(wǎng),Client/Server。在用戶機/服務器網(wǎng)絡中,服務器是網(wǎng)絡關(guān)鍵,而用戶機是網(wǎng)絡基礎(chǔ),用戶機依靠服務器取得所需要網(wǎng)絡資源,而服務器為用戶機提供網(wǎng)絡必需資源。這里用戶和服務器全部是指通信中所包含兩個應用進程(軟件),所以有時要依據(jù)上下文判定client和server是指軟件還是硬件。C/S能夠充足利用兩端硬件環(huán)境優(yōu)勢,將任務合理分配到Client端和Server端來實現(xiàn),降低了系統(tǒng)通訊開銷[5]。最簡單C/S體系結(jié)構(gòu)數(shù)據(jù)庫應用,由兩部分組成,即用戶應用程序和數(shù)據(jù)庫服務器程序。二者可分別稱為前臺程序和后臺程序。運行數(shù)據(jù)庫服務器程序機器,稱為應用服務器,一旦服務器程序被開啟,就隨時等候響應用戶程序發(fā)來請求;用戶程序運行在用戶自己電腦上,對應于服務器電腦,可稱為用戶電腦。當需要對數(shù)據(jù)庫中數(shù)據(jù)進行任何操作時,用戶程序就自動地尋求服務器程序,并向其發(fā)出請求,服務器程序依據(jù)預定規(guī)則作出應答,送回結(jié)果。在經(jīng)典C/S數(shù)據(jù)庫應用中,數(shù)據(jù)儲存管理功效,是由服務器程序獨立進行,而且通常把那些不一樣(不管是已知還是未知)前臺應用所不能違反規(guī)則,在服務器程序中集中實現(xiàn),比如訪問者權(quán)限,編號不準反復、必需有用戶才能建立定單這么規(guī)則。全部這些,對于工作在前臺程序上最終用戶,是“透明”,她們無須過問(通常也無法干涉)這背后過程,就能夠完成自己一切工作。在用戶服務器架構(gòu)應用中,前臺程序能夠變很“瘦小”,麻煩事情,全部交給了服務器和網(wǎng)絡。在C/S體系下,數(shù)據(jù)庫真正變成了公共、專業(yè)化倉庫,受到獨立專門管理。

3總體設(shè)計3.1設(shè)計思想(1)系統(tǒng)分成多個相對獨立模塊,但這些模塊全部進行集中式管理。(2)分層模塊化程序設(shè)計思想,整個系統(tǒng)采取模塊化機構(gòu)設(shè)計。作為應用程序有較強可操作性和擴展性。(3)合理數(shù)據(jù)流設(shè)計,在應用系統(tǒng)設(shè)計中,相對獨立模塊間以數(shù)據(jù)流相互連接,使各模塊間耦合性較低,方便系統(tǒng)運行,提升系統(tǒng)安全性。3.2設(shè)計標準為了使本系統(tǒng)功效齊全完備,操作簡便,最大程度提升軟件質(zhì)量,從而滿足用戶實際需要,在設(shè)計開發(fā)過程中遵照了,以下標準:(1)正當性標準:依據(jù)產(chǎn)品核實系統(tǒng)工作要求和要求,參考核實實際工作情況,進行諸如商品進貨、銷售等工作。(2)實用性標準:適合產(chǎn)品信息管理工作實際需求,并能夠處理部分特殊情況要求,另外,盡可能預留空間,方便擴充功效。(3)正確性標準:對輸入相關(guān)資料建立檢錯機制,立即報錯,使用戶能夠立即正確輸入正當資料(如類型匹配,長度不超限等)。(4)易操作標準:要求設(shè)計系統(tǒng)功效齊全,接口友好,操作方便,必需地方進行提醒。(5)源程序可讀性標準:為了便于其它設(shè)計,維護人員讀懂代碼或以后代碼修改,軟件升級維護,既可能做好代碼注釋工作。(6)優(yōu)化標準:為了達成優(yōu)化目標,合理利用窗口,菜單,對象等繼承,自定義用戶對象,事件,函數(shù),降低無須要反復性代碼,使程序簡練明了,也方便了未來維護。(7)安全性標準:該系統(tǒng)管理員含有可設(shè)置登陸密碼,修改密碼權(quán)限。經(jīng)過前面設(shè)計,我們對整個系統(tǒng)有了一個初步認識,并對各個模塊進行了功效分化。3.3功效模塊和結(jié)構(gòu)設(shè)計小型超市管理系統(tǒng)包含系統(tǒng)管理員、庫存管理員、商品銷售員三大角色,對應本系統(tǒng)中權(quán)限,依據(jù)權(quán)限不一樣,可操作業(yè)務不一樣。本節(jié)將對小型超市收銀系統(tǒng)進行總體設(shè)計,介紹系統(tǒng)總體功效和模塊劃分。3.3.1系統(tǒng)結(jié)構(gòu)小型超市收銀系統(tǒng)所包含功效模塊有:商品入庫模塊、商品銷售模塊、營業(yè)統(tǒng)計模塊、商品信息模塊、供給商信息模塊、用戶信息模塊。系統(tǒng)功效結(jié)構(gòu)圖見圖3-1。小型超市收銀系統(tǒng)小型超市收銀系統(tǒng)商品入庫商品銷售營業(yè)統(tǒng)計商品信息供給商信息用戶信息圖3-1系統(tǒng)功效結(jié)構(gòu)圖超市收銀系統(tǒng)業(yè)務步驟圖,圖3-2所表示。圖3-2系統(tǒng)業(yè)務步驟圖3.3.2系統(tǒng)各功效模塊定義(1)商品入庫模塊該模塊用于實現(xiàn)商品入庫管理,當供給商所供商品出現(xiàn)問題需退貨時能夠?qū)崿F(xiàn)退貨管理。另外用戶還能夠依據(jù)條件查詢相關(guān)入庫統(tǒng)計。(2)商品銷售模塊該模塊用于實現(xiàn)商品售出、收銀功效。用戶倘若對商品不滿意還能夠進行退貨處理。(3)營業(yè)統(tǒng)計模塊該模塊實現(xiàn)商品銷售情況及入庫情況統(tǒng)計分析,讓系統(tǒng)用戶能夠依據(jù)時間查詢統(tǒng)計信息。(4)商品信息模塊該模塊實現(xiàn)商品基礎(chǔ)信息管理,如商品添加、修改、刪除操作、條件查詢。對于低于庫存報警值商品會顯示出來。(5)用戶信息模塊該模塊實現(xiàn)用戶基礎(chǔ)信息管理,含用戶添加、修改、刪除,用戶信息統(tǒng)計瀏覽。(6)供給商信息模塊該模塊實現(xiàn)供給商基礎(chǔ)信息管理,系統(tǒng)用戶能夠?qū)崿F(xiàn)供給商信息添加、刪除、修改,條件查詢和查看供給商可提供相關(guān)商品。3.4數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫在一個管理信息系統(tǒng)中占有很關(guān)鍵地位,數(shù)據(jù)庫結(jié)構(gòu)設(shè)計好壞將直接對應用系統(tǒng)效率和實現(xiàn)效果產(chǎn)生影響。合理數(shù)據(jù)庫結(jié)構(gòu)設(shè)計能夠提升數(shù)據(jù)存放效率,確保數(shù)據(jù)完整和一致,同時,合理數(shù)據(jù)庫也將有利于程序?qū)崿F(xiàn)[6]。設(shè)計數(shù)據(jù)庫系統(tǒng)時應該充足了解用戶各個方面需求,包含現(xiàn)有和未來可能增加需求。3.4.1數(shù)據(jù)庫需求分析SQLServer數(shù)據(jù)庫建立方法能夠分成兩個階段,第一個階段是依據(jù)要輸入數(shù)據(jù)性質(zhì),新增表并設(shè)置表字段名稱、數(shù)據(jù)類型和語句,第二個階段是在表內(nèi)輸入數(shù)據(jù)。依據(jù)上述系統(tǒng)功效分析,得出系統(tǒng)有以下需求信息:(1)系統(tǒng)必需能夠區(qū)分多種用戶,如庫存員、收銀員。(2)系統(tǒng)支持用戶增加、登陸。(3)系統(tǒng)必需能夠顯示多種商品信息,并許可用戶使用搜索功效來查找自己所需要商品。(4)系統(tǒng)必需能將全部商品信息進行分類。(5)系統(tǒng)能支持用戶將商品入庫、退貨。(6)系統(tǒng)能支持用戶將商品售出、退貨。(7)系統(tǒng)支持供給商信息管理。(8)系統(tǒng)支持營業(yè)情況查詢。經(jīng)過上述功效分析和需求總結(jié),設(shè)計以下數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu):(1)用戶,包含數(shù)據(jù)項:編號,用戶名,密碼,權(quán)限。(2)商品類別,包含數(shù)據(jù)項:編號,商品名稱。(3)商品,包含數(shù)據(jù)項:商品編號(條形碼),商品名稱,類別,庫存量、報警值,計量單位,規(guī)格,售價。(4)供給商,包含數(shù)據(jù)項:名稱,聯(lián)絡人,聯(lián)絡電話,傳真,地址,合作起始時間。(5)銷售統(tǒng)計,包含數(shù)據(jù)項:編號,操作人,商品編號,售價,售出數(shù)量,售出時間。(6)進貨統(tǒng)計,包含數(shù)據(jù)項:商品,供給商,操作人,進價,進貨數(shù)量,進貨時間。(7)供貨,包含數(shù)據(jù)項:供給商,商品,最新進價。3.4.2數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計得到上面數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)后,就能夠設(shè)計出系統(tǒng)中各個實體和她們之間關(guān)系,為后面邏輯結(jié)構(gòu)設(shè)計打下基礎(chǔ)。本系統(tǒng)依據(jù)上面功效分析和需求總結(jié)設(shè)計出實體共有下面多個,下面分別列出本系統(tǒng)所使用到各基礎(chǔ)實體和各實體之間聯(lián)絡。圖3-3所表示:

圖3-3實體聯(lián)絡(E-R)圖3.4.3數(shù)據(jù)庫邏輯設(shè)計(1)表設(shè)計將數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計轉(zhuǎn)換成關(guān)系模型,就得到了以下幾張數(shù)據(jù)庫中表[7]:下面分別介紹這些表。系統(tǒng)登錄用戶基礎(chǔ)信息保留在用戶信息表里,其中對于用戶編號,經(jīng)過自增方法實現(xiàn),無需用戶手動編號,編號從1000起始。具體說明如表3-1所表示。表3-1用戶信息表(Users)序號屬性名字段名類型長度NULL默認備注1編號UserIDint4×主鍵自增,標識種子10002真實名字UserNamevarchar10×3密碼UserPasswordvarchar50×MD5加密存放4權(quán)限UserRightvarchar10×商品種類繁多,能夠劃分為大范圍不一樣種類。對于這些種類,已事先劃分并存放于數(shù)據(jù)庫中,不需要用戶自動添加。商品類別信息表以下表3-2。表3-2商品類別信息表(GoodsType)序號屬性名字段名類型長度NULL默認備注1類別編號TypeIDtinyint×主鍵自增2名稱TypeNamenvarchar10×商品信息表記載是商品具體信息,含商品編號、名稱、類別、計量單位、規(guī)格、售價、庫存量等等。具體各字段屬性說明和類型以下表3-3。表3-3商品信息表(GoodsInfo)序號屬性名字段名類型長度NULL默認備注1商品編號GoodsIDnvarchar20×主鍵2類型號TypeIDtinyint×3名稱GoodsNamenvarchar50×4計量單位GoodsUnitnvarchar5×5規(guī)格GoodsNormnvarchar20√6售價GoodsSellPricesmallmoney×7庫存量GoodsNumint4×08報警值A(chǔ)larmNumint4×09備注GoodsRemarknvarchar100√描述信息入庫統(tǒng)計表包含商品入庫相關(guān)信息,入庫信息有入庫時間、操作人、進庫商品、商品數(shù)量等。每一筆商品入庫全部對應一個編號,含有唯一性。在這里,對編號處理就是用入庫時時間做編號。具體各字段屬性說明和類型以下表3-4所表示。表3-4入庫統(tǒng)計表(StockInfo)序號屬性名字段名類型長度NULL默認備注1編號StockIDvarchar20×主鍵,和時間相關(guān)2商品編號GoodsIDnvarchar20×外鍵3供給商編號CompanyIDint4×外鍵4操作員Operatorint4×外鍵5進價GoodsPricesmallmoney×6數(shù)量GoodsNumint4×17備注Remarknvarchar100√商品銷售信息存放在銷售統(tǒng)計表中,流水編號也采取時間作為編號,含有唯一性。各字段具體情況見下表3-5。表3-5銷售統(tǒng)計表(SellInfo)序號屬性名字段名類型長度NULL默認備注1編號SellIDvarchar20×主鍵,和時間相關(guān)2商品編號GoodsIDnvarchar20×外鍵3操作者Operatorint4×外鍵4售價SellPricesmallmoney×5數(shù)量GoodsNumint4×6備注Remarknvarchar100√退貨原因供給商供貨價格表中記載是供給商所可商品信息,含商品編號、供貨商編號、最新進價。各字段具體信息見下表3-6。表3-6供給商供貨價格表(StockPrice)序號屬性名字段名類型長度NULL默認備注1商品編號GoodsIDnvarchar20×組合主鍵2供給商編號CompanyIDint4×組合主鍵3最新進價GoodsSellPricesmallmoney×供給商信息表統(tǒng)計是供給商基礎(chǔ)信息,其中編號由系統(tǒng)自動編號,采取主鍵自增方法,編號始于1000。各字段具體信息見下表3-7。

表3-7供給商信息表(Company)序號屬性名字段名類型長度NULL默認備注1編號CompanyIDint4×主鍵自增,標識種子10002名稱CompanyNamenvarchar50×3聯(lián)絡人CompanyDirectornvarchar10×4電話CompanyPhonenvarchar20×5傳真CompanyFaxnvarchar20√6地址CompanyAddnvarchar50×7合作時間HzDataTimedatetime×(2)視圖設(shè)計依據(jù)邏輯模型所設(shè)計出多種數(shù)據(jù)表組成了完整物理數(shù)據(jù)庫。因為業(yè)務范圍限制,每一個用戶不可能訪問數(shù)據(jù)庫系統(tǒng)中全部數(shù)據(jù)表,所訪問只是數(shù)據(jù)表一個子集。我們把一個用戶能訪問到數(shù)據(jù)表集合稱為一個視圖(View)[8]。視圖是以一致和直觀方法提供給用戶數(shù)據(jù)形式。視圖以這種形式給用戶提供數(shù)據(jù),首先為了滿足用戶對數(shù)據(jù)訪問方便性、簡練性需要,使數(shù)據(jù)在視圖中以更符適用戶要求和喜好形式展現(xiàn)出來,其次,為了確保數(shù)據(jù)一致性,最好不要把數(shù)據(jù)表直接提供給最終用戶。該數(shù)據(jù)庫中包含到視圖有兩個:視圖QuerySell,對應Transact-SQL語句:SELECTdbo.SellInfo.SellID,dbo.SellInfo.GoodsID,dbo.GoodsInfo.GoodsName,dbo.GoodsType.TypeName,dbo.Users.UserName,dbo.SellInfo.SellPrice,dbo.SellInfo.GoodsNum,dbo.SellInfo.RemarkFROMdbo.GoodsInfoINNERJOINdbo.SellInfoONdbo.GoodsInfo.GoodsID=dbo.SellInfo.GoodsIDINNERJOINdbo.UsersONdbo.SellInfo.Operator=dbo.Users.UserIDINNERJOINdbo.GoodsTypeONdbo.GoodsInfo.TypeID=dbo.GoodsType.TypeID視圖QueryStock,對應Transact-SQL語句:SELECTdbo.StockInfo.StockID,dbo.StockInfo.GoodsID,dbo.GoodsInfo.GoodsName,dbo.GoodsType.TypeName,dbo.Company.CompanyName,dbo.Users.UserName,dbo.StockInfo.GoodsPrice,dbo.StockInfo.GoodsNum,dbo.StockInfo.RemarkFROMdbo.StockInfoINNERJOINdbo.GoodsInfoONdbo.StockInfo.GoodsID=dbo.GoodsInfo.GoodsIDINNERJOINdbo.UsersONdbo.StockInfo.Operator=dbo.Users.UserIDINNERJOINdbo.CompanyONdbo.StockInfo.CompanyID=dbo.Company.CompanyIDINNERJOINdbo.GoodsTypeONdbo.GoodsInfo.TypeID=dbo.GoodsType.TypeID

4系統(tǒng)實現(xiàn)系統(tǒng)用SQLServer做后臺數(shù)據(jù)庫,進行基于.net發(fā)平臺WinForm應用程序開發(fā),基礎(chǔ)實現(xiàn)其功效。以下將描述系統(tǒng)多個關(guān)鍵功效模塊運行和測試結(jié)果。4.1登陸系統(tǒng)模塊當我們建立了一個完整系統(tǒng)時,尤其對于管理系統(tǒng),對于進入每個系統(tǒng)人員我們?nèi)恳獙λM行身份驗證,我們當然不期望有任何人進入該系統(tǒng)進行惡意破壞,對系統(tǒng)中數(shù)據(jù)進行修改,維護該系統(tǒng)系統(tǒng)管理員也不期望有任何麻煩,所以對系統(tǒng)進行安全保護顯很關(guān)鍵,不管對于誰,系統(tǒng)安全問題是首要[9]。為了處理這個問題,有一個簡單、實用,不過老套方法,就是口令加密。在該小型超市收銀系統(tǒng)中對口令加密采取是常見MD5加密算法。在新增或修改用戶信息時,存入數(shù)據(jù)庫是用戶密碼MD5哈希值,在登錄驗證時依據(jù)用戶輸入密碼計算對應MD5哈希值進行比較。加密方法:publicstaticstringEncryptMD5(stringoldData){//將字符串轉(zhuǎn)化為字節(jié)序列Byte[]clearBytes=newUnicodeEncoding().GetBytes(oldData);//計算字節(jié)序列對應Hash值Byte[]hashedBytes=((HashAlgorithm)CryptoConfig.CreateFromName("MD5")).ComputeHash(clearBytes);//返回經(jīng)MD5加密后字符串returnBitConverter.ToString(hashedBytes);}在用戶登錄系統(tǒng)時,用戶只需要輸入分配用戶ID,只要ID號正確就能夠自動顯示出對應用戶名。為了預防她人獲知用戶密碼,增強系統(tǒng)安全性,我們將待輸入密碼文本框PasswordChar設(shè)為*,當用戶輸入密碼后,系統(tǒng)將對所輸入密碼進行檢驗,只有當密碼正確才可進入到系統(tǒng)主界面,不然系統(tǒng)會提醒錯誤。登錄界面圖4-1所表示。

圖4-1登錄界面圖用戶登錄成功后,會記下登錄該系統(tǒng)用戶權(quán)限,權(quán)限不一樣,進入主界面后可進行操作而異,表現(xiàn)在控件可響應用戶鼠標點擊事件是否。主界面圖4-2所表示。因為該用戶屬商品銷售中收銀員,能夠看到她只含有商品銷售權(quán)限。圖4-2系統(tǒng)主界面圖4.2商品信息模塊商品基礎(chǔ)信息管理模塊,用戶能夠?qū)ι唐沸畔⒓右怨芾恚缑婵山换バ詮?,運行時界面圖以下圖4-3。其中紅色顯示為低于庫存值,需要進貨商品。圖4-3商品基礎(chǔ)信息管理界面圖4.3商品入庫模塊含有庫存管理權(quán)限用戶進行商品入庫操作時,需要輸入商品編號,至于供給商能夠從下拉列表中選擇,假如供給商統(tǒng)計未添加至數(shù)據(jù)庫,可先單擊右側(cè)“添加供給商”按鈕。依次輸入進貨價、進貨數(shù)量,當進貨數(shù)量為負數(shù)時進行就是退貨操作。確定進貨時若發(fā)覺為新商品則提醒先新增商品,進貨統(tǒng)計成功添加出現(xiàn)對話框提醒。進貨運行界面以下圖4-4所表示。圖4-4商品入庫運行圖在入庫查詢中,能夠依據(jù)多種條件組合查詢,在輸入商品名稱時可實現(xiàn)模糊查詢匹配,滿足條件入庫統(tǒng)計將出現(xiàn)在網(wǎng)格中[10]。圖4-5。圖4-5入庫查詢界面圖4.4商品銷售模塊商品銷售模塊能處理商品銷售業(yè)務過程,輸入商品編號后回車確定后單擊“確定”按鈕就可將商品添加至待售商品列表。依據(jù)快捷鍵操作,修改數(shù)量。當用戶對購置商品不滿意時,在未使用商品情況下,能夠?qū)ι唐愤M行退貨。這時只需將商品數(shù)量修改置為負數(shù)即可。另外能夠在備注框中輸入退貨原因信息,方便了解退貨原因,反饋給商品廠家。商品銷售運行界面圖以下圖4-6所表示。圖4-6商品銷售運行界面圖開發(fā)商品銷售模塊過程中,對輸入數(shù)據(jù)要進行嚴格控制。此時,用到較多是TextBox控件KeyPress事件和TextChange事件,下面對這兩個事件進行具體說明。(1)實收金額文本框中控制金額輸入合理,只能是數(shù)字鍵、BackSpace鍵、小數(shù)點鍵被按下時才接收所按下鍵,實現(xiàn)代碼以下[11]:privatevoidtxtGetMoney_KeyPress(objectsender,KeyPressEventArgse){if(e.KeyChar!=8&&!char.IsDigit(e.KeyChar)&&e.KeyChar!='.'&&e.KeyChar!='-'){MessageBox.Show("輸入數(shù)字");//彈出提醒e.Handled=true;}}(2)找零金額由系統(tǒng)自動計算出并顯示在文本框中,實現(xiàn)代碼以下:privatevoidtxtGetMoney_TextChanged(objectsender,EventArgse)//當所收付款改變時,所找零錢數(shù)目也跟著改變{if(txtGetMoney.Text!=""){if(txtGetMoney.Text!="-"){floatfltMoney=Convert.ToSingle(txtGetMoney.Text.ToString());floatfltNeedPay=Convert.ToSingle(lblNeedM.Text.ToString());txtChange.Text=(fltMoney-fltNeedPay).ToString("0.0");}}else{txtChange.Text="";}}應該所收錢數(shù)及商品數(shù)量也由系統(tǒng)自動計算出,當網(wǎng)格中待售商品信息有所改變時就自動計算。對應系統(tǒng)運行界面以下圖4-7所表示。實現(xiàn)代碼以下:privatevoidSetCount()//并修改標簽中值,即售出總件數(shù)及售價{intintGoodsNum=0;floatfltMoney=0.0f;for(inti=0;i<dataGridView1.Rows.Count;i++){intGoodsNum+=Convert.ToInt32(dataGridView1.Rows[i].Cells[4].Value);fltMoney+=(Convert.ToSingle(dataGridView1.Rows[i].Cells[3].Value)*Convert.ToInt32(dataGridView1.Rows[i].Cells[4].Value));}intGoodsNum=Math.Abs(intGoodsNum);lblCount.Text=intGoodsNum.ToString();lblNeedM.Text=fltMoney.ToString();}圖4-7商品銷售結(jié)算結(jié)果圖手動輸入商品編號時,當已輸入前七位后系統(tǒng)將自動檢索前部相同商品編號信息。實現(xiàn)代碼以下:privatevoidtxtID_TextChanged(objectsender,EventArgse){//自動補充功效,假如文本框中已輸入字符總長度大于則許可自動補充if(txtID.Text.ToString().Length>=7){AutoCompleteStringCollectionmyString=newAutoCompleteStringCollection();stringstrID=txtID.Text.ToString();DataTablemyTable=newDataTable();stringstrSql="selectGoodsIDfromGoodsInfowhereGoodsIDlike'";strSql+=strID;strSql+="%'";myTable=mySql.SelectDataBase(strSql);if(myTable.Rows.Count>0){for(inti=0;i<myTable.Rows.Count;i++){myString.Add(myTable.Rows[i][0].ToString());}txtID.AutoCompleteCustomSource=myString;txtID.AutoCompleteSource=AutoCompleteSource.CustomSource;txtID.AutoCompleteMode=AutoCompleteMode.Suggest;}}else{txtID.AutoCompleteSource=AutoCompleteSource.None;txtID.AutoCompleteMode=AutoCompleteMode.None;}}商品銷售過程中要和數(shù)據(jù)庫交涉,和數(shù)據(jù)庫頻繁傳輸數(shù)據(jù),采取ADO.NET數(shù)據(jù)庫訪問技術(shù)。為了提升效率,對插入商品銷售統(tǒng)計實現(xiàn)時借助于存放過程來提升速度。4.5營業(yè)統(tǒng)計模塊用戶能夠依據(jù)時間段輸入查看營業(yè)情況,本系統(tǒng)對營業(yè)情況分類,有依具體明細,有按商品分類,也有按收銀員統(tǒng)計。運行界面圖以下圖4-8所表示:圖4-8營業(yè)統(tǒng)計運行結(jié)果4.6供給商模塊對供給商信息管理,增刪改查全部在該界面完成,工具欄中增刪改按鈕對應對應操作。初進入到該窗體時全部供給商信息全部會出現(xiàn)在窗體中網(wǎng)格,用戶能夠輸入查詢條件定位出某供給商,對其進行修改刪除操作。雙擊網(wǎng)格中某供給商統(tǒng)計,會出現(xiàn)該供給商所提供商品信息。對應運行界面圖以下圖4-9所表示。圖4-9供給商管理運行圖修改刪除可實現(xiàn)批量更新,而新增必需在無改刪操作或以上操作后已做保留。這得利于數(shù)據(jù)庫ADO.NET技術(shù)中提供對象SqlCommandBuild,將離線數(shù)據(jù)庫DataSet集中數(shù)據(jù)更新至數(shù)據(jù)庫,保持二者同時和一致性。實現(xiàn)代碼以下://保持和數(shù)據(jù)庫同時更新publicDataSetUpdateDataBase(DataSetchangedDataSet,stringtableName){this.msqlCon=newSqlConnection(mstrCon);this.msqlDa=newSqlDataAdapter(this.strSQL,this.msqlCon);this.msqlCmdBld=newSqlCommandBuilder(msqlDa);this.msqlDa.Update(changedDataSet,tableName);if(changedDataSet.Tables.Contains(tableName)==true){changedDataSet.Tables[tableName].Clear();}msqlDa.Fill(changedDataSet,tableName);returnchangedDataSet;//返回已更新數(shù)據(jù)庫表}4.7用戶信息模塊含有系統(tǒng)管理員用戶可打開用戶信息模塊對應窗體,完成對用戶信息管理,運行界面以下圖4-10。圖4-10用戶信息界面運行圖

5總結(jié)經(jīng)過三個月努力,我最終完成了小型超市收銀系統(tǒng)全部設(shè)計過程,各功效模塊運行流暢自然且含有一定實用價值。軟件設(shè)計是一個精細漫長過程。在整個過程中,全部需要周密計劃和安排,每一步驟,全部需要根據(jù)軟件工程標準來完成。在設(shè)計中,我一直堅持理論指導實踐標準,并經(jīng)過實踐來加強理論學習。經(jīng)過實習鍛煉,我熟悉了軟件通常過程,加強了對實際問題處理能力。在實習過程中,我也碰到了部分困難,關(guān)鍵表現(xiàn)了技術(shù)和經(jīng)驗欠缺,但經(jīng)過努力,最終一一克服了。因為開發(fā)者能力有限,加上時間倉促,本系統(tǒng)難免會出現(xiàn)部分不足之處,比如:本系統(tǒng)只適合小型超市使用,不能適合中大型超市使用;超市管理系統(tǒng)包含范圍寬,要處理問題多,功效復雜,實現(xiàn)困難,但因為限于時間,本系統(tǒng)只能做出其中一部分功效。對于以上出現(xiàn)問題,我們深表歉意,如發(fā)覺還有其它問題,期望老師批評指正。該軟件有待改善,表現(xiàn)在以下方面:其一,條形碼掃描儀引進將從根本上提升業(yè)務處理速度,提升超市運作速度。在這個系統(tǒng)中它缺乏了。只因能力有限。本人亦曾查詢過相關(guān)資料,了解到要實現(xiàn)這一功效需要包含到知識有:串口通信、多線程等等。再者,界面美工方面有不足之處。最終,系統(tǒng)可擴展性不是尤其強,因為本系統(tǒng)采取C/S兩層開發(fā),即使有用到些許公共類,實現(xiàn)了代碼共享,節(jié)省了系統(tǒng)資源,但畢竟有限且是在在兩層開發(fā)思緒上設(shè)計。期望在以后時間里能繼續(xù)完善。

參考文獻[1]張海藩.軟件工程導論(第五版)[M].北京:清華大學出版社,.[2]衛(wèi)紅春,朱欣娟.信息系統(tǒng)分析和設(shè)計[M].西安:西安電子科技大學出版社,.[3]JoeMayo.C#揭秘[M].北京:人民郵電出版社,.[4]閃四清.完全掌握SQLServer[M].北京:人民郵電出版社,.[5]謝希仁.計算機網(wǎng)絡[M].大連:大連理工大學出版社,.[6]王珊,薩師煊.數(shù)據(jù)庫系統(tǒng)概論(第四版)[M].北京:高等教育出版社,.[7]閃四清.數(shù)據(jù)庫系統(tǒng)原理和應用教程[M].北京:清華大學出版社,.[8]李律松,陳少剛.VisualC#數(shù)據(jù)庫高級教程[M].北京:清華大學出版社,.[9]唐政,房大偉.C#項目開發(fā).北京:清華大學出版社,.[10]李滿潮.VisualC#.NET高級編程[M].北京:清華大學出版社,.[11]MatthewReynolds,KarliWatson..NETEnterpriseDevelopmentinC#:FromDesigntoDeployment[M].London:WroxPressLtd,.

致謝時間如梭,大學四年立即就要結(jié)束了,在這四年學習生活中,我學習到了很多知識,專業(yè)知識方面更是有了很大提升,是我這一生當中最寶貴財富。在這最終階段,我衷心向?qū)W校各位老師和我同學及其關(guān)心激勵我親人表示我最衷心感謝,感謝她們在這四年當中對我?guī)椭完P(guān)心。感謝從大一到大四全部講課老師,她們孜孜不倦教導我們,使我們真正學習到了知識。感謝湖南理工學院圖書館,藏書豐富,我總能從中取得我想要知識和思想。這次論文其實也是學習過程,從圖書館中我找到很多相關(guān)學習指導書籍,才有了這次畢業(yè)設(shè)計順利完成,我感謝她。尤其要感謝是我畢業(yè)設(shè)計教導老師,陶躍進老師。在她幫助下我們才能順利完成這次設(shè)計。陶老師數(shù)次問詢并督促研究進程,而且為我指點迷津,幫助我開拓研究思緒,精心點撥、熱忱激勵。陶老師嚴謹求實態(tài)度,踏扎實實精神給我留下了深刻印象。這些足以讓我終生受益。我祝福陶老師工作順心順意,心想事成!最終感謝幫助過我每一個人,沒有她們就沒有我今天。

附錄公共類代碼:classDbSQL{privatestringmstrCon="DataSource=localhost;Database=SuperMarket;UserID=diff;Password=diffdiff";privateSqlConnectionmsqlCon;privateSqlDataAdaptermsqlDa;privatestringstrSQL;//SQL語句privateSqlCommandBuildermsqlCmdBld;privateDataSetmds=newDataSet();//publicvoidOpen()//{//this.msqlCon=newSqlConnection(mstrCon);//}///直接操作數(shù)據(jù)庫(未創(chuàng)建該類實例時直接用)//返回DataTable,檢索數(shù)據(jù)庫數(shù)據(jù),傳入字符串,直接操作數(shù)據(jù)庫publicDataTableSelectDataBase(stringtempStrSQL){this.msqlCon=newSqlConnection(mstrCon);DataSettempDataSet=newDataSet();this.msqlDa=newSqlDataAdapter(tempStrSQL,this.msqlCon);this.msqlDa.Fill(tempDataSet);returntempDataSet.Tables[0];}//數(shù)據(jù)庫數(shù)據(jù)更新(傳字符串,直接操作數(shù)據(jù)庫)publicintUpdateDataBase(stringtempStrSql){this.msqlCon=newSqlConnection(mstrCon);msqlCon.Open();SqlCommandtemSqlCmd=newSqlCommand(tempStrSql,msqlCon);intintNumber=temSqlCmd.ExecuteNonQuery();//返回數(shù)據(jù)庫中影響行數(shù)msqlCon.Close();returnintNumber;}///操作脫機數(shù)據(jù)庫(創(chuàng)建了該類實例時直接用)//返回DataSet,檢索數(shù)據(jù)庫,傳入字符串,及表名稱,publicDataSetSelectDataBase(stringtempStrSQL,stringtempTableName){this.strSQL=tempStrSQL;this.msqlCon=newSqlConnection(mstrCon);this.msqlDa=newSqlDataAdapter(this.strSQL,this.msqlCon);if(mds.Tables.Contains(tempTableName)==true){this.mds.Tables[tempTableName].Clear();}this.msqlDa.Fill(mds,tempTableName);returnmds;}//保持DataSet和數(shù)據(jù)庫同時更新publicDataSetUpdateDataBase(DataSetchangedDataSet,stringtableName){this.msqlCon=newSqlConnection(mstrCon);this.msqlDa=newSqlDataAdapter(this.strSQL,this.msqlCon);this.msqlCmdBld=newSqlCommandBuilder(msqlDa);this.msqlDa.Update(changedDataSet,tableName);if(changedDataSet.Tables.Contains(tableName)==true){changedDataSet.Tables[tableName].Clear();}msqlDa.Fill(changedDataSet,tableName);returnchangedDataSet;//返回已更新數(shù)據(jù)庫表}//用于用戶登錄驗證publicintUserLogin(intuserId,stringuserPwd){SqlCommandmyCmd=newSqlCommand("IsUser",msqlCon);myCmd.CommandType=CommandType.StoredProcedure;//給存放過程添加參數(shù)SqlParameterUserId=newSqlParameter("@UserId",SqlDbType.Int,4);UserId.Value=userId;myCmd.Parameters.Add(UserId);//給存放過程添加參數(shù)SqlParameterUserPwd=newSqlParameter("@Userpwd",SqlDbType.NVarChar,10);UserPwd.Value=userPwd;myCmd.Parameters.Add(UserPwd);//給存放過程添加參數(shù)SqlParameterflag=newSqlParameter("@exits",SqlDbType.Int,4);flag.Direction=ParameterDirection.Output;myCmd.Parameters.Add(flag);//實施數(shù)據(jù)庫操作myCmd.ExecuteNonQuery();//取得存放過程OUTPUT參數(shù)值作為函數(shù)返回值returnConvert.ToInt32(flag.Value);}//插入商品基礎(chǔ)信息publicboolAddGoods(GoodsDetailstempGoods){this.msqlCon=newSqlConnection(mstrCon);SqlCommandmyCmd=newSqlCommand("AddGoods",msqlCon);myCmd.CommandType=CommandType.StoredProcedure;//給存放過程添加參數(shù)SqlParametermyID=newSqlParameter("@GoodsID",SqlDbType.NVarChar,20);myID.Value=tempGoods.GoodsId;myCmd.Parameters.Add(myID);//SqlParametermyName=newSqlParameter("@GoodsName",SqlDbType.NVarChar,50);myName.Value=tempGoods.GoodsName;myCmd.Parameters.Add(myName);//SqlParametermyType=newSqlParameter("@TypeName",SqlDbType.NVarChar,10);myType.Value=tempGoods.TypeName;myCmd.Parameters.Add(myType);//SqlParametermyUnit=newSqlParameter("@GoodsUnit",SqlDbType.NVarChar,5);myUnit.Value=tempGoods.GoodsUnit;myCmd.Parameters.Add(myUnit);//SqlParametermyNorm=newSqlParameter("@GoodsNorm",SqlDbType.NVarChar,20);myNorm.Value=tempGoods.GoodsNorm;myCmd.Parameters.Add(myNorm);//SqlParametermyPrice=newSqlParameter("@GoodsSellPrice",SqlDbType.SmallMoney);myPrice.Value=tempGoods.GoodsSellPrice;myCmd.Parameters.Add(myPrice);//SqlParametermyAlarm=newSqlParameter("@AlarmNum",SqlDbType.Int);myAlarm.Value=tempGoods.AlarmNum;myCmd.Parameters.Add(myAlarm);//SqlParametermyRemark=newSqlParameter("@GoodsRemark",SqlDbType.NVarChar,100);myRemark.Value=tempGoods.GoodsRemark;myCmd.Parameters.Add(myRemark);//實施存放過程try{msqlCon.Open();myCmd.ExecuteNonQuery();returntrue;}catch{returnfalse;}finally{msqlCon.Close();}}//修改商品基礎(chǔ)信息publicboolUpdateGoods(GoodsDetailstempGoods){this.msqlCon=newSqlConnection(mstrCon);SqlCommandmyCmd=newSqlCommand("UpdateGoods",msqlCon);myCmd.CommandType=CommandType.StoredProcedure;//給存放過程添加參數(shù)SqlParametermyID=newSqlParameter("@GoodsID",SqlDbType.NVarChar,20);myID.Value=tempGoods.GoodsId;myCmd.Parameters.Add(myID);//SqlParametermyName=newSqlParameter("@GoodsName",SqlDbType.NVarChar,50);myName.Value=tempGoods.GoodsName;myCmd.Parameters.Add(myName);//SqlParametermyType=newSqlParameter("@TypeName",SqlDbType.NVarChar,10);myType.Value=tempGoods.TypeName;myCmd.Parameters.Add(myType);//SqlParametermyUnit=newSqlParameter("@GoodsUnit",SqlDbType.NVarChar,5);myUnit.Value=tempGoods.GoodsUnit;myCmd.Parameters.Add(myUnit);//SqlParametermyNorm=newSqlParameter("@GoodsNorm",SqlDbType.NVarChar,20);myNorm.Value=tempGoods.GoodsNorm;myCmd.Parameters.Add(myNorm);//SqlParametermyPrice=newSqlParameter("@GoodsSellPrice",SqlDbType.SmallMoney);myPrice.Value=tempGoods.GoodsSellPrice;myCmd.Parameters.Add(myPrice);//SqlParametermyAlarm=newSqlParameter("@AlarmNum",SqlDbType.Int);myAlarm.Value=tempGoods.AlarmNum;myCmd.Parameters.Add(myAlarm);//SqlParametermyRemark=newSqlParameter("@GoodsRemark",SqlDbType.NVarChar,100);myRemark.Value=tempGoods.GoodsRemark;myCmd.Parameters.Add(myRemark);//實施存放過程try{msqlCon.Open();myCmd.ExecuteNonQuery();returntrue;}catch{

溫馨提示

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

評論

0/150

提交評論