超市會(huì)員購(gòu)物系統(tǒng)_第1頁(yè)
超市會(huì)員購(gòu)物系統(tǒng)_第2頁(yè)
超市會(huì)員購(gòu)物系統(tǒng)_第3頁(yè)
超市會(huì)員購(gòu)物系統(tǒng)_第4頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余50頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

1、數(shù)據(jù)庫(kù)實(shí)用技術(shù)課外實(shí)踐報(bào)告項(xiàng) 目 名 稱:超市會(huì)員購(gòu)物系統(tǒng)所 在 班 級(jí):級(jí)本信管班小組成員:指導(dǎo)教師:起止時(shí)間:12月10日12月30日安陽(yáng)師范學(xué)院數(shù)據(jù)庫(kù)實(shí)用技術(shù) 課外實(shí)踐 ·項(xiàng)目基本信息項(xiàng)目名稱超市會(huì)員購(gòu)物系統(tǒng)該系統(tǒng)可實(shí)現(xiàn)管理員對(duì)商品的信息進(jìn)行增刪改查的功能,也可修改其密碼,管理員也可對(duì)會(huì)員進(jìn)行項(xiàng)目簡(jiǎn)介管理工作。對(duì)于會(huì)員,本系統(tǒng)可實(shí)現(xiàn)對(duì)商品的信息進(jìn)行查詢以及商品的購(gòu)買,也可修改自己的密碼。小組成員xx 負(fù)責(zé)數(shù)據(jù)庫(kù)的創(chuàng)建及數(shù)據(jù)的錄入。任務(wù)分工xx 負(fù)責(zé)系統(tǒng)設(shè)計(jì)和源代碼編寫。xx 負(fù)責(zé)系統(tǒng)調(diào)試、維護(hù)工作。xx 負(fù)責(zé) word 、PPT 制作。2安陽(yáng)師范學(xué)院數(shù)據(jù)庫(kù)實(shí)用技術(shù) 課外實(shí)踐 &

2、#183;一、問(wèn)題描述及分析1.1背景從 20 世紀(jì) 90 年代后期特別是近幾年,我國(guó)的超市產(chǎn)業(yè)飛速發(fā)展,其經(jīng)營(yíng)模式更為復(fù)雜,舊的管理體制已經(jīng)無(wú)法適應(yīng)超市的發(fā)展,這就迫切的需要引進(jìn)新的管理技術(shù)。超市的數(shù)據(jù)和業(yè)務(wù)越來(lái)越龐大,而計(jì)算機(jī)就是一種高效的管理系統(tǒng),這就需要我們把超市的管理與計(jì)算機(jī)結(jié)合起來(lái),從而超市管理系統(tǒng)應(yīng)運(yùn)而生。依靠現(xiàn)代化的計(jì)算機(jī)信息處理技術(shù)來(lái)管理超市,節(jié)省了大量的人力、物力,改善了員工的并且能夠快速反映出商品的進(jìn)、銷、存等狀況和各種反饋信息分析,使管理人員快速對(duì)市場(chǎng)的變化做出相應(yīng)的決策,加快超市經(jīng)營(yíng)管理效率。網(wǎng)絡(luò)購(gòu)物也隨之越來(lái)越運(yùn)用廣泛,本系統(tǒng)也借鑒了網(wǎng)絡(luò)購(gòu)物的一些功能。1.2數(shù)據(jù)需

3、求(1) 會(huì)員的信息。(2) 商品的信息。(3) 管理員的信息。(4) 供貨商信息。1.3事務(wù)需求保證 PREFERENTIAL表的商品號(hào)、商品名、價(jià)格于購(gòu)物表的一致性,另外保證member表與購(gòu)物表里會(huì)員號(hào)的一致性。保證會(huì)員信息和購(gòu)物表信息的持久性。1.4安全性體現(xiàn)在用戶和管理員登錄系統(tǒng)時(shí),設(shè)置了權(quán)限,然后在數(shù)據(jù)庫(kù)中創(chuàng)建了備份。對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行了約束。二、解決方案 (或數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì))2.1 E-R模型設(shè)計(jì)3安陽(yáng)師范學(xué)院數(shù)據(jù)庫(kù)實(shí)用技術(shù) 課外實(shí)踐 ·4安陽(yáng)師范學(xué)院數(shù)據(jù)庫(kù)實(shí)用技術(shù) 課外實(shí)踐 ·商品名商品號(hào)會(huì)員號(hào)價(jià)格地址電話訂單接收人姓名名稱地址時(shí)間賬號(hào)密碼n供貨商號(hào)查看n

4、管理mm聯(lián)系人供貨商電話信譽(yù)m電話地址管理管理員m管理mn會(huì)員n修改密碼修改m供應(yīng)密碼n商品號(hào)會(huì)員號(hào)購(gòu)買姓名商品n積分要求商品名折扣后價(jià)種類折扣原價(jià)5安陽(yáng)師范學(xué)院數(shù)據(jù)庫(kù)實(shí)用技術(shù) 課外實(shí)踐 ·2.2數(shù)據(jù)字典ADMINISTRATOR(管理員登錄表)字段名數(shù)據(jù)類型主鍵是否為空其它約束賬號(hào)Varchar ( 10)是否UNIQUE密碼Varchar ( 20)否否MEMBER(會(huì)員登錄表)字段名數(shù)據(jù)類型主鍵是否為空其它約束用戶名Varchar ( 10)是否UNIQUE密碼Varchar ( 20)否否姓名Varchar ( 6)否否電話Varchar ( 11)否否積分Bigint否否備

5、注nvarchar ( 50)否是PREFERENTIAL(商品表)字段名數(shù)據(jù)類型主鍵是否為空其它約束商品號(hào)Varchar ( 20)是否Unique商品名Varchar ( 30)否否種類Varchar ( 10)否否原價(jià)Money否是折扣Float否否折扣后價(jià)Money否是積分要求Bigint否否購(gòu)物表字段名數(shù)據(jù)類型主鍵是否為空其它約束會(huì)員號(hào)Varchar ( 10)否否商品號(hào)Varchar ( 20)否否商品名Varchar ( 30)否否價(jià)格Money否否地址Varchar ( 30)否是電話Varchar ( 11)否是接收人電話Varchar ( 10)否是時(shí)間Date否是供貨商表

6、6安陽(yáng)師范學(xué)院數(shù)據(jù)庫(kù)實(shí)用技術(shù) 課外實(shí)踐 ·字段名數(shù)據(jù)類型主鍵是否為空其它約束供貨商號(hào)Varchar ( 10)是否Unique名稱Varchar ( 20)否否聯(lián)系人Varchar ( 10)否否電話Varchar ( 11否是地址Varchar ( 20)否是信譽(yù)Varchar ( 10)否是備注Varchar ( 50)否是進(jìn)貨表字段名數(shù)據(jù)類型主鍵是否為空其它約束供貨商號(hào)varchar ( 10)是否UNIQUE商品號(hào)varchar( 20)否否商品名varchar( 30)否否進(jìn)貨數(shù)量Int否是2.3 系統(tǒng)數(shù)據(jù)流分析輸入信息自助查詢系輸出信息用戶用戶統(tǒng)庫(kù)文件管理員三、系統(tǒng)實(shí)現(xiàn)3

7、.1開發(fā)環(huán)境本系統(tǒng)開發(fā)是運(yùn)用內(nèi)存為2G, 32 位操作系統(tǒng),處理器為Inter( R) Core( TM)i3-2310MCPU2.10GHz本.系統(tǒng)采用T-SQL 和 Microsoft Visual C#2008語(yǔ)言,可應(yīng)用于windows XP 、Windows 7.7安陽(yáng)師范學(xué)院3.2系統(tǒng)流程圖會(huì)員登錄登錄成功是查看商品購(gòu)買商品修改密碼數(shù)據(jù)庫(kù)實(shí)用技術(shù) 課外實(shí)踐 ·開始登陸界面管理員是管理員登錄否登錄成功是管理商品查看訂單管理會(huì)員管理供應(yīng)商結(jié)束3.3系統(tǒng)功能模塊及結(jié)構(gòu)描述現(xiàn)對(duì)系統(tǒng)各功能模塊進(jìn)行詳細(xì)分解。1. 系統(tǒng)登錄模塊:該模塊用于管理員及用戶的登錄;2. 管理員管理模塊:管理

8、員可以通過(guò)該模塊對(duì)商品進(jìn)行增刪改查、會(huì)員信息的管理以及對(duì)會(huì)員訂單的查詢;3. 會(huì)員查詢模塊:該模塊可以為會(huì)員提供商品折扣信息;4. 會(huì)員購(gòu)買商品模塊 : 用戶可以通過(guò)該模塊進(jìn)行商品選購(gòu);5. 修改密碼模塊 : 管理員及會(huì)員可以通過(guò)該模塊修改密碼;6. 管理供應(yīng)商模塊:管理員可以通過(guò)此系統(tǒng)管理供應(yīng)商。8安陽(yáng)師范學(xué)院數(shù)據(jù)庫(kù)實(shí)用技術(shù) 課外實(shí)踐 ·7. 進(jìn)貨模塊:管理員可以通過(guò)此模塊按條件查詢商品的剩余量,進(jìn)行合理的進(jìn)貨。超市會(huì)員購(gòu)物系統(tǒng)系管會(huì)理員統(tǒng)員管管管理理理登取管修增刪改加除修查會(huì)查購(gòu)修理消進(jìn)錄供優(yōu)優(yōu)優(yōu)改看員看買改登貨系應(yīng)惠惠惠密訂管商物密統(tǒng)錄商商商碼單理品品碼商品品品功能模塊圖3.4

9、系統(tǒng)調(diào)試系統(tǒng)的測(cè)試的主要任務(wù)是發(fā)現(xiàn)并排除在分析、設(shè)計(jì)、編程各階段中產(chǎn)生的各種類型的錯(cuò)誤,以得到可使用的軟件系統(tǒng)。登錄模塊測(cè)試使用本系統(tǒng)時(shí),先從登錄界面登錄,根據(jù)登陸身份的不同,可以登錄到達(dá)不同的界面,在商家界面的界面里有系統(tǒng)的功能模塊及模塊下的子模塊,直接輸入即可進(jìn)入處理界面。管理員管理模塊測(cè)試9安陽(yáng)師范學(xué)院數(shù)據(jù)庫(kù)實(shí)用技術(shù) 課外實(shí)踐 ·信息處理模塊就是以添加、修改和刪除信息的功能為主,在信息界面中的文本框中輸入正確的信息,點(diǎn)擊修改就可以把數(shù)據(jù)庫(kù)中的信息更新,達(dá)到修改目的。點(diǎn)擊刪除按鈕就可以把該條信息刪除。點(diǎn)擊添加就可以把新信息添加到數(shù)據(jù)庫(kù)中。處理模塊能讓商家更快的修改優(yōu)惠項(xiàng)的信息,大

10、大減少了工作時(shí)間。該模塊還能進(jìn)行會(huì)員管理,在信息界面對(duì)輸入正確的信息就能對(duì)會(huì)員基本信息進(jìn)行查看。在文本框中修改會(huì)員信息,點(diǎn)擊修改就能達(dá)到修改的目的。此外,點(diǎn)擊查詢訂單選項(xiàng)能夠進(jìn)入到會(huì)員訂單查詢界面,點(diǎn)擊查看按鈕,用戶訂單的所有信息就能夠清楚地看到,可以讓管理員及時(shí)地看到用戶訂單。會(huì)員查詢模塊測(cè)試在會(huì)員查詢?cè)O(shè)計(jì)界面里,直接點(diǎn)擊查詢?nèi)啃畔⑦x項(xiàng)即可看到所有折扣商品的信息,還可以分成不同方式的查詢,按類別查詢是對(duì)不同類型的商品進(jìn)行查詢;點(diǎn)擊按折扣查詢時(shí),可以看到相同折扣的商品有哪些;點(diǎn)擊按積分要求查詢,可以清楚的看到各種折扣商品的折扣對(duì)象。為了方便用戶的購(gòu)買,在用戶查詢優(yōu)惠項(xiàng)后可以直接進(jìn)行商品的購(gòu)買

11、,方便買家的商品購(gòu)買。進(jìn)貨模塊測(cè)試在進(jìn)貨界面中,點(diǎn)擊按庫(kù)存查看商品余量,管理員可以查看各個(gè)有可能需要進(jìn)貨的商品,然后根據(jù)需要進(jìn)行購(gòu)買活動(dòng)。四、使用說(shuō)明本系統(tǒng)只適合管理員和會(huì)員兩個(gè)身份的人使用,管理員輸入賬號(hào)、密碼點(diǎn)擊登錄可進(jìn)入管理員管理界面,增加商品時(shí),管理員需要填入下面框內(nèi)的信息然后點(diǎn)擊增加商品按鈕即可添加商品。刪除商品時(shí),管理員只需輸入要?jiǎng)h除商品的商品號(hào)即可。修改商品時(shí),輸入要修改商品的商品號(hào),然后在修改它的其它項(xiàng)即可。點(diǎn)擊刷新列表就可查詢所有的商品。點(diǎn)擊修改密碼,即可進(jìn)入管理員修改密碼的界面, 在修改密碼時(shí)只需要輸入帳號(hào), 然后輸入兩次修改后的密碼,點(diǎn)擊確認(rèn)重置就可。在管理員管理界面點(diǎn)擊

12、管理會(huì)員按鈕,即可進(jìn)入管理會(huì)員界面。在管理會(huì)員界面有查看、添加、修改、退出按鈕,產(chǎn)看按鈕用于查看會(huì)員的信息,添加按鈕用于添加新的會(huì)員,修改按鈕用于修改會(huì)員的基本信息,這兩個(gè)按鈕的用法和增加商品、修改商品按鈕的用法相似。在管理員管理界面,點(diǎn)擊查看訂單按鈕,即可進(jìn)入查看訂單界面,其中的查看所有的按鈕用于查看所有人的訂單。若不想查看所有的訂單,可按照時(shí)間、地址條件進(jìn)行查詢,當(dāng)在地址框內(nèi)輸入地址, 然后再點(diǎn)擊查看, 即可看到在此地址的所有訂單, 在時(shí)間框內(nèi)輸入時(shí)間,再點(diǎn)擊查看,即可查看在此時(shí)間訂貨的信息。會(huì)員輸入會(huì)員號(hào)、密碼點(diǎn)擊登錄可進(jìn)入會(huì)員查詢界面,在會(huì)員查詢?cè)O(shè)計(jì)界面里,直接點(diǎn)擊10安陽(yáng)師范學(xué)院數(shù)據(jù)

13、庫(kù)實(shí)用技術(shù) 課外實(shí)踐 ·查詢?nèi)啃畔⑦x項(xiàng)即可看到所有折扣商品的信息,還可以分成不同方式的查詢,按類別查詢是對(duì)不同類型的商品進(jìn)行查詢;點(diǎn)擊按折扣查詢時(shí),可以看到相同折扣的商品有哪些;點(diǎn)擊按積分要求查詢,可以清楚的看到各種折扣商品的折扣對(duì)象。為了方便用戶的購(gòu)買,在用戶查詢優(yōu)惠項(xiàng)后可以直接進(jìn)行商品的購(gòu)買,方便買家的商品購(gòu)買。當(dāng)在會(huì)員查詢界面點(diǎn)擊按鈕購(gòu)買商品時(shí),即可進(jìn)入購(gòu)買物品界面,再次界面會(huì)員可以根據(jù)自己的需求,填入您所想要的商品的商品號(hào),然后輸入接收人地址,接收人電話、接收人姓名、日期然后點(diǎn)擊添加,您所選得商品就可加入到您的購(gòu)物表中, 不需要輸入商品名和價(jià)格, 系統(tǒng)會(huì)根據(jù)您的商品號(hào), 自

14、動(dòng)的給您匹配好,如果您要選多種商品時(shí),接收人地址,接收人電話、接收人姓名、日期只需要在選第一個(gè)商品時(shí)輸入即可。選完您所要的物品,點(diǎn)擊下面的查看按鈕,就可查看您的訂單,另外注明,在您選物品時(shí), 最好點(diǎn)擊一下清除按鈕, 此按鈕的功能是清除您原來(lái)選的商品, 也可用于取消訂單。點(diǎn)擊總計(jì)按鈕,可查看您所選物品的總價(jià)格。在會(huì)員查看界面點(diǎn)擊修改密碼,即可進(jìn)入會(huì)員修改密碼的界面,在修改密碼時(shí)只需要輸入會(huì)員號(hào),然后輸入兩次修改后的密碼,點(diǎn)擊確認(rèn)重置就可。點(diǎn)擊返回登錄界面即可進(jìn)入最先的登錄界面。在管理進(jìn)貨商界面,點(diǎn)擊查看供貨商信息就可查詢所有的供貨商信息,在增加供貨商時(shí),需要先輸入下面框內(nèi)的信息,然后點(diǎn)擊增加供貨

15、商即可。刪除供貨商時(shí),只需要輸入供貨商號(hào)即可。修改時(shí),除了供貨商號(hào)不能修改,其余的都可先在框內(nèi)填入信息,然后點(diǎn)擊修改供應(yīng)商即可修改。在此界面點(diǎn)擊返回上一界面即可進(jìn)入到管理員管理界面1. 點(diǎn)擊退出即可退出系統(tǒng)。在進(jìn)貨界面中,點(diǎn)擊按庫(kù)存查看商品余量,管理員可以查看各個(gè)有可能需要進(jìn)貨的商品,然后根據(jù)需要進(jìn)行購(gòu)買活動(dòng)。五、問(wèn)題及解決方法問(wèn)題一:在登陸時(shí)密碼總是顯示出來(lái)?解決方法: 修改了 txtPwd 的 PasswordChar 屬性。如圖:。結(jié)果: 當(dāng)管理員或者會(huì)員輸入密碼時(shí),密碼不會(huì)顯示出來(lái)而是以* 的形式顯示, 保證了密碼的安全性。登陸時(shí)如下圖:11安陽(yáng)師范學(xué)院數(shù)據(jù)庫(kù)實(shí)用技術(shù) 課外實(shí)踐 

16、83;問(wèn)題二 :當(dāng)在寫代碼是,數(shù)據(jù)庫(kù)與c#連接語(yǔ)句要重復(fù)寫好多次?解決方法:新增了一個(gè)DBHelper類,類中寫了打開數(shù)據(jù)庫(kù),連接數(shù)據(jù)庫(kù),關(guān)閉數(shù)據(jù)庫(kù)的所有語(yǔ)句。代碼如下:namespace 超市會(huì)員購(gòu)物系統(tǒng)1classDBHelperprivatestringconnStr =null ;privateSqlConnectionconnection;publicDBHelper( stringconnStr)this .connStr = connStr;connection =new SqlConnection(connStr);publicvoid DBopen()tryif(connec

17、tion.State= ConnectionState.Broken) / 如果連接對(duì)象的狀態(tài)時(shí) Broken ,那么必須先關(guān)閉連接,才能去打開, 直接打開會(huì)出現(xiàn)異常connection.Close();connection.Open();catch ( Exceptionex)throw ex;publicvoid DBClose()this .connection.Close();publicstringSplExecuteScalar(stringsql)trythis .DBopen();SqlCommandcmd =new SqlCommand(sql,this .connectio

18、n);12安陽(yáng)師范學(xué)院數(shù)據(jù)庫(kù)實(shí)用技術(shù) 課外實(shí)踐 ·returncmd.ExecuteScalar().ToString();catch ( Exceptionex)throw ex;finallythis .DBClose();publicintSqlExecuteNonQuery(stringsql)trythis .DBopen();SqlCommandcmd =new SqlCommand(sql,this .connection);returncmd.ExecuteNonQuery();catch ( Exceptionex)throw ex;finallythis .DBC

19、lose();publicDataSet GetDataSet(stringsql)trythis .DBopen();DataSet ds =new DataSet (); / 創(chuàng)建 dataset 對(duì)象SqlDataAdaptersda = new SqlDataAdapter(sql,this .connection);/創(chuàng)建 Ssql 適配器sda.Fill(ds);returnds;catch ( Exceptionex)13安陽(yáng)師范學(xué)院數(shù)據(jù)庫(kù)實(shí)用技術(shù) 課外實(shí)踐 ·throw ex;finallythis .DBClose();結(jié)果:在每次要連接數(shù)據(jù)庫(kù)時(shí)只需要寫一句代碼就可

20、以,節(jié)約了大量的時(shí)間,也是代碼看著簡(jiǎn)潔、易懂。 代碼是:DBHelper db = new DBHelper ( "server=.;initialcatalog=MARKET;integrated security=true" );問(wèn)題三:在管理會(huì)員界面,當(dāng)管理員增加新的會(huì)員的時(shí)候,會(huì)有密碼的設(shè)置,如果密碼是管理員隨便輸入的,這樣會(huì)不好管理會(huì)員的信息?解決方法:當(dāng)添加新的會(huì)員時(shí),我們默認(rèn)了會(huì)員的密碼是123,積分是 0,因此在添加時(shí)就不用輸入會(huì)員的密碼和積分。默認(rèn)會(huì)員密碼和積分的代碼是:textBox2.Text ="123" ; textBox4.T

21、ext ="0" ; 注: textBox2 是密碼框, textBox4 是積分框。結(jié)果:避免了管理員一次次的輸入密碼和積分,節(jié)省了時(shí)間,使工作效率得到了提高。輸入時(shí)如下圖:然后點(diǎn)擊添加按鈕即可。問(wèn)題四:在修改密碼時(shí),如果在讓用戶重新輸入一遍帳號(hào)和原密碼,好像是不需要的,因?yàn)橹挥凶约旱顷懞蟛拍苄薷淖约旱拿艽a,因此原密碼是不需要確認(rèn)的。解決方法:在修改密碼界面只設(shè)計(jì)了三個(gè)輸入框,用戶名、新密碼、確認(rèn)密碼,而且用戶名是通過(guò)窗體傳值來(lái)設(shè)計(jì)的,而且設(shè)計(jì)時(shí)用戶名框內(nèi)傳來(lái)的值是不能修改的,這樣就避免了會(huì)有人修改別人的密碼。窗體傳值的代碼如下:上一界面的代碼:stringtxtValu

22、e1 =this .label8.Text;修改密碼a =new 修改密碼 (txtValue1);a.Show();this .label8.Text = a.returnValue;14安陽(yáng)師范學(xué)院數(shù)據(jù)庫(kù)實(shí)用技術(shù) 課外實(shí)踐 ·在修改密碼界面的代碼:publicstringreturnValue;public修改密碼 ( stringtxtValue1)InitializeComponent();this .textBox1.Text = txtValue1;結(jié)果:用戶只需要填寫新密碼和確認(rèn)密碼兩個(gè)框內(nèi)的值就可。問(wèn)題五:如何體現(xiàn)sql 語(yǔ)言的靈活性、完整性和安全性?解決方法:創(chuàng)建了

23、兩個(gè)簡(jiǎn)單的存儲(chǔ)過(guò)程。代碼如下:createprocedurecxgwbasselect*from 購(gòu)物表createprocedurecxspasselect*from PREFERENTIAL并且在管理員查看商品時(shí)調(diào)用了存儲(chǔ)過(guò)程:stringsql ="execute cxsp"問(wèn)題六:如何讓會(huì)員查詢方便?解決方法:在會(huì)員查詢界面設(shè)計(jì)了可以按照不同的方面進(jìn)行查詢,有可以查看所有的商品,有按照類別進(jìn)行查看,有按照積分進(jìn)行查看,有按照折扣進(jìn)行查看。結(jié)果:大大節(jié)省了會(huì)員的時(shí)間,使他們可以按照自己的需求按照不同的方面進(jìn)行查看自己需要的商品。問(wèn)題七:如何使會(huì)員在購(gòu)買商品時(shí)方便?解決

24、方法:我們?cè)O(shè)計(jì)的是只要用戶輸入商品號(hào),然后商品名和價(jià)格就不用自己輸入了,在這里我們是創(chuàng)建了個(gè)視圖而且在輸入接收人姓名、接收人電話、接收人地址、日期給了會(huì)員只需要在第一次購(gòu)買的時(shí)候輸入即可。創(chuàng)建視圖的代碼是:createviewdc_spasselect商品號(hào) , 商品名 , 折扣后價(jià)fromPREFERENTIAL在 c#用時(shí)的代碼是:sql ="select商品名 , 折扣后價(jià) from dc_sp where商品號(hào) ='"+"'"DataTable dt = db.GetDataSet(sql).Tables0;textBox2.Te

25、xt = dt.Rows00.ToString();textBox3.Text = dt.Rows01.ToString();(注: textBox2是商品名書寫框,textBox3是價(jià)格的書寫框)15安陽(yáng)師范學(xué)院數(shù)據(jù)庫(kù)實(shí)用技術(shù) 課外實(shí)踐 ·問(wèn)題八:計(jì)算總計(jì)時(shí)怎么使會(huì)員只計(jì)算這次的點(diǎn)餐?解決方法:在購(gòu)物界面增加了一個(gè)清除界面,用于用戶清除自己原來(lái)的頂?shù)奈锲?,并且給與提醒。清除的代碼:stringsql ="delete from購(gòu)物表 where會(huì)員號(hào) ='"+ textBox4.Text +"'"問(wèn)題九:如何使購(gòu)物表的商品號(hào)改

26、變時(shí)preferential的商品號(hào)也改變?解決方法:定義了一個(gè)觸發(fā)器,觸發(fā)器代碼是:createtriggerpreferential_updateon preferentialafter updateasbegindeclareold_sph varchar ( 10), new_sphvarchar ( 10)selectold_sph=商品號(hào) from deletedselectnew_sph=商品號(hào) from insertedupdate購(gòu)物表 set 商品號(hào) =new_sphwhere商品號(hào) =old_sphend問(wèn)題十:當(dāng)會(huì)員購(gòu)買完商品后,如何是preferential表的庫(kù)存量

27、也減少?解決方法:在sql 中定義了個(gè)當(dāng)購(gòu)物表的份數(shù)增加后,preferential表的庫(kù)存量相應(yīng)的減少。代碼是:use MARKETgocreatetriggergwb_preon 購(gòu)物表 afterinsertasbegindeclaresph varchar ( 20), spmvarchar ( 30)declarefs intselectsph=商品號(hào) , spm=商品名 from insertedselectfs=份數(shù) from 購(gòu)物表 where 商品號(hào) =sphupdate PREFERENTIALset 庫(kù)存 =( 庫(kù)存 - fs) where 商品號(hào) =sph print

28、' 修改成功 'end問(wèn)題十一:根據(jù)老師的建議,我們又增加了進(jìn)貨界面,管理供貨商界面;在數(shù)據(jù)庫(kù)中建了供貨商表和進(jìn)貨表。進(jìn)貨界面圖:16安陽(yáng)師范學(xué)院數(shù)據(jù)庫(kù)實(shí)用技術(shù) 課外實(shí)踐 ·在此界面為了使管理員更好的進(jìn)行進(jìn)貨活動(dòng),我們?cè)黾恿税凑諑?kù)存查看商品余量的按鈕,管理員可以按照余量進(jìn)行進(jìn)貨。而且當(dāng)輸入進(jìn)貨數(shù)量是有在sql 中添加了個(gè)觸發(fā)器, 使 preferential表中相應(yīng)的庫(kù)存也增加:代碼如下:use MARKETgocreatetriggerjhb_preon 進(jìn)貨表 afterinsertasbegindeclaresph varchar ( 20), spmvarch

29、ar ( 30)declarejhslintselectsph=商品號(hào) , spm=商品名 from insertedselectjhsl =進(jìn)貨數(shù)量 from 進(jìn)貨表 where 商品號(hào) =sphupdatePREFERENTIALset 庫(kù)存 =( 庫(kù)存 +jhsl )where 商品號(hào) =sphprint '修改成功 'end管理供貨商界面圖:17安陽(yáng)師范學(xué)院數(shù)據(jù)庫(kù)實(shí)用技術(shù) 課外實(shí)踐 ·進(jìn)貨表設(shè)計(jì):供貨商表設(shè)計(jì):。六、課外實(shí)踐總結(jié)回顧該系統(tǒng)從選題,到設(shè)計(jì)、編碼實(shí)現(xiàn)、測(cè)試等,論文的撰寫,這系列連貫的過(guò)程,感想頗多,收獲也很多。大致的總結(jié)幾點(diǎn),如下:1設(shè)計(jì)開發(fā)一個(gè)軟

30、件,首先要了解所涉及到行業(yè)的現(xiàn)狀,一定要想辦法進(jìn)行行業(yè)調(diào)研,從不同途徑獲取該行業(yè)的專業(yè)知識(shí)。合理安排系統(tǒng)設(shè)計(jì)開發(fā)時(shí)間,進(jìn)行實(shí)際開發(fā)會(huì)發(fā)現(xiàn)需求分析與系統(tǒng)設(shè)計(jì)占主要的時(shí)間,如果前面的工作做好了,編碼實(shí)現(xiàn)占用的時(shí)間很短。所以我們要借助軟件工程的思想-對(duì)軟件開發(fā)過(guò)程進(jìn)行控制。18安陽(yáng)師范學(xué)院數(shù)據(jù)庫(kù)實(shí)用技術(shù) 課外實(shí)踐 ·2. 在開發(fā)一個(gè)系統(tǒng)時(shí),前期的分析準(zhǔn)備工作非常的重要。對(duì)于系統(tǒng)的需求要明確,這樣才能做到有的放矢。特別是對(duì)于系統(tǒng)中數(shù)據(jù)的存儲(chǔ)和重要算法的設(shè)計(jì),設(shè)計(jì)的不好會(huì)出現(xiàn)大量的冗余,不僅浪費(fèi)存儲(chǔ)空間,還影響查詢效率。3.在設(shè)計(jì)的初期,對(duì)一個(gè)功能模塊的設(shè)計(jì),要想出兩種或兩種以上方案,這樣可以

31、進(jìn)行比較,從而獲得更佳的設(shè)計(jì)方案,設(shè)計(jì)開發(fā)過(guò)程中一定要吸取經(jīng)驗(yàn)教訓(xùn),避免返工。尤其是一些重要算法或功能。在對(duì)具體實(shí)現(xiàn)功能模塊進(jìn)行編程時(shí),要養(yǎng)成良好的加注釋的習(xí)慣,這樣的話不僅能理清思路,而且可以為以后的調(diào)試程序帶來(lái)很大的方便。4. 懂得充分利用網(wǎng)絡(luò)資源。5.后期的晚上也是很重要的,在每個(gè)系統(tǒng)都存在著些許缺點(diǎn),但重要的是我們能發(fā)現(xiàn)并對(duì)它們進(jìn)行改進(jìn),這樣才能一步步地編寫一個(gè)較完整的系統(tǒng)七、源代碼7.1 sql server 2008的源代碼:- 多表查詢以及模糊查詢select購(gòu)物表 . 會(huì)員號(hào) , 購(gòu)物表 . 商品號(hào) , 購(gòu)物表 . 商品名 , PREFERENTIAL.種類fromPREFER

32、ENTIAL, MEMBER, 購(gòu)物表where 購(gòu)物表 . 會(huì)員號(hào) =MEMBER.會(huì)員號(hào)and 購(gòu)物表 . 商品號(hào)like'0018%'go- 插入會(huì)員信息insertintoMEMBERvalues ( '120123' , '123' , ' 張安 ' , '1235434' , '0' ,null)go- 修改會(huì)員信息updateMEMBERset積分 ='100'where 會(huì)員號(hào) ='120123'go- 刪除會(huì)員信息deletefrommember w

33、here 會(huì)員號(hào) ='120123'go- 從表 PREFERENTIAL查詢商品號(hào) , 商品名 , 折扣后價(jià) ( 視圖 ) create view dc_spasselect 商品號(hào) , 商品名 , 折扣后價(jià)fromPREFERENTIAL- 存儲(chǔ)過(guò)程createprocedurecxgwbasselect*from購(gòu)物表19安陽(yáng)師范學(xué)院數(shù)據(jù)庫(kù)實(shí)用技術(shù) 課外實(shí)踐 ·- 存儲(chǔ)過(guò)程createprocedurecxspasselect*fromPREFERENTIAL- 備份use mastergoexec sp_addumpdevice 'disk',

34、 'sql', 'f:sql.bak'backup databasemarkettosqlwithnoinit- 修改 preferential 表的商品名購(gòu)物表的商品名也會(huì)改變觸發(fā)器createtriggerpreferential_updateon preferentialafterupdateasbegindeclareold_spm varchar ( 10), new_spmvarchar ( 10)selectold_spm=商品名fromdeletedselectnew_spm=商品名frominsertedupdate購(gòu)物表set商品名 =new

35、_spmwhere 商品名 =old_spmend- 創(chuàng)建觸發(fā)器 , 當(dāng)向購(gòu)物表中插入一個(gè)商品時(shí), 將 PREFERENTIAL 中該商品的分?jǐn)?shù)表相應(yīng)的減少use MARKETgocreatetriggergwb_preon 購(gòu)物表 afterinsertasbegindeclaresphvarchar( 20 ), spm varchar(30)declarefsintselectsph =商品號(hào) , spm= 商品名 frominsertedselectfs = 份數(shù) from購(gòu)物表 where商品號(hào) = sphupdatePREFERENTIALset 庫(kù)存 =( 庫(kù)存 - fs )wh

36、ere 商品號(hào) =sphprint' 修改成功 'end- 創(chuàng)建觸發(fā)器 , 當(dāng)向進(jìn)貨表中插入一個(gè)商品時(shí), 將 PREFERENTIAL 中該商品的分?jǐn)?shù)表相應(yīng)的增加useMARKETgocreatetriggerjhb_preon進(jìn)貨表afterinsertasbegindeclaresphvarchar( 20 ), spm varchar( 30 )20安陽(yáng)師范學(xué)院數(shù)據(jù)庫(kù)實(shí)用技術(shù) 課外實(shí)踐 ·declarejhslintselectsph =商品號(hào) , spm= 商品名frominsertedselectjhsl= 進(jìn)貨數(shù)量from進(jìn)貨表where商品號(hào) = sph

37、updatePREFERENTIALset庫(kù)存 =( 庫(kù)存 +jhsl)where商品號(hào) = sphprint' 修改成功 'end7.2 Microsoft Visual Studio 2008 C#源代碼:登錄界面圖:登錄界面源代碼:publicpartialclassenter:FormDBHelper db =new DBHelper ( "server=.;initial catalog=MARKET;integrated security=true");publicenter()InitializeComponent();21安陽(yáng)師范學(xué)院數(shù)據(jù)庫(kù)實(shí)

38、用技術(shù) 課外實(shí)踐 ·privatevoid btnLogin_Click(objectsender,EventArgs e)if(radAdministrator.Checked =true )if(txtID.Text ="" | txtPwd.Text ="" )MessageBox.Show( " 賬號(hào)、密碼不能為空" );elsestringstringtrystringsql= "Select* From ADMINISTRATORWhere 賬號(hào) ='"+ userName + &qu

39、ot;'and密碼 ='"+ passWord +"'" ;intcount =int .Parse(db.SplExecuteScalar(sql);if(count > 0)stringtxtValue =this .txtID.Text;管理員界面f7 =new 管理員界面 (txtValue);f7.Show();this .txtID.Text = f7.returnValue;elseMessageBox.Show( " 用戶名或密碼有誤,請(qǐng)重試" );catch ( Exceptionex)Messa

40、geBox.Show( " 出現(xiàn)錯(cuò)誤: " + ex.Message);if(radMember.Checked =true )if(txtID.Text ="" | txtPwd.Text ="" )MessageBox.Show( " 會(huì)員號(hào)、密碼不能為空" );22安陽(yáng)師范學(xué)院數(shù)據(jù)庫(kù)實(shí)用技術(shù) 課外實(shí)踐 ·elsestringstringtrystringsql ="Select * From MEMBER Where會(huì)員號(hào) ='"+ userName +"

41、9; and密碼='"+ passWord +"'"intcount =int .Parse(db.SplExecuteScalar(sql);if(count > 0)stringtxtValue2 =this .txtID.Text;stringtxtValue1 =this .txtID.Text;購(gòu)買物品界面b =new 購(gòu)買物品界面 (txtValue1);會(huì)員查詢界面a =new 會(huì)員查詢界面 (txtValue2);a.Show();this .txtID.Text = a.returnValue2;this .txtID.Te

42、xt = b.returnValue4;elseMessageBox.Show( " 用戶名或密碼有誤,請(qǐng)重試" );catch ( Exceptionex)MessageBox.Show( " 出現(xiàn)錯(cuò)誤: " + ex.Message);if(radAdministrator.Checked =false&& radMember.Checked =false )MessageBox.Show( " 請(qǐng)選擇身份驗(yàn)證" );privatevoid btnExit_Click(objectsender,EventArgs e)this .Close();23安陽(yáng)師范學(xué)院數(shù)據(jù)庫(kù)實(shí)用技術(shù) 課外實(shí)踐 ·管理員管理界面圖:管理員管理界面代碼:publicpartialclass管理員管理界面1 :FormDBHelper db =new DBHelper ( "server=.;initial catalog=MARKET;integrated security=true");public管理員管理界面1()InitializeComponent();publicstringreturnVa

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論