




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、藥品管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)目 錄1 緒論11.1 課題研究背景11.2 系統(tǒng)開發(fā)的意義12 需求分析12.1 系統(tǒng)功能分析12.2 系統(tǒng)用例分析22.3 系統(tǒng)E-R圖32.4運(yùn)行環(huán)境32.5 可行性分析42.5.1技術(shù)可行性42.5.2 經(jīng)濟(jì)可行性43 系統(tǒng)概要設(shè)計(jì)43.1 功能模塊設(shè)計(jì)43.2 概念結(jié)構(gòu)設(shè)計(jì)53.2.1 實(shí)體屬性圖53.3 數(shù)據(jù)表設(shè)計(jì)94 系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)134.1 功能模塊的具體實(shí)現(xiàn)134.1.1登錄模塊134.1.2 系統(tǒng)主界面設(shè)計(jì)154.1.3 用戶管理模塊164.1.4 修改密碼模塊184.1.5 藥品信息管理模塊204.1.6 入庫登記模塊224.1.7 銷售登記模
2、塊254.1.8藥品退貨模塊274.1.9藥品報(bào)損模塊284.1.10藥品調(diào)價(jià)模塊294.1.11 報(bào)表中心界面304.1.12系統(tǒng)部分公有類或方法的設(shè)計(jì)與實(shí)現(xiàn)345系統(tǒng)測試355.1測試目標(biāo)355.2測試大綱355.3測試結(jié)果及截圖366 總結(jié)和致謝466.1 總結(jié)466.2 致謝467 參考文獻(xiàn)47藥品管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)專業(yè):計(jì)算機(jī)科學(xué)與技術(shù) 學(xué) 號:姓名: 指導(dǎo)老師:【內(nèi)容摘要】社會在進(jìn)步,隨之而來的還有各種疾病,隨著人們生活水平的不斷提高,人們越來越重視自己的健康,這加速了醫(yī)藥行業(yè)的發(fā)展。在現(xiàn)在“看病難,看病貴”的社會背景下,很多工薪一族在面對一些小疾病的時(shí)候往往選擇到附近的藥店購買
3、非處方藥進(jìn)行治療。在這種情況下,中小型便民藥店越來越多,而中小型藥店普遍存在藥品管理混亂等問題,容易造成藥品積壓甚至失效,導(dǎo)致不必要的損失。本藥品管理系統(tǒng)主要圍繞藥品管理來操作,根據(jù)需求,系統(tǒng)主要實(shí)現(xiàn)藥品庫存管理、銷售管理兩大業(yè)務(wù),為用戶提供任意時(shí)間段的藥品庫存查詢,設(shè)置藥品庫存下限查詢。同時(shí)還向用戶提供了庫存報(bào)表、銷售報(bào)表、即將過期藥品報(bào)表、利潤報(bào)表等豐富的報(bào)表。系統(tǒng)使用Microsoft公司的Visual Studio 2010平臺,采用 C#語言,結(jié)合SQL Server 2008數(shù)據(jù)庫進(jìn)行設(shè)計(jì)與實(shí)現(xiàn)。系統(tǒng)經(jīng)過測試基本達(dá)到了預(yù)期的目標(biāo),操作界面較友好,操作方法簡單,可以用于中小型藥店的藥
4、品管理?!娟P(guān)鍵詞】 中小型藥店;藥品管理;C# 1 緒論1.1 課題研究背景藥品管理系統(tǒng)可以為藥店管理者提供充足的信息和快捷的查詢手段。但一直以來很多中小型藥店都使用傳統(tǒng)手工的方式進(jìn)行管理,這種管理方式存在著許多缺點(diǎn),如效率低、數(shù)據(jù)易丟失等,容易造成藥品積壓甚至失效。另外時(shí)間一長,將產(chǎn)生大量的紙質(zhì)版數(shù)據(jù),這對于查詢、修改都造成很大不便。使用計(jì)算機(jī)對藥品進(jìn)行管理相對于手工管理而言,具有很多優(yōu)點(diǎn)。例如:查詢方便快捷、數(shù)據(jù)存儲量大等。這些優(yōu)點(diǎn)能夠極大地提高了藥品管理的效率,也能更好地保證藥品的效期安全,是對消費(fèi)者負(fù)責(zé)的態(tài)度體現(xiàn)。因此,開發(fā)一套適用于中小型藥店的藥品管理系統(tǒng)管理軟件很有必要。1.2 系
5、統(tǒng)開發(fā)的意義中國現(xiàn)在的醫(yī)藥體系還不成熟,藥品管理系統(tǒng)也不成熟。在國內(nèi)有很多軟件公司開發(fā)藥品管理系統(tǒng),基本采用進(jìn)銷存模式,系統(tǒng)功能比較完善,但在安全、簡捷、性能以及人性化設(shè)計(jì)方面還存在不足。2 需求分析2.1 系統(tǒng)功能分析藥店的正常運(yùn)轉(zhuǎn)貨源要得到保證,這就必須有著良好的進(jìn)貨入庫管理功能,同時(shí)為了藥品質(zhì)量的保證,以及在未知藥品銷量時(shí)可以保證藥店不至于積存大量的藥品,對一些積存的藥品進(jìn)行合理的退貨。作為藥店盈利機(jī)構(gòu),藥店的銷售是非常重要,同時(shí)要求透明化,藥店的入庫單、銷售單、退貨信息都必須合理的記錄統(tǒng)計(jì)。藥品的存貨是藥店進(jìn)行正常運(yùn)行的保證同時(shí)合理的庫存量更好的應(yīng)對某些藥品需求量的變化,同時(shí)記錄藥品出
6、庫信息可以更好的反應(yīng)藥品的銷售信息。在倉庫中藥品的儲藏出現(xiàn)的損失,通過記錄的信息可以精準(zhǔn)核對藥品量的信息。同時(shí)在倉庫儲存中應(yīng)設(shè)置藥品的庫存下限,以便及時(shí)反映藥品的信息,為藥品進(jìn)貨提供可靠依據(jù)。1藥品,是藥店的資源。藥品的管理直接影響藥店的經(jīng)營,藥品管理做得不好會引起藥品的混亂,容易導(dǎo)致藥品失效,造成損失。為了維護(hù)消費(fèi)者的利益和藥店本身的信譽(yù)以及給藥店創(chuàng)造更好的效益,本系統(tǒng)應(yīng)具有以下功能:1. 良好的人機(jī)界面。2. 藥品入庫及調(diào)價(jià)管理。3. 藥品銷售及退貨管理。4. 藥品報(bào)損管理。5. 完善的數(shù)據(jù)查詢。6. 豐富的報(bào)表。7. 數(shù)據(jù)導(dǎo)出到Excel、Word、PDF功能。2.2 系統(tǒng)用例分析根據(jù)系
7、統(tǒng)功能分析,可以將系統(tǒng)細(xì)分出藥品信息管理、藥店信息管理、修改密碼、入庫登記、藥品調(diào)價(jià)、銷售登記、藥品退貨、藥品效期查詢、藥品報(bào)損、收入統(tǒng)計(jì)、支出統(tǒng)計(jì)、利潤統(tǒng)計(jì)以及用戶管理13個(gè)子模塊,管理員應(yīng)為藥店負(fù)責(zé)人,從藥品入庫到銷售以及中間的業(yè)務(wù),管理員都可以使用,收銀員可以使用部分功能,管理員用例圖如圖1所示,收銀員用例圖如圖2所示。圖1 管理員用例圖圖2 收銀員用例圖2.3 系統(tǒng)E-R圖圖3 系統(tǒng)E-R圖2.4運(yùn)行環(huán)境該系統(tǒng)采用了Client/Server模式軟件構(gòu)造技術(shù),頁面系統(tǒng)采用Visual Studio 2010開發(fā),數(shù)據(jù)庫采用SQL Server2008作為數(shù)據(jù)庫系統(tǒng),系統(tǒng)平臺為Windo
8、ws 7。1. Microsoft Visual Studio 2010集成化程度高,控件豐富,開發(fā)人員可以直接將各種控件拖放到視圖設(shè)計(jì)器,由軟件自動生成控件設(shè)計(jì)以及窗體布局的設(shè)計(jì)代碼,窗體視圖設(shè)計(jì)更加方便高效2. Microsoft SQL Server 2008能方便地建立數(shù)據(jù)庫對象,并且SQL Server 2008結(jié)合Visual Studio 2010和C#一起使用,能方便地對數(shù)據(jù)庫對象進(jìn)行數(shù)據(jù)操作。2.5 可行性分析2.5.1技術(shù)可行性1. 藥店管理的主線是藥品,藥品從入庫到出庫以及其它操作即從藥店流向消費(fèi)者的過程,中間不用經(jīng)過其他部門,沒有繁瑣的流程。加上到藥店的了解,對于藥品管
9、理系統(tǒng)的管理流程和管理內(nèi)容都易于掌握。2. 作為計(jì)算機(jī)專業(yè)的學(xué)生,在平時(shí)的課程設(shè)計(jì)的基礎(chǔ)上,加上自己的練習(xí)以及同學(xué)們的幫助,在系統(tǒng)實(shí)現(xiàn)上也是可行的。3. 計(jì)算機(jī)可以安裝本系統(tǒng)所需的開發(fā)環(huán)境SQL Server 2008和Visual studio 2010。2.5.2 經(jīng)濟(jì)可行性1. 本系統(tǒng)主要面向中小型藥店,處理的數(shù)據(jù)量不是很大,屬于小型的系統(tǒng),只需要購買打印機(jī)、電腦即可投入使用,成本低。2. 系統(tǒng)投入使用后可以很好地對藥品進(jìn)行管理,在給藥店創(chuàng)造更好的效益的同時(shí)有效避免藥品積壓甚至失效的問題,減少藥店損失。3 系統(tǒng)概要設(shè)計(jì)3.1 功能模塊設(shè)計(jì)根據(jù)系統(tǒng)的需求分析可以將藥品管理系統(tǒng)分為如下幾個(gè)大
10、模塊:登錄模塊基本信息模塊、入庫管理模塊、銷售管理模塊,以及庫存管理模塊、利潤統(tǒng)計(jì)模塊和關(guān)于我們模塊。整個(gè)系統(tǒng)以藥品的主線,入庫管理模塊是把藥品信息存入庫存表,其它藥品管理相關(guān)模塊是從庫存表取得數(shù)據(jù)進(jìn)行業(yè)務(wù)處理,系統(tǒng)模塊結(jié)構(gòu)圖如圖3所示。圖4 系統(tǒng)功能模塊結(jié)構(gòu)圖3.2 概念結(jié)構(gòu)設(shè)計(jì)3.2.1 實(shí)體屬性圖1. 藥品實(shí)體屬性圖,如圖5所示。藥品的屬性包括藥品的基本信息,如藥品編號、藥品名稱、拼音、藥品規(guī)格、計(jì)量單位、庫存低限等。其中藥品編號可以唯一標(biāo)識藥品。圖5 藥品實(shí)體屬性圖 2. 藥店實(shí)體屬性圖,如圖6所示。藥店實(shí)體包含藥店名稱、固定電話、手機(jī)、藥店地址4個(gè)基本屬性,作為藥店標(biāo)識并用于打印小票
11、。圖6 藥店實(shí)體屬性圖3. 藥品入庫單實(shí)體屬性圖,如圖7所示。 藥品與一般商品稍有不同,很多屬性都關(guān)系到藥品的安全,所以入庫單包含很多屬性,如入庫編號、拼音碼、藥品名稱、藥品規(guī)格、計(jì)量單位、批號、批準(zhǔn)文號、入庫單價(jià)、入庫數(shù)量、入庫總額、入庫時(shí)間、入庫單位、生產(chǎn)廠家、生產(chǎn)日期、失效日期、操作員、備注等17個(gè)基本屬性。其中入庫編號可唯一標(biāo)識藥品入庫信息。圖7 藥品入庫單實(shí)體屬性圖4. 藥品調(diào)價(jià)單實(shí)體屬性圖,如圖8所示。藥品調(diào)價(jià)單包含調(diào)價(jià)編號、入庫編號、拼音碼、藥品名稱、原單價(jià)、新單價(jià)、經(jīng)辦人、調(diào)價(jià)時(shí)間等基本屬性。圖8 藥品調(diào)價(jià)單實(shí)體屬性圖5. 藥品銷售單實(shí)體屬性圖,如圖9所示。藥品銷售單包含銷售編
12、號、入庫編號、拼音碼、藥品名稱、藥品規(guī)格、計(jì)量單位、生產(chǎn)廠家、銷售時(shí)間、銷售單價(jià)、銷售數(shù)量、銷售總額、操作員等基本屬性。圖9 藥品銷售單實(shí)體屬性圖6. 藥品退貨單實(shí)體屬性圖,如圖10所示。藥品退貨單包含退貨編號、入庫編號、拼音碼、藥品名稱、進(jìn)貨單位、進(jìn)貨單價(jià)、退貨原因、退貨時(shí)間、退貨數(shù)量、退貨總額、操作員等基本屬性。圖10 藥品退貨單實(shí)體屬性圖7. 藥品報(bào)損單實(shí)體屬性圖,如圖11所示。藥品報(bào)損單包含報(bào)損編號、入庫編號、拼音碼、藥品名稱、進(jìn)貨單價(jià)、報(bào)損原因、報(bào)損時(shí)間、報(bào)損數(shù)量、報(bào)損總額、操作員等基本屬性。圖11 藥品報(bào)損單實(shí)體屬性圖8. 用戶實(shí)體屬性圖,如圖12所示。用戶實(shí)體包含用戶編號、用戶名
13、、密碼、用戶姓名、是否管理員5個(gè)基本屬性。圖12 用戶實(shí)體屬性圖3.3 數(shù)據(jù)表設(shè)計(jì)本系統(tǒng)使用 SQL Server 2008作為后臺數(shù)據(jù)庫,在 SQL Server 2008中創(chuàng)建基本表對象。表對象要根據(jù)邏輯設(shè)計(jì)階段設(shè)計(jì)的關(guān)系模式來創(chuàng)建。本系統(tǒng)創(chuàng)建的SQL數(shù)據(jù)庫名稱為DrugStore。包含以下9張表。1. Login(用戶信息表)用戶信息表用于用戶信息,該表的結(jié)構(gòu)如表1所示。表1用戶信息表字段名數(shù)據(jù)類型長度備注說明u_idint4Not null用戶編號(自動編號)usernamevarchar50主鍵用戶名pwvarchar50Not null密碼realnamevarchar50Not
14、null用戶姓名adminvarchar50Not null是否管理員2. Store(藥店信息表)藥店信息表用于存儲藥店的信息,該表的結(jié)構(gòu)如表2所示。表2藥店信息表字段名數(shù)據(jù)類型長度備注說明storenamevarchar50Not null藥店名稱telvarchar50Not null固定電話mobilevarchar50手機(jī)addressvarchar50Not null藥店地址3. Drug(藥品信息表)藥品信息表用于藥品的基本信息,該表的結(jié)構(gòu)如表3所示。表3藥品信息表字段名數(shù)據(jù)類型長度備注說明idint4主鍵藥品編號(自動編號)pinyinmavarchar50Not null拼音
15、碼drugnamevarchar50Not null藥品名稱specvarchar50Not null藥品規(guī)格unitvarchar50Not null計(jì)量單位lowwarningint4Not null庫存低限4. Ruku(入庫信息表)入庫信息表用于存儲藥品進(jìn)貨入庫的各項(xiàng)信息,該表的結(jié)構(gòu)如表4所示。表4入庫信息表字段名數(shù)據(jù)類型長度備注說明IDvarchar20主鍵入庫編號(自動編號)pinyinmavarchar50Not null拼音碼drugnamevarchar50Not null藥品名稱pihaovarchar50Not null批號pizhunwenhaovarchar50Not
16、 null批準(zhǔn)文號specvarchar50Not null藥品規(guī)格unitvarchar50Not null計(jì)量單位amountint4Not null進(jìn)貨數(shù)量inpricedecimal(18, 2)Not null進(jìn)貨單價(jià)allpricedecimal(18, 2)Not null進(jìn)貨總額in_timedatetimeNot null進(jìn)貨時(shí)間in_fromvarchar50Not null進(jìn)貨單位factoryvarchar50Not null生產(chǎn)廠家producedatedatetimeNot null生產(chǎn)日期usefuldatedatetimeNot null失效日期in_byvar
17、char50Not null操作員remarkvarchar50備注5. Kucun(庫存信息表)庫存信息表用于存儲藥品庫存的各項(xiàng)信息,該表的結(jié)構(gòu)如表5所示。表5庫存信息表字段名數(shù)據(jù)類型長度備注說明IDvarchar20主鍵入庫編號(自動編號)pinyinmavarchar50Not null拼音碼drugnamevarchar50Not null藥品名稱factoryvarchar50Not null生產(chǎn)廠家specvarchar50Not null藥品規(guī)格unitvarchar50Not null計(jì)量單位amountint4Not null入庫數(shù)量pihaovarchar50Not nul
18、l批號pizhunwenhaovarchar50Not null批準(zhǔn)文號lowwarningint4Not null庫存低限inpricedecimal(18, 2)Not null進(jìn)貨單價(jià)sellpricedecimal(18, 2)Not null銷售單價(jià)in_timedatetimeNot null入庫時(shí)間producedatedatetimeNot null生產(chǎn)日期usefuldatedatetimeNot null失效日期in_byvarchar50Not null操作員6. Sell(銷售信息表)銷售信息表用于存儲售出藥品的信息,該表的結(jié)構(gòu)如表6所示。表6銷售信息表字段名數(shù)據(jù)類型長
19、度備注說明pinyinmavarchar50Not null拼音碼drugnamevarchar50Not null藥品名稱factoryvarchar50Not null生產(chǎn)廠家sellpricedecimal(18, 2)Not null銷售單價(jià)sellamountint4Not null銷售數(shù)量allpricedecimal(18, 2)Not null銷售總額s_idvarchar20Not null銷售編號(自動編號)selltimedatetimeNot null銷售時(shí)間sell_byvarchar50Not null操作員IDvarchar20Not null入庫編號(自動編號)
20、specvarchar50Not null藥品規(guī)格unitvarchar50Not null計(jì)量單位7. ReturnG(退貨信息表)退貨信息表用于存儲退貨的藥品的各項(xiàng)信息,該表的結(jié)構(gòu)如表7所示。表7退貨信息表字段名數(shù)據(jù)類型長度備注說明r_idvarchar20主鍵退貨編號(自動編號)ramountint4Not null退貨數(shù)量totalpricedecimal(18, 2)Not null退貨總額rtimedatetimeNot null退貨時(shí)間return_byvarchar50Not null操作員reasonvarchar50Not null退貨原因pinyinmavarchar50
21、Not null拼音碼drugnamevarchar50Not null藥品名稱IDvarchar20Not null入庫編號(自動編號)inpricedecimal(18, 2)Not null入庫單價(jià)factoryvarchar50Not null進(jìn)貨單位8. Breakage(報(bào)損信息表)報(bào)損信息表用于存儲已報(bào)損的藥品的各項(xiàng)信息,該表的結(jié)構(gòu)如表8所示。表8報(bào)損信息表字段名數(shù)據(jù)類型長度備注說明b_idvarchar20主鍵報(bào)損編號bamountint4Not null報(bào)損數(shù)量btimedatetimeNot null報(bào)損時(shí)間breakage_byvarchar50Not null操作員re
22、asonvarchar50Not null報(bào)損原因IDvarchar20Not null入庫編號pinyinmavarchar50Not null拼音碼drugnamevarchar50Not null藥品編號inpricedecimal(18, 2)Not null入庫單價(jià)allpricedecimal(18, 2)Not null報(bào)損總額9. Adjustprice(調(diào)價(jià)信息表)調(diào)價(jià)信息表用于存儲藥品調(diào)價(jià)的記錄,該表的結(jié)構(gòu)如表9所示。表9調(diào)價(jià)信息表字段名數(shù)據(jù)類型長度備注說明adjust_idvarchar20主鍵調(diào)價(jià)編號IDvarchar20Not null入庫編號pinyinmavarc
23、har50Not null拼音碼drugnamevarchar50Not null藥品名稱oldpricedecimal(18, 2)Not null原單價(jià)newpricedecimal(18, 2)Not null新單價(jià)adjust_timedatetimeNot null調(diào)價(jià)時(shí)間adjust_byvarchar50Not null操作員4 系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)4.1 功能模塊的具體實(shí)現(xiàn)4.1.1登錄模塊為保證信息安全,設(shè)置必須進(jìn)行識別用戶才可進(jìn)入系統(tǒng)主界面。用戶名及密碼其中任一個(gè)錯(cuò)誤都會有相應(yīng)的提示信息,并自動清空用戶名和密碼。只有兩者全部正確后方可進(jìn)入管理系統(tǒng)主界面。用戶登錄模塊流程圖如圖
24、13所示。圖13 用戶登錄模塊流程圖登錄界面如圖14所示。圖 14 登錄界面主要代碼如下:public static string flagUsername = null; public static string flagPassword = null; public static string flagAdmin = null;private void btnLogin_Click(object sender, EventArgs e) string strUsn = this.userName.Text; string strPsw = this.txtpsw.Text; try Sql
25、Connection sc = new SqlConnection(server=.SQLEXPRESS;database=DrugStore;Trusted_Connection=true); string sqlstring = select * from Login where username= + strUsn + ; SqlCommand cmd = new SqlCommand(sqlstring, sc); sc.Open(); SqlDataReader dr = cmd.ExecuteReader(); if (dr.Read() if (drpw.ToString() =
26、 strPsw) this.DialogResult = DialogResult.OK; flagUsername = strUsn;/取得登錄用戶名 flagPassword = strPsw;/取得登錄密碼,用于修改密碼時(shí)對比 flagAdmin = dradmin.ToString();/取得用戶類型,是否管理員 else MessageBox.Show(密碼錯(cuò)誤!); dr.Dispose(); sc.Close(); else if (userName.Text = ) MessageBox.Show(請輸入用戶名); else MessageBox.Show(該用戶名不存在);
27、dr.Dispose(); sc.Close(); catch (Exception ex) MessageBox.Show(點(diǎn)擊按鈕事件異常:n + ex.ToString(); this.userName.Text = null; this.txtpsw.Text = null; 4.1.2 系統(tǒng)主界面設(shè)計(jì)系統(tǒng)主界面中,點(diǎn)擊左側(cè)的不同按鈕會在右側(cè)的panel容器中顯示不同的窗體,點(diǎn)擊按鈕時(shí),會判斷是否有權(quán)限,并且文字顏色會以紅色突出顯示,十分美觀友好,系統(tǒng)功能都有很明顯的入口。單擊各功能按鈕,會進(jìn)入相應(yīng)子窗口。如圖15所示。圖15 系統(tǒng)主界面把窗體顯示到panel容器的代碼(以利潤統(tǒng)計(jì)按鈕
28、為例):private void btnReport_Click(object sender, EventArgs e)/只有管理員有權(quán)限 if (frm_Login.flagAdmin = 管理員) if (panel3.Tag != null & panel3.Tag is Form) (Form)panel3.Tag).Close(); frm_Report form5 = new frm_Report(); form5.TopLevel = false; form5.Parent = panel3; panel3.Tag = form5; form5.Show(); else Mess
29、ageBox.Show(沒有這個(gè)權(quán)限!); 按鈕的文字顏色會以紅色突出顯示的代碼(以利潤統(tǒng)計(jì)按鈕為例):private void btnReport_Enter(object sender, EventArgs e) this.label6.Visible = true; btnReport.ForeColor = Color.Red; private void btnReport_Leave(object sender, EventArgs e) this.label6.Visible = false; btnReport.ForeColor = Color.Blue; 4.1.3 用戶管理
30、模塊用戶管理僅限管理員使用。用戶管理模塊中,在添加用戶時(shí),需填寫用戶名和姓名以及選擇用戶類型,用戶編號自動生成,初始密碼自動設(shè)為123456,如果添加的用戶名已存在,則提示用戶名已存在,不能添加,否則添加成功。另外,選定某一用戶后,右鍵菜單有刪除用戶、重置密碼、設(shè)為管理員、設(shè)為收銀員四個(gè)選項(xiàng),每個(gè)操作都設(shè)有相應(yīng)提醒,以防誤操作。用戶管理模塊流程圖如圖16所示。圖16 用戶管理模塊流程圖用戶管理界面如圖17所示。圖17 用戶管理界面主要代碼如下:private void btnAdd_Click(object sender, EventArgs e) string str2 = txtUsern
31、ame.Text; string str3 = txtRealname.Text; string str4 = radioButtonAdmin.Text; string str5 = radioButtonCashier.Text; SqlConnection conn = GetConnection(); string strSelect = select count(*) from Login where username=username; SqlCommand commSelect = new SqlCommand(strSelect, conn); commSelect.Param
32、eters.Add(username, SqlDbType.VarChar).Value = str2; conn.Open(); if (Convert.ToInt32(commSelect.ExecuteScalar() = 0) string sqlstring = insert into Login(username,pw,realname,admin)values(username,pw,realname,admin); SqlCommand comn = new SqlCommand(sqlstring, conn); comn.Parameters.Add(username, S
33、qlDbType.VarChar).Value = str2; comn.Parameters.Add(pw, SqlDbType.VarChar).Value = 123456; comn.Parameters.Add(realname, SqlDbType.VarChar).Value = str3; if (radioButtonAdmin.Checked = true) comn.Parameters.Add(admin, SqlDbType.VarChar).Value = str4; if (radioButtonCashier.Checked = true) comn.Param
34、eters.Add(admin, SqlDbType.VarChar).Value = str5; comn.ExecuteNonQuery(); Binddgv(); else MessageBox.Show(該用戶名已存在!); Clear(); conn.Close(); 4.1.4 修改密碼模塊修改密碼時(shí)為了安全起見,需要輸入登錄密碼。另外,新密碼需要輸入兩次,兩次輸入相同則修改成功,以免用戶輸入出錯(cuò)而丟失密碼。如圖18所示。圖18 修改密碼界面主要代碼如下:private void btnSave_Click(object sender, EventArgs e) string st
35、rNew = txtConfirm.Text; SqlConnection conn = GetConnection(); try if (txtOldpsw.Text = |txtOldpsw.Text!=frm_Login.flagPassword) MessageBox.Show(原密碼錯(cuò)誤!); else if (txtNewpsw.Text = | txtConfirm.Text = ) MessageBox.Show(密碼不能為空!); else if (txtNewpsw.Text != txtConfirm.Text) MessageBox.Show(兩次密碼不一致!); tx
36、tNewpsw.Text = null; txtConfirm.Text = null; else SqlCommand cmd = new SqlCommand(update Login set pw=pw where username=username, conn); conn.Open(); cmd.Parameters.Add(username, SqlDbType.VarChar).Value = frm_Login.flagUsername; cmd.Parameters.Add(pw, SqlDbType.VarChar).Value = strNew; cmd.ExecuteN
37、onQuery(); MessageBox.Show(修改成功!); conn.Close(); txtOldpsw.Text = null; txtNewpsw.Text = null; txtConfirm.Text = null; catch (Exception ex) MessageBox.Show(點(diǎn)擊按鈕事件異常:n + ex.ToString(); 4.1.5 藥品信息管理模塊藥品信息管理模塊可進(jìn)行藥品信息的增、刪、改,存儲藥品的基本信息,添加藥品時(shí)編號以及拼音碼自動生成。輸入藥品名稱后,系統(tǒng)會自動獲得由首字母組成的拼音碼。計(jì)量單位選擇框在窗體加載時(shí)會查詢藥品信息表里所有的計(jì)量
38、單位以供選擇,用戶也可自行錄入。查詢選擇藥品后,如果要?jiǎng)h除已經(jīng)入庫的商品,為了保證數(shù)據(jù)完善性,系統(tǒng)提示阻止刪除,但可以修改庫存低限。藥品信息管理模塊流程圖如圖19所示。圖19 藥品信息管理模塊流程圖藥品管理界面如圖20所示。圖20 藥品信息管理界面窗體加載時(shí)會查詢顯示藥品信息表里所有的計(jì)量單位的代碼如下:SqlConnection conn = GetConnection(); conn.Open(); /根據(jù)數(shù)據(jù)庫里的數(shù)據(jù)綁定到計(jì)量單位選擇框* this.cboUnit.DataSource = null; this.cboUnit.Items.Clear(); string sqlstri
39、ng = select unit from Drug group by unit; SqlDataAdapter sda = new SqlDataAdapter(sqlstring, conn); DataSet ds = new DataSet(); sda.Fill(ds); cboUnit.DataSource = ds.Tables0; cboUnit.DisplayMember = unit; cboUnit.ValueMember = unit; ds.Dispose(); /*系統(tǒng)自動獲得拼音碼的代碼如下:/using Microsoft.International.Conve
40、rters.PinYinConverter;/引用微軟相關(guān)類庫后會有GetFirstPinyin(string str)方法public static string GetFirstPinyin(string str) string r = string.Empty; foreach (char obj in str) try ChineseChar chineseChar = new ChineseChar(obj); string t = chineseChar.Pinyins0.ToString(); r += t.Substring(0, 1); catchr += obj.ToStr
41、ing(); return r; private void txtName_Leave(object sender, EventArgs e) /txtPYM.Text = Components.HZPY.Convert(txtName.Text); txtPYM.Text = GetFirstPinyin(txtName.Text).ToUpper(); 4.1.6 入庫登記模塊入庫登記是系統(tǒng)的重要組成部分。進(jìn)入入庫登記窗口后,需填寫必要信息。入庫編號、入庫時(shí)間和操作員由系統(tǒng)提取生成。進(jìn)貨單位下拉框自動查詢顯示之前的進(jìn)貨單位記錄。填寫藥品拼音碼后,則把藥品信息表里存在的相應(yīng)藥品信息顯示到輔助
42、錄入?yún)^(qū),同時(shí)把可能的生產(chǎn)廠家綁定到生產(chǎn)廠家下拉框。填寫相關(guān)信息后,入庫總額由系統(tǒng)自動計(jì)算。保存時(shí)利用事務(wù)處理把相關(guān)信息保存到入庫信息表以及庫存表中,保存后如果發(fā)現(xiàn)信息有誤,在已入庫藥品尚未發(fā)生業(yè)務(wù)前可以刪除相應(yīng)記錄并重新錄入。入庫登記模塊流程圖如圖21所示。圖21 入庫登記模塊流程圖入庫登記界面如圖22所示。圖22 入庫登記界面自動編號的存儲過程proc_AutoID如下:USE DrugStoreGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER proc c_AutoID(newID varchar(20) output)asdeclare id varchar(20)set id=(select MAX(ID) from Ruku)if(id is null OR substring(id,5,8)!=substring(convert(varchar,getdate(),112),1,8) set id=(select RKBH+(substring(convert(varchar,getdate(),112),1,8)+0000)setnewID=(selectRKBH+(substring(convert(varch
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 岸電箱施工方案
- 2025年山東省成考試題及答案
- 農(nóng)村泥巴墻施工方案
- 5年級下冊語文背誦
- 5年級上冊語文筆記第6單元第1課小練筆
- 等保測評服務(wù)人員配置方案
- 4年級上冊第5單元
- 嘉興古建基礎(chǔ)施工方案
- 大學(xué)語文同步練習(xí)12-垓下之圍 (1) - 副本 - 副本
- 2025年安徽衛(wèi)生健康職業(yè)學(xué)院單招職業(yè)傾向性測試題庫參考答案
- GB/T 13384-2008機(jī)電產(chǎn)品包裝通用技術(shù)條件
- 綜合門診部全科醫(yī)療科設(shè)置基本標(biāo)準(zhǔn)
- GB 15603-1995常用化學(xué)危險(xiǎn)品貯存通則
- FZ/T 07019-2021針織印染面料單位產(chǎn)品能源消耗限額
- 北師大版高中英語必修二《New-Zealand-Fact-File》reading-課件-
- 豎彎鉤的書寫課件
- 幼兒園小班植樹節(jié)課件:《栽樹》
- 初中英語《Unit5-Do-you-remember-what-you-were-doing》教學(xué)課件設(shè)計(jì)
- 幼兒園大班數(shù)學(xué)口算練習(xí)題可打印
- 小學(xué)班會課件-端午節(jié)主題班會(共19張PPT)通用版 PPT課件
- 細(xì)菌性痢疾流行病學(xué)個(gè)案調(diào)查表
評論
0/150
提交評論