2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩29頁(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、<p><b>  畢業(yè)設(shè)計(jì)說(shuō)明書</b></p><p>  摘要: 隨著科學(xué)技術(shù)的飛速發(fā)展,圖書出租管理系統(tǒng)已經(jīng)成為市場(chǎng)經(jīng)濟(jì)條件下,一些大眾傳播媒介和商家不可缺少的部分,它的使用不論對(duì)于媒介和商家的管理者,還是對(duì)于用戶來(lái)說(shuō)都至關(guān)重要。本文本著與時(shí)俱進(jìn)的方針,從符合操作簡(jiǎn)便、界面友好、靈活、實(shí)用、安全的要求出發(fā),描述了一個(gè)功能較完善的圖書出租管理系統(tǒng)的開發(fā)過(guò)程,它集在線出租和后

2、臺(tái)管理功能為一體。文中主要描述了該系統(tǒng)的設(shè)計(jì)與實(shí)施方案,并對(duì)系統(tǒng)中關(guān)鍵技術(shù)作了較詳細(xì)的介紹,最后針對(duì)該系統(tǒng)提出了改進(jìn)方向。</p><p>  關(guān)鍵詞:ASP.NET,C#,SQL Server 2000,數(shù)據(jù)庫(kù),購(gòu)物車</p><p>  Abstract: With the rapid development of science and technology, book rental

3、 management system has become a market economy, some mass media and an indispensable part of business, regardless of its use of the media and business managers, and for users who are related to Important. In this paper,

4、the principle of advancing with the times, from the simple, user-friendly, flexible, practical and security of the request, describes a function better book rental management system development process, it</p><

5、;p>  Keywords: ASP.NET,C#,SQL Server 2000,Database,Shopping Cart,</p><p><b>  目錄</b></p><p><b>  1 引言1</b></p><p>  1.1系統(tǒng)開發(fā)背景及現(xiàn)狀分析1</p><p>

6、;  1.2系統(tǒng)的研究意義1</p><p>  2 開發(fā)工具及數(shù)據(jù)庫(kù)基礎(chǔ)1</p><p>  2.1 C#語(yǔ)言和Visual Studio.NET 2003平臺(tái)介紹1</p><p>  2.2 ADO.NET簡(jiǎn)介2</p><p>  2.3 ASP.NET簡(jiǎn)介2</p><p>  2.4

7、SQL Server 2000簡(jiǎn)介3</p><p>  2.5 系統(tǒng)技術(shù)平臺(tái)3</p><p><b>  3 系統(tǒng)分析3</b></p><p>  3.1需求分析及功能模塊確定3</p><p>  3.1.1 需求分析3</p><p>  3.1.2 系統(tǒng)主要功能模塊4&

8、lt;/p><p>  3.2 系統(tǒng)全局E-R圖設(shè)計(jì)4</p><p>  4 系統(tǒng)實(shí)現(xiàn)的技術(shù)與開發(fā)過(guò)程7</p><p>  4.1圖書查詢模塊7</p><p>  4.2用戶注冊(cè)模塊9</p><p>  4.3用戶登錄模塊11</p><p>  4.4用戶信息修改模塊12&

9、lt;/p><p>  4.5管理員登錄模塊16</p><p>  4.5后臺(tái)管理模塊17</p><p>  4.6圖書信息管理模塊19</p><p>  4.7管理員信息修改模塊20</p><p>  5 系統(tǒng)測(cè)試21</p><p>  5.1測(cè)試運(yùn)行情況21</p&

10、gt;<p>  5.2程序有待改進(jìn)方面22</p><p><b>  結(jié) 論23</b></p><p><b>  參考文獻(xiàn)24</b></p><p><b>  致 謝25</b></p><p><b>  1 引言</b&

11、gt;</p><p>  1.1系統(tǒng)開發(fā)背景及現(xiàn)狀分析</p><p>  隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)的日漸成熟,計(jì)算機(jī)的強(qiáng)大功能已被人們深刻地認(rèn)識(shí),它已經(jīng)和現(xiàn)代社會(huì)的發(fā)展隔離不開了。越來(lái)越多的人用計(jì)算機(jī)來(lái)處理日常事務(wù),使計(jì)算機(jī)的應(yīng)用得到普及,這樣就創(chuàng)造出以計(jì)算機(jī)為基礎(chǔ)的一系列生活方式。不僅如此,計(jì)算機(jī)還被廣泛的應(yīng)用到商業(yè)上,越來(lái)越多的人們意識(shí)到計(jì)算機(jī)給自己帶來(lái)的方便以及它所創(chuàng)造

12、的巨大財(cái)富。人們開始把計(jì)算機(jī)應(yīng)用到現(xiàn)代的各個(gè)領(lǐng)域中,現(xiàn)代社會(huì)是一個(gè)計(jì)算機(jī)時(shí)代,如果沒(méi)有計(jì)算機(jī)的應(yīng)用,我們的發(fā)展就不會(huì)如此之快!</p><p>  作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對(duì)圖書出租等各項(xiàng)操作進(jìn)行管理,具有手工管理所無(wú)法比擬的優(yōu)點(diǎn),其優(yōu)勢(shì)已非常明顯。例如:查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠極大的提高租賃操作的效率,節(jié)省了很大一部分時(shí)間,大大增強(qiáng)了企業(yè)的競(jìng)爭(zhēng)能力,也是標(biāo)

13、志著一個(gè)企業(yè)的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。</p><p>  1.2系統(tǒng)的研究意義</p><p>  隨著網(wǎng)絡(luò)化時(shí)代的到來(lái),圖書出租信息的網(wǎng)絡(luò)化可以大大節(jié)約人力和時(shí)間。為此,各種圖書出租系統(tǒng)被開發(fā)并廣泛地應(yīng)用于學(xué)校和工業(yè)、商業(yè)、企業(yè)、事業(yè)、行政等單位。借畢業(yè)設(shè)計(jì)之際,基于上述背景,研究并實(shí)現(xiàn)了一個(gè)基于Web的圖書出租管理系統(tǒng)。開發(fā)圖書出租系統(tǒng)的過(guò)程就是要實(shí)現(xiàn)數(shù)據(jù)處理方式由

14、人工管理向計(jì)算機(jī)管理的轉(zhuǎn)變,它在計(jì)算機(jī)技術(shù)和圖書管理實(shí)踐活動(dòng)兩者之間架設(shè)橋梁。</p><p>  該系統(tǒng)具有多方面的優(yōu)點(diǎn),主要體現(xiàn)為:</p><p>  1.具有極強(qiáng)的方便性和快捷性,顧客可以預(yù)訂到所需圖書;</p><p>  2.減輕了圖書管理的工作量,從而能夠迅速查閱和搜索資料;</p><p>  3.解決顧客面對(duì)長(zhǎng)長(zhǎng)的圖書目錄,

15、很難找到自己要找的圖書的弊端。</p><p>  2 開發(fā)工具及數(shù)據(jù)庫(kù)基礎(chǔ)</p><p>  2.1 C#語(yǔ)言和Visual Studio.NET 2003平臺(tái)介紹</p><p>  C#是微軟公司開發(fā)的一種高級(jí)程序編程語(yǔ)言,簡(jiǎn)單易學(xué),是當(dāng)今世界上應(yīng)用最廣泛的編程語(yǔ)言之一,它也被公認(rèn)為編程效率最高的一種編程方法,C#可用于創(chuàng)建要運(yùn)行在 .NET 上的應(yīng)用程

16、序的語(yǔ)言之一,是Microsoft專門為使用.NET平臺(tái)而創(chuàng)建的。無(wú)論是開發(fā)功能強(qiáng)大、性能可靠的商務(wù)軟件,還是編寫能處理實(shí)際問(wèn)題的實(shí)用小程序,C#都是最快速、最簡(jiǎn)便的編程語(yǔ)言。</p><p>  Visual Studio.NET 2003是一個(gè)功能強(qiáng)大、高效并且可擴(kuò)展的編程環(huán)境。有許多激動(dòng)人心的新功能,它提供統(tǒng)一的集成開發(fā)環(huán)境,支持在同樣的開發(fā)環(huán)境里用Visual Basic、Visual C++、Visua

17、l C#、Visual J#和其他數(shù)十種編程語(yǔ)言,可以編寫、調(diào)試和部署各種應(yīng)用程序。它充分展現(xiàn)了應(yīng)用程序的開發(fā)潛能、并提供了生成應(yīng)用程序的所需要的工具和技術(shù)。這些應(yīng)用程序給當(dāng)今的企業(yè)、機(jī)構(gòu)提供了強(qiáng)大的支持,為開發(fā)下一代以XML Web服務(wù)為中心的應(yīng)用程序而設(shè)計(jì),并推動(dòng)下一代基于XML Web服務(wù)軟件的發(fā)展,是有始以來(lái)功能最強(qiáng)大、最受歡迎的軟件開發(fā)工具。</p><p>  2.2 ADO.NET簡(jiǎn)介</p

18、><p>  ADO.NET是對(duì)Microsoft ActiveX Data Objects (ADO)一個(gè)跨時(shí)代的改進(jìn),它提供了平臺(tái)互用性和可伸縮的數(shù)據(jù)訪問(wèn)。由于傳送的數(shù)據(jù)都是XML格式的,因此任何能夠讀取XML格式的應(yīng)用程序都可以進(jìn)行數(shù)據(jù)處理。事實(shí)上,接受數(shù)據(jù)的組件不一定要是ADO .NET組件,它可以是基于一個(gè)Microsoft Visual Studio的解決方案,也可以是任何運(yùn)行在其它平臺(tái)上的任何應(yīng)用程序。

19、</p><p>  在ADO.NET中,我們將處理斷開連接的數(shù)據(jù)集,在網(wǎng)站的訪問(wèn)者請(qǐng)求數(shù)據(jù)時(shí),首先建立連接,傳送數(shù)據(jù),之后關(guān)閉連接;接著,訪問(wèn)者就可以修改數(shù)據(jù),但這些修改不會(huì)在數(shù)據(jù)源中立即更新(如果需要對(duì)訪問(wèn)者所做的修改更新到數(shù)據(jù)庫(kù),必須重新打開連接)。這種斷開連接進(jìn)行訪問(wèn)數(shù)據(jù)庫(kù)的最大優(yōu)點(diǎn)是效率高、可伸縮性好。在以往的數(shù)據(jù)庫(kù)訪問(wèn)中必須為用戶一直保持連接,直到該用戶的會(huì)話結(jié)束為止,而Web中可能同時(shí)處理上千個(gè)并行

20、用戶,可想而知,如果為每個(gè)用戶同時(shí)保持連接在需要的系統(tǒng)資源是非常昂貴的。因此,使用斷開式連接數(shù)據(jù)可以提高應(yīng)用程序的執(zhí)行效率,并能處理更多的工作負(fù)載(即它們的伸縮性更好)。</p><p>  2.3 ASP.NET簡(jiǎn)介</p><p>  ASP.net 是一種建立在通用語(yǔ)言上的程序構(gòu)架,能被用于一臺(tái)Web服務(wù)器來(lái)建立強(qiáng)大的Web應(yīng)用程序。ASP.net提供許多比現(xiàn)在的Web開發(fā)模式強(qiáng)大

21、的的優(yōu)勢(shì)。ASP.net是把基于通用語(yǔ)言的程序在服務(wù)器上運(yùn)行。不像以前的ASP即時(shí)解釋程序,而是將程序在服務(wù)器端首次運(yùn)行時(shí)進(jìn)行編譯,這樣的執(zhí)行效果,當(dāng)然比一條一條的解釋強(qiáng)很多。</p><p>  ASP.net構(gòu)架是可以用Microsoft(R)公司最新的產(chǎn)品 Visual Studio.net開發(fā)環(huán)境進(jìn)行開發(fā),WYSIWYG(What You See Is What You Get所見即為所得)的編輯。這些僅

22、是ASP.net強(qiáng)大化軟件支持的一小部分。</p><p>  因?yàn)锳SP.net是基于通用語(yǔ)言的編譯運(yùn)行的程序,所以它的強(qiáng)大性和適應(yīng)性,可以使它運(yùn)行在Web應(yīng)用軟件開發(fā)者的幾乎全部的平臺(tái)上(筆者到現(xiàn)在為止只知道它只能用在Windows 2000 Server上)。通用語(yǔ)言的基本庫(kù),消息機(jī)制,數(shù)據(jù)接口的處理都能無(wú)縫的整合到ASP.net的Web應(yīng)用中。ASP.net同時(shí)也是language-independent

23、語(yǔ)言獨(dú)立化的,所以,你可以選擇一種最適合你的語(yǔ)言來(lái)編寫你的程序,或者把你的程序用很多種語(yǔ)言來(lái)寫,現(xiàn)在已經(jīng)支持的有C#(C++和Java的結(jié)合體),VB,Jscript。將來(lái),這樣的多種程序語(yǔ)言協(xié)同工作的能力保護(hù)您現(xiàn)在的基于COM+開發(fā)的程序,能夠完整的移植向ASP.net。 </p><p>  2.4 SQL Server 2000簡(jiǎn)介</p><p>  SQL Server 200

24、0是Microsoft 公司推出的SQL Server 數(shù)據(jù)庫(kù)管理系統(tǒng)的新版本。該版本繼承了SQL Server 7.0 版本的優(yōu)點(diǎn),同時(shí)又比它增加了許多更先進(jìn)的功能,具有使用方便、可伸縮性好、與相關(guān)軟件集成程度高等優(yōu)點(diǎn)??煽缭綇倪\(yùn)行Microsoft Windows 98 的膝上型電腦,到運(yùn)行Microsoft Windows 2000 的大型多處理器的服務(wù)器等多種平臺(tái)使用。 </p><p>  2.5 系

25、統(tǒng)技術(shù)平臺(tái)</p><p>  硬件:WEB服務(wù)器1臺(tái)、客戶機(jī)若干臺(tái)、網(wǎng)卡、集線器等。</p><p>  軟件:操作系統(tǒng)要求為中文Windows98/2000/NT/XP;</p><p>  Microsoft Visual studio ASP.NET 2003程序設(shè)計(jì);</p><p>  Microsoft SQL Server 2

26、000后臺(tái)數(shù)據(jù)庫(kù)。</p><p>  注意:安裝 Microsoft Visual studio ASP.NET 2003之前要裝IIS,建立相應(yīng)的虛擬目錄,其中虛擬目錄要與文件夾的名字相同。</p><p><b>  3 系統(tǒng)分析</b></p><p>  3.1需求分析及功能模塊確定</p><p>  3.

27、1.1 需求分析</p><p>  用戶的需求體現(xiàn)在對(duì)各種信息的瀏覽、查詢、保存和更新操作上,這就要求數(shù)據(jù)庫(kù)結(jié)構(gòu)能夠滿足用戶的這些基本需求,并在效率和設(shè)計(jì)上做到高效與簡(jiǎn)潔。而系統(tǒng)的需求則體現(xiàn)在各系統(tǒng)功能對(duì)數(shù)據(jù)庫(kù)提供的各種信息處理的要求上。用戶的需求往往體現(xiàn)在系統(tǒng)的易用程度和功能強(qiáng)大與否;而系統(tǒng)的需求往往體現(xiàn)在系統(tǒng)運(yùn)行的效率、穩(wěn)定性與安全性等系統(tǒng)特性之上。</p><p>  在進(jìn)行數(shù)據(jù)庫(kù)

28、需求分析時(shí),用戶需求和系統(tǒng)需求必須兼顧,在用戶需求與系統(tǒng)需求產(chǎn)生沖突的情況下要找到一個(gè)功能與效率的平衡點(diǎn)。</p><p>  針對(duì)該系統(tǒng)的數(shù)據(jù)特點(diǎn),可以總結(jié)出如下的需求。</p><p>  1.用戶和管理員具有不同的身份。</p><p>  2.用戶信息記錄用戶資料。</p><p>  3.圖書信息記錄圖書的名稱、出版社等信息。<

29、;/p><p>  4.租借信息記錄用戶租借圖書的信息。</p><p>  3.1.2 系統(tǒng)主要功能模塊</p><p>  圖書出租系統(tǒng)主要包括兩大模塊:一是系統(tǒng)管理模塊(管理員登陸),二是用戶租賃模塊(用戶登陸)。在前兩個(gè)模塊下又各自包括分若干小模塊,具體功能模塊結(jié)構(gòu)圖如圖3-1所示:</p><p>  3.2 系統(tǒng)全局E-R圖設(shè)計(jì)&l

30、t;/p><p>  E-R模型的“聯(lián)系”用于刻畫實(shí)體之間的關(guān)聯(lián)。一種完整的方式是對(duì)局部結(jié)構(gòu)中任意兩個(gè)實(shí)體類型,依據(jù)需求分析的結(jié)果,考察局部結(jié)構(gòu)中任意兩個(gè)實(shí)體類型之間是否存在聯(lián)系。若有聯(lián)系,進(jìn)一步確定是1:N,M:N,還是1:1等。還要考察一個(gè)實(shí)體類型內(nèi)部是否存在聯(lián)系,兩個(gè)實(shí)體類型之間是否存在聯(lián)系,多個(gè)實(shí)體類型之間是否存在聯(lián)系等等。</p><p>  本系統(tǒng)的部分實(shí)體與聯(lián)系的E-R模型如圖3

31、-2所示:</p><p>  圖3-1圖書出租系統(tǒng)功能模塊結(jié)構(gòu)圖</p><p><b>  3.3 數(shù)據(jù)表設(shè)計(jì)</b></p><p>  幾乎所有的Web項(xiàng)目都是基于數(shù)據(jù)庫(kù)的,這使得數(shù)據(jù)庫(kù)在整個(gè)項(xiàng)目中的地位舉足輕重。本系統(tǒng)涉及到八個(gè)表。</p><p><b>  1.圖書信息表</b><

32、;/p><p><b>  2.管理員信息表:</b></p><p><b>  3.用戶信息表:</b></p><p><b>  4.圖書類型表:</b></p><p><b>  5.租賃表:</b></p><p><

33、;b>  6.供應(yīng)商信息表:</b></p><p>  7.圖書出租信息表:</p><p><b>  8.預(yù)訂單表:</b></p><p>  4 系統(tǒng)實(shí)現(xiàn)的技術(shù)與開發(fā)過(guò)程</p><p><b>  4.1圖書查詢模塊</b></p><p> 

34、 圖4-1首頁(yè)登錄界面</p><p>  打開首頁(yè)后,如果用戶已經(jīng)注冊(cè)過(guò),可以直接登錄,登錄之后可以查找自己所需要的圖書,查找的代碼如下:</p><p>  private void Button3_Click(object sender, System.EventArgs e)</p><p>  {id=this.TextBox3.Text;</p&

35、gt;<p>  SqlConnection con=conn.connection();</p><p>  con.Open();</p><p>  DataSet strset=new DataSet();</p><p>  if(this.TextBox3.Text!="")</p><p>  

36、{ if(this.DropDownList1.SelectedItem.Text=="圖書編號(hào)")</p><p>  {strset.Clear();</p><p>  SqlDataAdapter stradapter=new SqlDataAdapter("select * from BookInfo where BI_ID_N="+

37、Convert.ToInt32(this.TextBox3.Text)+"",con);</p><p>  stradapter.Fill(strset,"BookInfo");</p><p><b>  }</b></p><p>  if(this.DropDownList1.SelectedIt

38、em.Text=="圖書類型編號(hào)")</p><p>  {strset.Clear();</p><p>  SqlDataAdapter stradapter=new SqlDataAdapter("select * from BookInfo where BI_BS_ID_FN="+Convert.ToInt32(this.TextBox3

39、.Text)+"",con);</p><p>  stradapter.Fill(strset,"BookInfo");</p><p><b>  }</b></p><p>  if(this.DropDownList1.SelectedItem .Text =="書名")<

40、;/p><p>  {strset.Clear();</p><p>  SqlDataAdapter stradapter=new SqlDataAdapter("select * from BookInfo where BI_Title_S='"+this.TextBox3.Text+"'",con);</p>&l

41、t;p>  stradapter.Fill(strset,"BookInfo");</p><p><b>  }</b></p><p>  if(this.DropDownList1.SelectedItem.Text=="作者")</p><p>  {strset.Clear();<

42、/p><p>  SqlDataAdapter stradapter=new SqlDataAdapter("select * from BookInfo where BI_author_S like '%"+this.TextBox3.Text.Trim()+"%'",con);</p><p>  stradapter.Fill(s

43、trset,"BookInfo");</p><p><b>  }</b></p><p>  if(this.DropDownList1.SelectedItem .Text =="出版社")</p><p>  {strset.Clear();</p><p>  SqlD

44、ataAdapter stradapter=new SqlDataAdapter("select * from BookInfo where BI_publisher_S='"+this.TextBox3.Text+"'",con);</p><p>  stradapter.Fill(strset,"BookInfo");</p

45、><p><b>  }</b></p><p>  this.DataGrid1.DataSource=strset;</p><p>  this.DataGrid1.DataBind();</p><p>  this.Panel1.Visible=true;</p><p><b>

46、  }</b></p><p><b>  }</b></p><p><b>  4.2用戶注冊(cè)模塊</b></p><p>  圖4-2用戶注冊(cè)界面</p><p>  為了方便圖書出租管理,用戶必須注冊(cè)后才可預(yù)訂或借閱圖書。注冊(cè)過(guò)程中,用戶要詳細(xì)填寫個(gè)人信息。該注冊(cè)代碼如下:<

47、;/p><p>  private void Button1_Click(object sender, System.EventArgs e)</p><p>  {if(this.IsValid)</p><p>  {SqlConnection con =new SqlConnection("server=.;database=圖書出租;uid=sa;

48、pwd=;");</p><p>  con.Open ();</p><p>  string sql="insert into UserInfo(UI_Name_S,UI_ID_N,UI_Password_S,UI_Email_S,UI_QQ_S) values(@UI_Name_S,@UI_ID_N,@UI_Password_S,@UI_Email_S,@UI_Q

49、Q_S)";</p><p>  SqlCommand cmd=new SqlCommand(sql,con);</p><p>  cmd.Parameters.Add(new SqlParameter("@UI_Name_S",SqlDbType.VarChar,20));</p><p>  cmd.Parameters.Add(

50、new SqlParameter("@UI_Password_S",SqlDbType.VarChar,100));</p><p>  cmd.Parameters.Add(new SqlParameter("@UI_Email_S",SqlDbType.VarChar,50));</p><p>  cmd.Parameters.Add(new

51、SqlParameter("@UI_QQ_S",SqlDbType.VarChar,50));</p><p>  cmd.Parameters.Add(new SqlParameter("@UI_ID_N",SqlDbType.Int,4));</p><p>  cmd.Parameters["@UI_Name_S"].Val

52、ue=this.TextBox1.Text;</p><p>  cmd.Parameters["@UI_Password_S"].Value=this.TextBox2.Text;</p><p>  cmd.Parameters["@UI_Email_S"].Value=this.TextBox4.Text;</p><p&g

53、t;  cmd.Parameters["@UI_QQ_S"].Value=this.TextBox5.Text;</p><p>  cmd.Parameters["@UI_ID_N"].Value=this.TextBox6.Text;try</p><p>  {cmd.ExecuteNonQuery();</p>&l

54、t;p>  this.Response.Write(" <script language ='javascript'> alert ('注冊(cè)成功!請(qǐng)點(diǎn)擊[會(huì)員登錄](méi)')</script>");</p><p><b>  }</b></p><p><b>  catch<

55、;/b></p><p>  { this.Response.Write(" <script language ='javascript'> alert ('注冊(cè)失敗!')</script>");</p><p><b>  }</b></p><p>

56、<b>  }</b></p><p>  Response.Redirect("用戶登錄.aspx");</p><p><b>  }</b></p><p><b>  4.3用戶登錄模塊</b></p><p>  圖4-3用戶登錄界面</p&

57、gt;<p>  用戶登錄時(shí),需要檢測(cè)用戶名和密碼;用戶名和密碼通過(guò)檢測(cè)后,需要判斷用戶名是否被鎖定。登錄代碼如下:</p><p>  private void Button1_Click(object sender, System.EventArgs e)</p><p>  {string userName=this.TextBox1.Text;</p>

58、<p>  string userPwd=this.TextBox2.Text;</p><p>  SqlConnection con =new SqlConnection("server=.;database=圖書出租;uid=sa;pwd=;");</p><p>  con.Open();</p><p>  SqlC

59、ommand cmd=new SqlCommand("select count(*) from UserInfo where UI_Name_S='"+userName+"'and UI_password_S='"+userPwd+"'",con);</p><p>  int count=Convert.ToInt32

60、(cmd.ExecuteScalar ());</p><p>  if(count>0)</p><p>  {Page.Response.Redirect ("首頁(yè).aspx");//登錄成功后,進(jìn)入首頁(yè)。</p><p><b>  }</b></p><p><b>  el

61、se</b></p><p>  {Response.Write (" <script language ='javascript'> alert ('用戶名密碼錯(cuò)誤')</script>");</p><p><b>  }</b></p><p>&l

62、t;b>  }</b></p><p>  4.4用戶信息修改模塊</p><p>  圖4-4用戶信息修改界面</p><p>  用戶登錄后可以通過(guò)次模塊修改自己的資料。其修改的代碼如下:</p><p>  private void Button1_Click(object sender, System.EventAr

63、gs e)</p><p>  {if (TextBox1.Text != ""& TextBox2.Text != "") </p><p>  {if(DropDownList1.SelectedItem.Text=="用戶編號(hào)")</p><p>  {SqlConnection con

64、=new SqlConnection("server=.;database=圖書出租;uid=sa;pwd=;");</p><p>  con.Open();</p><p>  SqlCommand com=con.CreateCommand();</p><p>  com.CommandText = "select count

65、(*) from UserInfo where UI_ID_N='" + TextBox1.Text + "' ";</p><p>  int count1 = Convert.ToInt32(com.ExecuteScalar());</p><p>  if (count1> 0)</p><p>  {S

66、qlCommand cmd = new SqlCommand("update UserInfo set UI_Name_S='" + this.TextBox2.Text + "' where UI_ID_N='" + TextBox1.Text + "'", con);</p><p>  cmd.ExecuteNonQ

67、uery();</p><p>  con.Close();</p><p>  Response.Write("<script language='javascript'>alert('修改成功!');</script>");</p><p>  this.fillDG();<

68、;/p><p><b>  }</b></p><p><b>  else </b></p><p>  {Response.Write("<script language='javascript'>alert('修改失??!請(qǐng)重新修改!');</script>

69、;");</p><p><b>  }</b></p><p><b>  }</b></p><p>  if(DropDownList1.SelectedItem.Text=="用戶名")</p><p>  {SqlConnection con1 = conn

70、.connection();</p><p>  con1.Open();</p><p>  SqlCommand com1=con1.CreateCommand();</p><p>  com1.CommandText = "select count(*) from UserInfo where UI_ID_N='" + TextB

71、ox1.Text + "' ";</p><p>  int count= Convert.ToInt32(com1.ExecuteScalar());</p><p>  if (count> 0)</p><p>  { SqlCommand cmd1 = new SqlCommand("update UserInf

72、o set UI_Name_S='" + this.TextBox2.Text + "' where UI_ID_N='" + TextBox1.Text + "' ", con1);</p><p>  cmd1.ExecuteNonQuery();</p><p>  con1.Close();</

73、p><p>  Response.Write("<script language='javascript'>alert('修改成功!');</script>");</p><p>  this.fillDG();</p><p><b>  }</b></p&

74、gt;<p><b>  else</b></p><p>  {Response.Write("<script language='javascript'>alert('修改失??!請(qǐng)重新修改!');</script>");</p><p><b>  }</b

75、></p><p><b>  }</b></p><p>  if(DropDownList1.SelectedItem.Text=="密碼")</p><p>  {SqlConnection con1 = conn.connection();</p><p>  con1.Open();

76、</p><p>  SqlCommand com1=con1.CreateCommand();</p><p>  com1.CommandText = "select count(*) from UserInfo where UI_ID_N='" + TextBox1.Text + "' ";</p><p&g

77、t;  int count= Convert.ToInt32(com1.ExecuteScalar());</p><p>  if (count> 0)</p><p>  { SqlCommand cmd1 = new SqlCommand("update UserInfo set UI_password_S='" + this.TextBox2.T

78、ext + "' where UI_ID_N='" + TextBox1.Text + "' ", con1);</p><p>  cmd1.ExecuteNonQuery();</p><p>  con1.Close();</p><p>  Response.Write("<sc

79、ript language='javascript'>alert('修改成功!');</script>");</p><p>  this.fillDG();</p><p><b>  }</b></p><p><b>  else</b></p

80、><p>  {Response.Write("<script language='javascript'>alert('修改失?。≌?qǐng)重新修改!');</script>");</p><p><b>  }</b></p><p><b>  }</b&g

81、t;</p><p>  if(DropDownList1.SelectedItem.Text=="電子郵件")</p><p>  {SqlConnection con2 = conn.connection();</p><p>  con2.Open();</p><p>  SqlCommand com2=con2

82、.CreateCommand();</p><p>  com2.CommandText = "select count(*) from UserInfo whereUserInfo where UI_ID_N='" + TextBox1.Text + "' ";</p><p>  int count= Convert.ToInt3

83、2(com2.ExecuteScalar());</p><p>  if (count> 0)</p><p>  { SqlCommand cmd2 = new SqlCommand("update UserInfo set UI_Email_S='" + this.TextBox2.Text + "' where UI_ID_N=

84、'" + TextBox1.Text + "' ", con2);</p><p>  cmd2.ExecuteNonQuery();</p><p>  con2.Close();</p><p>  Response.Write("<script language='javascript

85、9;>alert('修改成功!');</script>");</p><p>  this.fillDG();</p><p><b>  }</b></p><p><b>  else</b></p><p>  {Response.Writ

86、e("<script language='javascript'>alert('修改失?。≌?qǐng)重新修改!');</script>");</p><p><b>  }</b></p><p><b>  }</b></p><p>  if(Drop

87、DownList1.SelectedItem.Text=="qq號(hào)碼")</p><p>  {SqlConnection con2 = conn.connection();</p><p>  con2.Open();</p><p>  SqlCommand com2=con2.CreateCommand();</p><

88、;p>  com2.CommandText = "select count(*) from UserInfo whereUserInfo where UI_ID_N='" + TextBox1.Text + "' ";</p><p>  int count= Convert.ToInt32(com2.ExecuteScalar());</p&g

89、t;<p>  if (count> 0)</p><p>  { SqlCommand cmd2 = new SqlCommand("update UserInfo set UI_QQ_S='" + this.TextBox2.Text + "' where UI_ID_N='" + TextBox1.Text + "

90、;' ", con2);</p><p>  cmd2.ExecuteNonQuery();</p><p>  con2.Close();</p><p>  Response.Write("<script language='javascript'>alert('修改成功!');</s

91、cript>");</p><p>  this.fillDG();</p><p><b>  }</b></p><p><b>  else</b></p><p>  {Response.Write("<script language='ja

92、vascript'>alert('修改失??!請(qǐng)重新修改!');</script>");</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  else</b></p><p&g

93、t;  {Response.Write("<script language='javascript'>alert('不能都為空!請(qǐng)?zhí)顚懀?#39;);</script>");</p><p><b>  }</b></p><p><b>  }</b></p>

94、<p><b>  }</b></p><p>  如果修改成功后會(huì)彈出修改成功信息。</p><p>  4.5管理員登錄模塊</p><p>  圖4-5管理員登錄界面</p><p>  進(jìn)入后臺(tái)后只有管理員才可以登錄,登錄后可以查看用戶的借閱記錄,圖書信息。該管理員登錄代碼如下:</p>

95、<p>  private void Button1_Click(object sender, System.EventArgs e)</p><p>  {string userName=this.TextBox1.Text;</p><p>  string userPwd=this.TextBox2.Text;</p><p>  Sql

96、Connection con =new SqlConnection("server=.;database=圖書出租;uid=sa;pwd=;");</p><p>  con.Open();</p><p>  SqlCommand cmd=new SqlCommand("select count(*) from manage where managename

97、='"+userName+"'and managepassword='"+userPwd+"'",con);</p><p>  int count=Convert.ToInt32 (cmd.ExecuteScalar ());</p><p>  if(count>0)</p><

98、p>  {Page.Response.Redirect ("后臺(tái)管理.aspx");</p><p><b>  }</b></p><p><b>  else</b></p><p>  {Response.Write (" <script language ='j

99、avascript'> alert ('用戶名密碼錯(cuò)誤')</script>");</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  4.5后臺(tái)管理模塊</b></p><

100、p><b>  圖4-5后臺(tái)界面</b></p><p>  管理員登錄后可以管理圖書的信息,查看圖書的借閱情況。查看代碼如下:</p><p>  private void bind3()</p><p>  {SqlConnection con=new SqlConnection("server=.;database=圖書

101、出租;uid=sa;pwd=;");</p><p>  con.Open();</p><p>  SqlCommand cmd=new SqlCommand("select * from manage",con);</p><p>  SqlDataReader sdr=cmd.ExecuteReader();</p>

102、<p>  this.DataGrid3.DataSource=sdr;</p><p>  this.DataGrid3.DataBind();</p><p>  this.DataGrid3.Visible=true;</p><p>  this.DataGrid2.Visible=false;</p><p>  thi

103、s.DataGrid1.Visible=false;</p><p><b>  }</b></p><p>  private void bind2()</p><p>  {SqlConnection con=new SqlConnection("server=.;database=圖書出租;uid=sa;pwd=;"

104、);</p><p>  con.Open();</p><p>  SqlCommand cmd=new SqlCommand("select * from UserInfo",con);</p><p>  SqlDataReader sdr=cmd.ExecuteReader();</p><p>  this.Da

105、taGrid2.DataSource=sdr;</p><p>  this.DataGrid2.DataBind();</p><p>  this.DataGrid1.Visible=false;</p><p>  this.DataGrid2.Visible=true;</p><p>  this.DataGrid3.Visible

106、=false;</p><p><b>  }</b></p><p>  private void bind1()</p><p>  {SqlConnection con=new SqlConnection("server=.;database=圖書出租;uid=sa;pwd=;");</p><p

107、>  con.Open();</p><p>  SqlCommand cmd=new SqlCommand("select * from BookInfo",con);</p><p>  SqlDataReader sdr=cmd.ExecuteReader();</p><p>  this.DataGrid1.DataSource=

108、sdr;</p><p>  this.DataGrid1.DataBind();</p><p>  this.DataGrid3.Visible=false;</p><p>  this.DataGrid2.Visible=false;</p><p>  this.DataGrid1.Visible=true;</p>

109、<p><b>  }</b></p><p>  private void Button1_Click(object sender, System.EventArgs e)</p><p>  {if(this.DropDownList1.SelectedValue.ToString()=="管理員信息表")</p>

110、<p>  { this.bind3(); </p><p><b>  }</b></p><p>  if(this.DropDownList1.SelectedValue.ToString()=="用戶信息表")</p><p>  {this.bin

111、d2();</p><p><b>  }</b></p><p>  if(this.DropDownList1.SelectedValue.ToString()=="圖書信息表")</p><p>  {this.bind1();</p><p><b>  }</b>

112、</p><p><b>  }</b></p><p>  4.6圖書信息管理模塊</p><p>  圖4-6圖書信息管理界面</p><p>  管理員在后臺(tái)登錄后就可以對(duì)圖書進(jìn)行管理,如圖書的修改,添加。添加新書的代碼如下:</p><p>  private void Button1_C

113、lick(object sender, System.EventArgs e)</p><p>  {if(this.IsValid)</p><p>  {bookxx sp=new bookxx();</p><p>  sp.BI_ID_N=this.TextBox1.Text;</p><p>  sp.BI_BS_ID_FN=

114、this.TextBox2.Text;</p><p>  sp.BI_Title_S=this.TextBox3.Text;</p><p>  sp.BI_author_S=this.TextBox4.Text;</p><p>  sp.BI_publisher_S=this.TextBox5.Text;</p><p>  if(bo

115、okxxcz.insertOperate(sp))</p><p>  {Response.Write("<script language='javascript'>alert('添加成功!');</script>");</p><p>  this.fillDG();</p><p>&

116、lt;b>  }</b></p><p><b>  else</b></p><p>  {Response.Write("<script language='javascript'>alert('添加失敗!請(qǐng)重新添加!');</script>");</p>

117、<p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  4.7管理員信息修改模塊</p><p>  圖4-7管理員信息修改界面</p><p>  管理員可以修改用

118、戶名,密碼。還可以添加多個(gè)管理員。添加管理員信息代碼如下:</p><p>  private void Button1_Click(object sender, System.EventArgs e)</p><p>  {if(this.IsValid)</p><p>  {bookxx sp=new bookxx();</p><

119、p>  sp.manageid=this.TextBox1.Text;</p><p>  sp.managename=this.TextBox2.Text;</p><p>  sp.managepassword=this.TextBox3.Text;</p><p>  if(a.insertOperate(sp))</p><p>

120、;  {Response.Write("<script language='javascript'>alert('添加成功!');</script>");</p><p>  this.fillDG();</p><p><b>  }</b></p><p><

121、;b>  else</b></p><p>  {Response.Write("<script language='javascript'>alert('添加失??!請(qǐng)重新添加!');</script>");</p><p><b>  }</b></p>&

122、lt;p><b>  }</b></p><p><b>  }</b></p><p>  以上分析了系統(tǒng)的主要模塊,對(duì)于其他的技術(shù)細(xì)節(jié)本文不再一一詳述。</p><p><b>  5 系統(tǒng)測(cè)試</b></p><p><b>  5.1測(cè)試運(yùn)行情況<

123、;/b></p><p>  任何一個(gè)系統(tǒng)的正確運(yùn)行都是建立在多次測(cè)試基礎(chǔ)上的,只有經(jīng)過(guò)多次測(cè)試才可以發(fā)現(xiàn)系統(tǒng)存在的不足或邏輯錯(cuò)誤。本文的網(wǎng)上書店系統(tǒng)在不斷的調(diào)試過(guò)程中也或多或少地遇到一些問(wèn)題,但最終基本一一解決,主要?dú)w納為以下5點(diǎn):</p><p>  1、實(shí)時(shí)性問(wèn)題,由于本系統(tǒng)是B/S模式的,所以系統(tǒng)的響應(yīng)速度是很重要的,當(dāng)有大量的用戶同時(shí)訪問(wèn)時(shí),這樣系統(tǒng)的響應(yīng)速度必然下降。本系

124、統(tǒng)在設(shè)計(jì)階段就考慮了這方面的問(wèn)題,其中最主要的解決方法就是盡量減少客戶端和服務(wù)器間的通信,把一些能在客戶端完成的驗(yàn)證都放在客戶端驗(yàn)證,盡可能多的使用本地的腳本語(yǔ)言,這樣客戶端和服務(wù)器端的通信量就會(huì)大大減少,服務(wù)器的響應(yīng)效率會(huì)提高很多。在本系統(tǒng)中開始時(shí)把一些驗(yàn)證信息放在了服務(wù)器端,這樣每點(diǎn)一個(gè)按鈕就向服務(wù)器發(fā)出一次請(qǐng)求,從而使服務(wù)器響應(yīng)速度很慢,后來(lái)把一些控件的驗(yàn)證都放在了客戶端,這樣就減少了客戶端和服務(wù)器端的通信,服務(wù)器的響應(yīng)速度大大提

125、高。</p><p>  2、系統(tǒng)的安全性問(wèn)題,后臺(tái)管理界面不能讓一些不具有管理員身份的人登陸,在本系統(tǒng)中應(yīng)用了Session機(jī)制來(lái)驗(yàn)證用戶,只有登陸了系統(tǒng)才能對(duì)系統(tǒng)后臺(tái)進(jìn)行操作,沒(méi)有登陸的用戶是不能夠登陸后臺(tái)管理界面的。即使用戶輸入后臺(tái)管理的網(wǎng)址,系統(tǒng)會(huì)自動(dòng)跳轉(zhuǎn)到提示為登陸錯(cuò)誤的頁(yè)面,且要求用戶登陸。同樣,即使是合法的用戶登錄,他也不可以進(jìn)入到管理員的操作的界面,因?yàn)楣芾韱T或客戶合法登錄后,他們被賦予不同的Se

126、ssion標(biāo)記,這樣系統(tǒng)的安全性相對(duì)大大提高。在開發(fā)即將完成的時(shí)候還沒(méi)有實(shí)現(xiàn)這個(gè)功能,后發(fā)現(xiàn)直接輸入管理界面的鏈接地址就能登陸后臺(tái),最終在系統(tǒng)中的后臺(tái)每個(gè)界面都應(yīng)用了Session機(jī)制后,才解決了這個(gè)問(wèn)題。</p><p>  3、數(shù)據(jù)庫(kù)安全性問(wèn)題,不管是注冊(cè)新的用戶,還是用戶的登錄, 本人都使用了存儲(chǔ)過(guò)程,這樣做的好處是防止SQL注入攻擊。創(chuàng)建一個(gè)恒等條件,從而不需要任何的用戶名和密碼就可以進(jìn)入系統(tǒ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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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)論