版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 圖書管理管理系統(tǒng)</b></p><p> 專業(yè)年級(jí): </p><p> 題 目: 基于ASP.NET的圖書管理系統(tǒng) </p><p> 指導(dǎo)教師:
2、 </p><p> 評(píng)閱教師: </p><p><b> 第1章 導(dǎo)論1</b></p><p> 1.1 系統(tǒng)調(diào)研與可行性分析1</p><p>
3、 1.1.1 現(xiàn)狀調(diào)查1</p><p> 1.1.2 可行性分析1</p><p> 1.1.3 軟件開發(fā)計(jì)劃2</p><p> 1.1.4 ASP.NET2.0和SQL Server 2005 概述2</p><p> 第2章 系統(tǒng)分析5</p><p> 2.1 系統(tǒng)功能模塊5&
4、lt;/p><p> 2.1.2 模塊框架圖6</p><p> 2.2 系統(tǒng)ER圖7</p><p> 第3章 系統(tǒng)詳細(xì)設(shè)計(jì)8</p><p> 3.1 開發(fā)運(yùn)行環(huán)境8</p><p> 3.2 數(shù)據(jù)庫(kù)設(shè)計(jì)8</p><p> 3.3 實(shí)現(xiàn)數(shù)據(jù)庫(kù)9</p>
5、<p> 第4章 主要功能模塊設(shè)計(jì)13</p><p> 4.1 程序主界面13</p><p> 4.2 書目檢索模塊13</p><p> 4.3 讀者管理模塊20</p><p> 4.4 圖書管理模塊24</p><p> 第5章 系統(tǒng)測(cè)試34</p><
6、p><b> 結(jié)論35</b></p><p><b> 致謝36</b></p><p><b> 參考文獻(xiàn)37</b></p><p><b> 第1章 系統(tǒng)分析</b></p><p> 根據(jù)系統(tǒng)分析,圖書管理系統(tǒng)的要求如下 :
7、</p><p> 需求分析:① 能夠輸入圖書的綜合情況和進(jìn)行新書入庫(kù)、現(xiàn)有圖書信息修改以及刪除;② 能夠?qū)崿F(xiàn)對(duì)讀者檔案的查詢和編輯管理;③ 能夠進(jìn)行借閱歷史的查詢功能;(2)系統(tǒng)性能要求:① 系統(tǒng)安全、可靠;② 功能齊全;③ 操作方便、界面友好;④ 易于維護(hù)和擴(kuò)充。</p><p> 1.1 系統(tǒng)功能模塊</p><p> 圖書管理系統(tǒng)需要
8、實(shí)現(xiàn)的功能主要有三大塊:“書目檢索”、“讀者管理”、“圖書管理”模塊。</p><p> 1.“書目檢索”模塊:</p><p> 普通檢索:書目檢索提供給普通讀者查詢書目信息的功能,提供瀏覽器模式的圖書信息檢索工具。檢索時(shí)可按書名、ISBN、作者、出版社、索引號(hào),以及叢書名進(jìn)行任意條件組合,精確或模糊檢索中文或英文圖書。</p><p> 書目高級(jí)檢索:書目
9、高級(jí)檢索提供給普通讀者或管理員用來查詢書目信息的平臺(tái),提供瀏覽器模式的圖書信息檢索工具。檢索范圍條件包括書號(hào)、書名、ISBN、作者、出版社和主題,可使用其中的一個(gè)或多個(gè)條件進(jìn)行高級(jí)檢索。</p><p><b> “讀者管理”模塊:</b></p><p> 讀者登錄:讀者通過管理人員提供的用戶名和密碼進(jìn)行登錄,登錄系統(tǒng)后可以修改密碼。</p>&l
10、t;p> 讀者信息:讀者可以查看自己的信息,并可以對(duì)自己的聯(lián)系方式進(jìn)行修改。</p><p> 讀者借閱歷史:讀者可以查看自己的所有借書記錄。</p><p> 讀者當(dāng)前借閱:讀者查看自己目前所借閱圖書情況。</p><p> 讀者借閱過期催還:讀者查看自己是否有過期未還圖書。</p><p> 管理員登錄:對(duì)于圖書館管理人員
11、,通過管理員登錄頁(yè)面進(jìn)入系統(tǒng),分為兩個(gè)權(quán)限,高級(jí)管理員可以實(shí)現(xiàn)對(duì)用戶的維護(hù)和圖書的維護(hù),普通管理員可以實(shí)現(xiàn)圖書的借閱與歸還。</p><p><b> “圖書管理”模塊:</b></p><p> 圖書借閱:普通管理員實(shí)現(xiàn)用戶對(duì)圖書的借閱。</p><p> 圖書歸還:普通管理員實(shí)現(xiàn)對(duì)圖書的歸還。</p><p>
12、 添加用戶:高級(jí)管理員實(shí)現(xiàn)添加用戶信息。</p><p> 用戶維護(hù):高級(jí)管理員實(shí)現(xiàn)添加圖書信息。</p><p> 添加圖書:高級(jí)管理員實(shí)現(xiàn)添加圖書信息。</p><p> 圖書維護(hù):高級(jí)管理員實(shí)現(xiàn)對(duì)圖書的維護(hù),包括圖書的查詢、修改和刪除。</p><p> 修改密碼:此功能為公共功能,所有用戶都可以使用此功能進(jìn)行秘密的修改。&l
13、t;/p><p> 1.1.2 模塊框架圖</p><p> 1.2 系統(tǒng)ER圖 通過對(duì)圖書管理系統(tǒng)的分析,可以得出該系統(tǒng)涉及三個(gè)實(shí)體:讀者、圖書、管理員。通過對(duì)各實(shí)體數(shù)據(jù)關(guān)系的整理,畫出如下E—R圖:</p><p> 圖2-1 圖書管理系統(tǒng)系統(tǒng)ER圖</p><p> 第2章 系統(tǒng)詳細(xì)設(shè)計(jì)</p><
14、p> 2.1 開發(fā)運(yùn)行環(huán)境</p><p> 系統(tǒng)開發(fā)環(huán)境:Microsoft Visual Studio 2005</p><p> 運(yùn)行平臺(tái):Windows XP</p><p> 數(shù)據(jù)庫(kù):SQL Server 2005</p><p><b> 2.2 數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p>&l
15、t;p> 本系統(tǒng)使用的數(shù)據(jù)庫(kù)管理系統(tǒng)為SQL Server 2005,下面介紹圖書管理系統(tǒng)數(shù)據(jù)庫(kù)的結(jié)構(gòu)設(shè)計(jì)。</p><p><b> 設(shè)計(jì)數(shù)據(jù)庫(kù)</b></p><p> 圖書管理系統(tǒng)具有用戶表Users,用于存儲(chǔ)不同身份的用戶數(shù)據(jù),其模式如表3.1所示。</p><p> 表3.1
16、 Users(用戶)表</p><p> 存儲(chǔ)圖書信息的表Book,如表3.2所示,用于存放圖書管理系統(tǒng)中所有已錄入的書目信息。</p><p> 表3.2 Book(圖書)表</p><p> 存儲(chǔ)圖書借閱信息的表Borrow,模式如表3.3所示。改表存放了所有讀者的借閱信息,借書和還書都對(duì)該表進(jìn)行
17、操作。</p><p> 表3.3 Borrow(圖書借閱)表</p><p> 存儲(chǔ)用戶權(quán)限表Power,模式如表3.4所示。該表存放了系統(tǒng)中的所有權(quán)限情況,本系統(tǒng)中只有四類權(quán)限:學(xué)生、老師、普通管理員和總管理員。</p><p> 表3.4 Power
18、 (權(quán)限)表</p><p> 2.3 實(shí)現(xiàn)數(shù)據(jù)庫(kù) </p><p> 下面給出數(shù)據(jù)庫(kù)實(shí)現(xiàn)的SQL命令(在SQL Server2005中執(zhí)行通過)。</p><p><b> 創(chuàng)建Users表</b></p><p> CREATE TABLE [dbo].[Users](</
19、p><p> [UserID] [varchar](50) NOT NULL,</p><p> [UserPassword] [varchar](50) NOT NULL,</p><p> [UserPower] [int] NOT NULL,</p><p> [UserName] [varchar](50) NOT NULL,&l
20、t;/p><p> [UserSex] [bit] NOT NULL,</p><p> [UserDepart] [varchar](50) NOT NULL,</p><p> [UserTelephone] [varchar](50) NULL,</p><p> [UserEMail] [varchar](50) NULL,<
21、;/p><p> CONSTRAINT [PK_Users] PRIMARY KEY CLUSTERED </p><p><b> (</b></p><p> [UserID] ASC</p><p> )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,
22、 IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]</p><p> ) ON [PRIMARY]</p><p><b> 創(chuàng)建Book表</b></p><p> CREATE TABLE [dbo].[Book](<
23、;/p><p> [BookID] [int] IDENTITY(1,1) NOT NULL,</p><p> [BookName] [varchar](50) NOT NULL,</p><p> [BookISBN] [varchar](50) NOT NULL,</p><p> [BookAuthor] [varchar](50
24、) NOT NULL,</p><p> [BookPublish] [varchar](50) NOT NULL,</p><p> [BookPublishDate] [datetime] NOT NULL,</p><p> [BookClassify] [varchar](50) NOT NULL,</p><p> [Boo
25、kSubject] [varchar](50) NOT NULL,</p><p> [BookIndex] [varchar](50) NOT NULL,</p><p> [BookPrice] [money] NOT NULL,</p><p> [BookPageNum] [int] NOT NULL,</p><p> [B
26、ookSeries] [varchar](50) NULL,</p><p> [BookDescription] [text] NULL,</p><p> CONSTRAINT [PK_Book] PRIMARY KEY CLUSTERED </p><p><b> (</b></p><p> [Book
27、ID] ASC</p><p> )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]</p><p> ) ON [PRIMARY] TEXTIMAGE_ON [P
28、RIMARY]</p><p><b> 創(chuàng)建Borrow表</b></p><p> CREATE TABLE [dbo].[Borrow](</p><p> [BorrowID] [int] IDENTITY(1,1) NOT NULL,</p><p> [UserID] [varchar](50) NO
29、T NULL,</p><p> [BookID] [int] NOT NULL,</p><p> [BorrowBeginDate] [datetime] NOT NULL,</p><p> [BorrowEndDate] [datetime] NOT NULL,</p><p> [BorrowState] [int] NOT
30、 NULL,</p><p> CONSTRAINT [PK_Borrow] PRIMARY KEY CLUSTERED </p><p><b> (</b></p><p> [BorrowID] ASC</p><p> )WITH (PAD_INDEX = OFF, STATISTICS_NORECOM
31、PUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]</p><p> ) ON [PRIMARY]</p><p><b> 創(chuàng)建Power表</b></p><p> CREATE TABLE [db
32、o].[Power](</p><p> [ID] [int] NOT NULL,</p><p> [Name] [varchar](50) NOT NULL,</p><p> CONSTRAINT [PK_Power] PRIMARY KEY CLUSTERED </p><p><b> (</b><
33、;/p><p><b> [ID] ASC</b></p><p> )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]</p>&
34、lt;p> ) ON [PRIMARY]</p><p><b> 數(shù)據(jù)關(guān)系圖</b></p><p> 為了保證數(shù)據(jù)的完整性和有效性,為Borrow數(shù)據(jù)表增加兩個(gè)外鍵關(guān)系,并設(shè)置外鍵關(guān)系對(duì)復(fù)制、插入、更新的強(qiáng)制關(guān)系,而且級(jí)聯(lián)更新和刪除相關(guān)字段。Borrow、Users、Book表之間關(guān)系圖設(shè)置如圖所示:</p><p> 圖3-
35、1 Borrow、Users、Book表之間關(guān)系圖</p><p> 第3章 主要功能模塊設(shè)計(jì)</p><p><b> 3.1 程序主界面</b></p><p> 程序啟動(dòng)后,進(jìn)入程序主界面,</p><p><b> 圖4-1 主頁(yè)面</b></p><p>
36、 3.2 書目檢索模塊</p><p><b> 1.檢索頁(yè)面</b></p><p> 書目檢索頁(yè)面用于完成讀者查閱圖書信息的功能。</p><p><b> 圖4-2 檢索頁(yè)面</b></p><p> 當(dāng)用戶設(shè)置好相應(yīng)查詢條件,單擊“確定”按鈕時(shí),系統(tǒng)使用Session對(duì)象來存放用戶
37、設(shè)置的查詢條件,并轉(zhuǎn)向查詢結(jié)果頁(yè)面顯示數(shù)據(jù)?!按_定”按鈕單擊事件代碼:</p><p> 1. //確定按鈕單擊事件</p><p> 2. protected void confirm_Click(object sender, ImageClickEventArgs e)</p><p><b> 3. {</b><
38、;/p><p> 4. this.Session["Classify"] = rblClassify.SelectedItem.Text;//使用Session來存放查詢條件</p><p> 5. this.Session["Type"] = ddlType.SelectedValue;</p><p
39、> 6. this.Session["Content"] = txtContent.Text.Trim();</p><p> 7. this.Session["Mode"] = int.Parse(rblMode.SelectedValue);</p><p> 8. Response.Redi
40、rect("BookSearchResult.aspx");//轉(zhuǎn)向查詢結(jié)果頁(yè)面</p><p><b> 9. }</b></p><p> 第4~7行使用Session來存放查詢條件;</p><p> 第8行轉(zhuǎn)向查詢結(jié)果頁(yè)面。</p><p><b> 2.檢索結(jié)果頁(yè)面&
41、lt;/b></p><p> 查詢結(jié)果頁(yè)面用于顯示根據(jù)傳遞過來的參數(shù)查詢出的數(shù)據(jù)。</p><p> 圖4-3 檢索結(jié)果頁(yè)面</p><p> 該頁(yè)面用來顯示查詢結(jié)果,GirdViewBind方法代碼如下:</p><p> 1. //查詢數(shù)據(jù),綁定到GridView控件</p><p> 2.
42、 private void GridViewBind()</p><p><b> 3. {</b></p><p> 4. SqlParameter[] Params = new SqlParameter[4];</p><p> 5. DataBase DB = new DataBase();</p>
43、<p> 6. Params[0]=DB.MakeInParam("@Classify",SqlDbType.VarChar,50, 7.Session["Classify"].ToString()); //分類</p><p> 8. Params[1] =
44、 DB.MakeInParam("@Type", SqlDbType.VarChar, 50, 9.Session["Type"].ToString()); //字段名</p><p> 10. Params[2] = DB.MakeInParam("@Content", SqlDbType.VarChar, 5
45、0, 11.Session["Content"].ToString()); //字段值</p><p> 12. Params[3] = DB.MakeInParam("@Mode", SqlDbType.Int, 4, 13.int.Parse(Session["Mode"].ToString()));
46、 //查詢模式 </p><p> 14. DataSet ds = DB.GetDataSet("Proc_BookConditionQuery", Params);</p><p> 15. ds.CaseSensitive = false;</p><p> 16. GridView1.Dat
47、aSource = ds;</p><p> 17. GridView1.DataBind();</p><p><b> 18. }</b></p><p> 第4行創(chuàng)建參數(shù)數(shù)組對(duì)象Params;</p><p> 第5行創(chuàng)建DataBase類對(duì)象DB;</p><p>
48、 第6~13行使用DataBase類方法MakeInParam方法實(shí)例化參數(shù),并將參數(shù)存放在 Params對(duì)象中;</p><p> 第14行使用DataBase類方法GetDataSet方法查詢數(shù)據(jù),并將結(jié)果賦給DataSet對(duì)象;</p><p> 第16行說明指示DataTable對(duì)象中的字符串比較不區(qū)分大小寫;<
49、;/p><p> 第17~18行為GirdView控件指定數(shù)據(jù)源并綁定數(shù)據(jù)。</p><p><b> 書刊詳細(xì)信息</b></p><p> 書刊詳細(xì)信息用于顯示圖書的詳細(xì)信息,通過傳遞過來的書號(hào)進(jìn)行查詢,將查詢到的結(jié)果放在相應(yīng)的控件中顯示。</p><p> 圖 4-4 書刊詳細(xì)信息頁(yè)面</p>&
50、lt;p> 該頁(yè)面用來顯示圖書詳細(xì)信息,在頁(yè)面的Page_Load事件中添加代碼,ShowBookDetails()方法代碼如下:</p><p> protected void Page_Load(object sender, EventArgs e)</p><p><b> {</b></p><p> if (!IsPos
51、tBack)</p><p><b> {</b></p><p> ShowBookDetails();</p><p><b> }</b></p><p><b> }</b></p><p> 1. //顯示書刊詳細(xì)信息</p&
52、gt;<p> 2. private void ShowBookDetails()</p><p><b> 3. {</b></p><p> 4. int bookID = int.Parse(Request["bookID"].ToString());//取出傳遞過來的書號(hào)</p><p&
53、gt; 5. Book book = new Book();//創(chuàng)建Book對(duì)象</p><p> 6. if (book.LoadData(bookID))//根據(jù)書號(hào)查詢書刊詳細(xì)信息,如果查詢到</p><p><b> 7. {</b></p><p> 8. txtName.Text = book
54、.BookName;//將書刊信息賦給相應(yīng)控件顯示</p><p> 9. txtISBN.Text = book.BookISBN;</p><p> 10. txtAuthor.Text = book.BookAuthor;</p><p> 11. txtPublish.Text = book.BookPublish
55、;</p><p> 12 txtPublishDate.Text = book.BookPublishDate.Year.ToString() + "年" + 13.book.BookPublishDate.Month.ToString() + "月";</p><p>
56、 14. txtClassify.Text = book.BookClassify;</p><p> 15. txtSubject.Text = book.BookSubject;</p><p> 16. txtIndex.Text = book.BookIndex;</p><p> 17. txtPric
57、e.Text = book.BookPrice + "元";</p><p> 18. txtPageNum.Text = book.BookPageNum.ToString();</p><p> 19. txtSeries.Text = book.BookSeries;</p><p> 20.
58、txtDescription.Text = book.BookDescription;</p><p> 21. DataBase db = new DataBase();//創(chuàng)建DataBase類對(duì)象</p><p> 22. if (db.GetRecord("select * from Borrow where BookID=" + b
59、ookID + " and 23.BorrowState=0"))//查詢?cè)搱D書是否可借</p><p> 24. {</p><p> 25. txtGuanCang.Text = "不可借";</p><p> 26. }</p><p>
60、 27. else</p><p> 28. {</p><p> 29. txtGuanCang.Text = "可借";</p><p> 30. }</p><p><b> 31. }</b></p><
61、;p> 32. else</p><p><b> 33. {</b></p><p> 34. Response.Write("顯示圖書信息失?。?quot;);</p><p><b> 35. }</b></p><p><b>
62、 36. }</b></p><p> 第4行獲取傳遞過來的參數(shù)bookID號(hào);</p><p> 第5行創(chuàng)建Book類對(duì)象book;</p><p> 第6行使用Book類方法LoadData方法來查詢書刊詳細(xì)信息,并返回查詢結(jié)果;</p><p> 第8~20行將查詢出的圖書詳細(xì)信息分別賦給相應(yīng)的控件顯示;</
63、p><p> 第21行創(chuàng)建DataBase類對(duì)象db;</p><p> 第22~30行使用DataBase類的GetRecord方法查詢?cè)搱D書是否可借,并給出相應(yīng)提示。</p><p> 4.讀者書目高級(jí)檢索</p><p> 讀者書目高級(jí)檢索頁(yè)面用于實(shí)現(xiàn)讀者對(duì)圖書信息的高級(jí)查詢功能。</p><p> 圖4-
64、5 讀者高級(jí)檢索頁(yè)面</p><p> “高級(jí)搜索”單擊事件代碼:</p><p> protected void ImageButton1_Click(object sender, ImageClickEventArgs e)</p><p><b> {</b></p><p> GridViewBind()
65、;</p><p><b> }</b></p><p> 1. //高級(jí)搜索按鈕事件</p><p> 2. private void GridViewBind()</p><p><b> 3. {</b></p><p> 4. Hash
66、table ht = new Hashtable(); //創(chuàng)建哈希表對(duì)象</p><p> 5. if (txtBookID.Text.Trim() != "")//當(dāng)條件輸入框不為空時(shí),將條件添加到哈希表中</p><p> 6. {</p><p> 7. ht.Add("BookI
67、D", int.Parse(txtBookID.Text.Trim()));</p><p> 8. }</p><p> 9. if (txtBookName.Text.Trim() != "")</p><p> 10. {</p><p> 11.
68、 ht.Add("BookName", txtBookName.Text.Trim());</p><p> 12. }</p><p> 13. if (txtBookISBN.Text.Trim() != "")</p><p> 14. {</p>&
69、lt;p> 15. ht.Add("BookISBN", txtBookISBN.Text.Trim());</p><p> 16. }</p><p> 17. if (txtBookAuthor.Text.Trim() != "")</p><p> 18.
70、 {</p><p> 19. ht.Add("BookAuthor", txtBookAuthor.Text.Trim());</p><p> 20. }</p><p> 21. if (txtBookPublish.Text.Trim() != ""
71、)</p><p> 22. {</p><p> 23. ht.Add("BookPublish", txtBookPublish.Text.Trim());</p><p> 24. }</p><p> 25. if (txtBookSubjec
72、t.Text.Trim() != "")</p><p> 26. {</p><p> 27. ht.Add("BookSubject", txtBookSubject.Text.Trim());</p><p> 28. }</p><p>
73、 29. DataBase db = new DataBase(); //實(shí)例化一個(gè)Database類</p><p> 30. GridView1.DataSource = db.AdvancedSearch("[Book]", ht); </p><p> 31.
74、 GridView1.DataBind();</p><p><b> 32. }</b></p><p> 第4行創(chuàng)建哈希表對(duì)象ht;</p><p> 第5~16行判斷每個(gè)查詢條件,如果不為空,添加到哈希表中;</p><p> 第17行創(chuàng)建DataBase類對(duì)象db;</p>&l
75、t;p> 第18行使用DataBase類的AdvancedSearch方法進(jìn)行查詢圖書信息,并將查詢結(jié)果賦給GridView控件;</p><p> 在該頁(yè)面中單擊查詢出的圖書書名超鏈接,同樣轉(zhuǎn)向該圖書的詳細(xì)信息頁(yè)面。</p><p> 3.3 讀者管理模塊</p><p><b> 讀者登錄</b></p>&l
76、t;p> 讀者登錄頁(yè)面用于完成讀者登錄系統(tǒng)的功能,是讀者查看自身基本信息以及借閱情況的登錄頁(yè)面。需要用戶輸入的信息在登錄頁(yè)面下方給予了相應(yīng)提示。當(dāng)讀者單擊“登錄”按鈕時(shí),系統(tǒng)將根據(jù)用戶的輸入對(duì)其進(jìn)行身份驗(yàn)證,流程如圖:</p><p><b> 頁(yè)面輸入: </b></p><p><b> Y</b></p>&
77、lt;p><b> N</b></p><p><b> Y</b></p><p><b> N</b></p><p> 圖4-6 讀者登錄頁(yè)面</p><p> “登錄”按鈕單擊事件代碼:</p><p> 1. //登錄按鈕事
78、件</p><p> 2. protected void ImageButton1_Click(object sender, ImageClickEventArgs e)</p><p><b> 3. {</b></p><p> 4. Users user = new Users();</p>
79、<p> 5. if (user.CheckPassword(txtName.Text.Trim()))//驗(yàn)證用戶是否存在并取出用戶密碼和權(quán)限</p><p> 6. {</p><p> 7. if (user.UserPassword == txtPwd.Text.Trim())//如果用戶密碼和輸入密碼相同</p
80、><p> 8. {</p><p> 9. this.Session["userID"] = txtName.Text;//使用Session對(duì)象存儲(chǔ)用戶名和權(quán)限</p><p> 10. this.Session["userPower"]
81、= user.UserPower;</p><p> 11. Response.Redirect("ReaderLoginMain.aspx");</p><p> 12. }</p><p> 13. else//密碼錯(cuò)誤,給出提示</p><p&
82、gt; 14. {</p><p> 15. lblMessage.Text = "您輸入的密碼錯(cuò)誤";</p><p> 16. }</p><p> 17. }</p><p> 18. else//用戶不存在&
83、lt;/p><p> 19. {</p><p> 20. lblMessage.Text = "您輸入的用戶名錯(cuò)誤!";</p><p> 21. }</p><p><b> 22. }</b></p><p> 第4
84、行創(chuàng)建User類對(duì)象User;</p><p> 第5行判斷用戶是否存在和查詢用戶的密碼和權(quán)限;</p><p> 第7~16行,判斷用戶輸入的密碼和數(shù)據(jù)庫(kù)密碼是否一致,如果相同,存儲(chǔ)用戶的用戶名和權(quán)限并轉(zhuǎn)到讀者主頁(yè)面;如果不同,給出密碼錯(cuò)誤提示;</p><p> 第18~21行給出用戶不存在的錯(cuò)誤提示。</p><p><b&
85、gt; 2.讀者信息主頁(yè)面</b></p><p> 在該頁(yè)面可以顯示讀者自己目前的信息,還進(jìn)行書目檢索,查詢自己所有的書刊借閱情況以及修改密碼等。</p><p> 圖4-7 讀者信息主頁(yè)面</p><p><b> 3.管理員登錄</b></p><p> 管理員登錄頁(yè)面實(shí)現(xiàn)管理員登錄功能。該頁(yè)
86、面具有自動(dòng)導(dǎo)航的功能,不同用戶登錄,根據(jù)其不同身份,將進(jìn)入不同的系統(tǒng)功能頁(yè),普通管理員進(jìn)入借書還書頁(yè)面,總管理員進(jìn)入系統(tǒng)管理頁(yè)面。</p><p> 圖4-8 管理員登錄頁(yè)面</p><p> “登錄”按鈕單擊事件代碼:</p><p> 1. //登錄按鈕單擊事件</p><p> 2. protected void imgB
87、tnLogin_Click(object sender, ImageClickEventArgs e)</p><p><b> 3. {</b></p><p> 4. Users user = new Users();//創(chuàng)建Users對(duì)象user</p><p> 5. if (user.CheckPas
88、sword(txtUserID.Text.Trim()))//根據(jù)用戶編號(hào)查詢用戶密碼</p><p> 6. {</p><p> 7. if (user.UserPassword == txtPwd.Text.Trim())//輸入密碼與用戶密碼相同</p><p> 8. {</p>&l
89、t;p> 9. if (user.UserPower == 1)//如果該用戶是總管理員</p><p> 10. {</p><p> 11. Session["userID"] = txtUserID.Text.Trim();//存儲(chǔ)用戶編號(hào)</p>
90、<p> 12. Response.Redirect("adminMain.aspx");//轉(zhuǎn)向總管理員操作界面</p><p> 13. }</p><p> 14. else if (user.UserPower == 2)//用戶是普通管理員</p
91、><p> 15. {</p><p> 16. Response.Redirect("Borrow/BorrowBook.aspx");//轉(zhuǎn)向借書還書界面</p><p> 17. }</p><p> 18.
92、 }</p><p> 19. else//密碼錯(cuò)誤,給出提示</p><p> 20. {</p><p> 21. lbl_message.Text = "您輸入的密碼錯(cuò)誤!";</p><p> 22. }</
93、p><p> 23. }</p><p> 24. else//用戶不存在,給出提示</p><p> 25. {</p><p> 26. lbl_message.Text = "該用戶不存在!";</p><p> 27.
94、 }</p><p><b> 28. }</b></p><p> 第四行創(chuàng)建Users類對(duì)象user;</p><p> 第5~23行查詢用戶密碼,且該用戶存在,其中7~18行為輸入密碼與查詢到用戶密碼相同,然后根據(jù)權(quán)限轉(zhuǎn)向不同頁(yè)面;第19~22行密碼輸入錯(cuò)誤,給出提示;</p><p> 第24~27行為
95、用戶不存在,給出提示。</p><p> 3.4 圖書管理模塊</p><p><b> 添加用戶信息</b></p><p> 添加用戶頁(yè)面實(shí)現(xiàn)向數(shù)據(jù)庫(kù)中添加用戶信息功能。</p><p> 圖4-9 添加用戶頁(yè)面</p><p> 在該頁(yè)面中,用戶類型使用SqlDataSource來
96、實(shí)現(xiàn)從數(shù)據(jù)庫(kù)中取出權(quán)限放到下拉列框中。按照填寫要求填寫用戶信息,然后單擊“添加”按鈕實(shí)現(xiàn)將用戶信息添加到數(shù)據(jù)庫(kù)中?!疤砑印卑粹o單擊事件參考代碼如下:</p><p> 1. //添加按鈕單擊事件</p><p> 2. protected void imgBtnAdd_Click(object sender, ImageClickEventArgs e)</p>
97、<p><b> 3. {</b></p><p> 4. if (Page.IsValid)</p><p><b> 5. {</b></p><p> 6. Users user = new Users();//創(chuàng)建Users對(duì)象user</p>
98、<p> 7. user.UserID = txtUserID.Text.Trim();</p><p> 8. if (!user.CheckUser(user.UserID))//使用CheckUser方法驗(yàn)證用戶是否存在</p><p> 9. {</p><p> 10.
99、 //為user對(duì)象屬性賦值</p><p> 11. user.UserPassword = txtPassword.Text.Trim();</p><p> 12. user.UserPower = Convert.ToInt16(ddlUserPower.SelectedValue);</p>&
100、lt;p> 13. user.UserName = txtUserName.Text.Trim();</p><p> 14. user.UserSex = Convert.ToBoolean(rblUserSex.SelectedValue);</p><p> 15. user.UserDepar
101、t = txtUserDepart.Text.Trim();</p><p> 16. user.UserTelephone = txtUserTelephone.Text.Trim();</p><p> 17. user.UserEMail = txtUserEMail.Text.Trim();</p><p&
102、gt; 18. if (user.InsertByProc())//要插入用戶不存在,使用InsertByProc方法執(zhí)行插入</p><p> 19. {</p><p> 20. lblMessage.Text = "成功添加用戶!";</p><p>
103、; 21. }</p><p> 22. else//插入失敗,給出提示</p><p> 23. {</p><p> 24. lblMessage.Text = "添加用戶失敗!";</p><p>
104、 25. }</p><p> 26. }</p><p> 27. else//用戶存在,給出提示</p><p> 28. {</p><p> 29. lblMessage.Text = "數(shù)據(jù)庫(kù)中存在具有該編號(hào)
105、的用戶,請(qǐng)重新輸入!";</p><p> 30. }</p><p> 31. }</p><p><b> 32. }</b></p><p> 第4行如果頁(yè)面驗(yàn)證有效執(zhí)行if語(yǔ)句;</p><p> 第6行創(chuàng)建Users類對(duì)象user;<
106、;/p><p> 第8行使用使用Users類CheckUser方法檢查要添加用戶數(shù)據(jù)庫(kù)中是否存在,若存在給出提示,若不存在執(zhí)行插入操作;</p><p> 第11~17行為user對(duì)象屬性賦值;</p><p> 第18行使用InsertByProc方法插入用戶,并根據(jù)執(zhí)行結(jié)果給出相應(yīng)提示信息。</p><p><b> 2.添
107、加圖書信息</b></p><p> 添加圖書頁(yè)面實(shí)現(xiàn)向數(shù)據(jù)庫(kù)中添加圖書信息功能。</p><p> 圖4-10 添加圖書信息頁(yè)面</p><p> “添加”按鈕單擊事件代碼如下:</p><p> 1. //添加按鈕單擊事件</p><p> 2. protected void Im
108、ageButton1_Click(object sender, ImageClickEventArgs e)</p><p><b> 3. {</b></p><p> 4. if (Page.IsValid)</p><p> 5. {</p><p> 6.
109、 Book book = new Book();//創(chuàng)建Book類對(duì)象book</p><p> 7. book.BookName = txtName.Text.Trim();//為book對(duì)象各屬性賦值</p><p> 8. book.BookISBN = txtISBN.Text.Trim();</p><p&
110、gt; 9. book.BookAuthor = txtAuthor.Text.Trim();</p><p> 10. book.BookPublish = txtPublish.Text.Trim();</p><p> 11. book.BookPublishDate = Convert.ToDateTime(d
111、dlYear.SelectedItem.Text + "-" + 12.ddlMonth.SelectedItem.Text + "-" + ddlDay.SelectedItem.Text);</p><p> 13. book.BookClassify = rblClassify.SelectedItem.Text;</p><
112、;p> 14. book.BookSubject = txtSubject.Text;</p><p> 15. book.BookIndex = txtIndex.Text;</p><p> 16. book.BookPrice = Convert.ToDouble(txtPrice.Text);</p
113、><p> 17. book.BookPageNum = int.Parse(txtPageNum.Text);</p><p> 18. book.BookSeries = txtSeries.Text;</p><p> 19. book.BookDescription = txtDescrip
114、tion.Text;</p><p> 20. if (book.InsertByProc())//使用InsertByProc方法向數(shù)據(jù)庫(kù)添加圖書信息</p><p> 21. {</p><p> 22. lblMessage.Text = "成功添加書刊!";&
115、lt;/p><p> 23. }</p><p> 24. else</p><p> 25. {</p><p> 26. lblMessage.Text = "添加書刊失??!";</p><p>
116、 27. }</p><p> 28. }</p><p><b> 29. }</b></p><p> 第4行如果頁(yè)面驗(yàn)證有效執(zhí)行if語(yǔ)句;</p><p> 第6行創(chuàng)建Book對(duì)象book;</p><p> 第7~19行為book對(duì)象屬
117、性賦值;</p><p> 第20行使用InsertByproc方法向數(shù)據(jù)庫(kù)中添加圖書信息,并根據(jù)執(zhí)行結(jié)果給用戶相應(yīng)提示信息。</p><p><b> 3.圖書信息維護(hù)</b></p><p> 圖書信息列表頁(yè)面顯示了所有圖書信息,在該頁(yè)面,總管理員可以實(shí)現(xiàn)對(duì)圖書信息的查詢、刪除,并可以通過單擊每本圖書題名超鏈接轉(zhuǎn)到圖書詳細(xì)信息列表,對(duì)
118、圖書詳細(xì)信息進(jìn)行修改和查看,下面對(duì)其功能進(jìn)行介紹。</p><p> 圖 4-11 書刊信息頁(yè)面</p><p> 首先,在該頁(yè)面中使用添加自定義方法來為GridView控件綁定數(shù)據(jù)。</p><p> 綁定GridView控件定義:</p><p> private void GridViewBind()</p>&l
119、t;p><b> {</b></p><p> Book book = new Book();</p><p> DataSet ds = book.QueryBooks();</p><p> GridView1.DataSource = ds;</p><p> GridView1.DataBind(
120、);</p><p><b> }</b></p><p> 在該頁(yè)面中還可以實(shí)現(xiàn)刪除圖書信息。改功能可以通過GridView行中的“刪除”按鈕來實(shí)現(xiàn),單擊“刪除”按鈕觸發(fā)GridView控件的RowDeleting事件,代碼如下:</p><p> protected void GridView1_RowDeleting(object
121、sender, GridViewDeleteEventArgs e)</p><p><b> {</b></p><p> int bookID = int.Parse(GridView1.DataKeys[e.RowIndex].Values[0].ToString()); //取出要?jiǎng)h除記錄的主鍵值</p><p> Book bo
122、ok = new Book();</p><p> if (book.DeleteByProc(bookID))</p><p><b> {</b></p><p> Response.Write("<script language=javascript>alert('刪除成功!')</scr
123、ipt>");</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> Response.Write("<script language=javascrip
124、t>alert('刪除失敗!')</script>");</p><p><b> }</b></p><p> GridView1.EditIndex = -1;</p><p> GridViewBind();</p><p><b> }</b&g
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 圖書管理系統(tǒng)-畢業(yè)設(shè)計(jì)論文
- 圖書管理系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 畢業(yè)設(shè)計(jì)(論文)-圖書管理系統(tǒng)
- 畢業(yè)設(shè)計(jì)論文(圖書管理系統(tǒng))
- 圖書管理系統(tǒng)--畢業(yè)設(shè)計(jì)論文
- 畢業(yè)設(shè)計(jì)論文---圖書管理系統(tǒng)
- 圖書管理系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 圖書管理系統(tǒng)--畢業(yè)設(shè)計(jì)論文
- 圖書管理系統(tǒng)畢業(yè)設(shè)計(jì)(論文)
- 圖書管理系統(tǒng)-畢業(yè)設(shè)計(jì)論文
- 畢業(yè)設(shè)計(jì)---vb圖書管理系統(tǒng)_論文
- vb圖書管理系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 畢業(yè)設(shè)計(jì)(論文)+圖書管理系統(tǒng)畢業(yè)論文
- 畢業(yè)設(shè)計(jì)--圖書管理系統(tǒng)
- 圖書管理系統(tǒng) 畢業(yè)設(shè)計(jì)
- 圖書管理系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---圖書管理系統(tǒng)
- 圖書管理系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)-----圖書管理系統(tǒng)
- 畢業(yè)設(shè)計(jì)-----圖書管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論