版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 圖書管理管理系統(tǒng)</b></p><p> 專業(yè)年級: </p><p> 題 目: 基于ASP.NET的圖書管理系統(tǒng) </p><p> 指導教師:
2、 </p><p> 評閱教師: </p><p><b> 第1章 導論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ā)計劃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)詳細設(shè)計8</p><p> 3.1 開發(fā)運行環(huán)境8</p><p> 3.2 數(shù)據(jù)庫設(shè)計8</p><p> 3.3 實現(xiàn)數(shù)據(jù)庫9</p>
5、<p> 第4章 主要功能模塊設(shè)計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)測試34</p><
6、p><b> 結(jié)論35</b></p><p><b> 致謝36</b></p><p><b> 參考文獻37</b></p><p><b> 第1章 系統(tǒng)分析</b></p><p> 根據(jù)系統(tǒng)分析,圖書管理系統(tǒng)的要求如下 :
7、</p><p> 需求分析:① 能夠輸入圖書的綜合情況和進行新書入庫、現(xiàn)有圖書信息修改以及刪除;② 能夠?qū)崿F(xiàn)對讀者檔案的查詢和編輯管理;③ 能夠進行借閱歷史的查詢功能;(2)系統(tǒng)性能要求:① 系統(tǒng)安全、可靠;② 功能齊全;③ 操作方便、界面友好;④ 易于維護和擴充。</p><p> 1.1 系統(tǒng)功能模塊</p><p> 圖書管理系統(tǒng)需要
8、實現(xiàn)的功能主要有三大塊:“書目檢索”、“讀者管理”、“圖書管理”模塊。</p><p> 1.“書目檢索”模塊:</p><p> 普通檢索:書目檢索提供給普通讀者查詢書目信息的功能,提供瀏覽器模式的圖書信息檢索工具。檢索時可按書名、ISBN、作者、出版社、索引號,以及叢書名進行任意條件組合,精確或模糊檢索中文或英文圖書。</p><p> 書目高級檢索:書目
9、高級檢索提供給普通讀者或管理員用來查詢書目信息的平臺,提供瀏覽器模式的圖書信息檢索工具。檢索范圍條件包括書號、書名、ISBN、作者、出版社和主題,可使用其中的一個或多個條件進行高級檢索。</p><p><b> “讀者管理”模塊:</b></p><p> 讀者登錄:讀者通過管理人員提供的用戶名和密碼進行登錄,登錄系統(tǒng)后可以修改密碼。</p>&l
10、t;p> 讀者信息:讀者可以查看自己的信息,并可以對自己的聯(lián)系方式進行修改。</p><p> 讀者借閱歷史:讀者可以查看自己的所有借書記錄。</p><p> 讀者當前借閱:讀者查看自己目前所借閱圖書情況。</p><p> 讀者借閱過期催還:讀者查看自己是否有過期未還圖書。</p><p> 管理員登錄:對于圖書館管理人員
11、,通過管理員登錄頁面進入系統(tǒng),分為兩個權(quán)限,高級管理員可以實現(xiàn)對用戶的維護和圖書的維護,普通管理員可以實現(xiàn)圖書的借閱與歸還。</p><p><b> “圖書管理”模塊:</b></p><p> 圖書借閱:普通管理員實現(xiàn)用戶對圖書的借閱。</p><p> 圖書歸還:普通管理員實現(xiàn)對圖書的歸還。</p><p>
12、 添加用戶:高級管理員實現(xiàn)添加用戶信息。</p><p> 用戶維護:高級管理員實現(xiàn)添加圖書信息。</p><p> 添加圖書:高級管理員實現(xiàn)添加圖書信息。</p><p> 圖書維護:高級管理員實現(xiàn)對圖書的維護,包括圖書的查詢、修改和刪除。</p><p> 修改密碼:此功能為公共功能,所有用戶都可以使用此功能進行秘密的修改。&l
13、t;/p><p> 1.1.2 模塊框架圖</p><p> 1.2 系統(tǒng)ER圖 通過對圖書管理系統(tǒng)的分析,可以得出該系統(tǒng)涉及三個實體:讀者、圖書、管理員。通過對各實體數(shù)據(jù)關(guān)系的整理,畫出如下E—R圖:</p><p> 圖2-1 圖書管理系統(tǒng)系統(tǒng)ER圖</p><p> 第2章 系統(tǒng)詳細設(shè)計</p><
14、p> 2.1 開發(fā)運行環(huán)境</p><p> 系統(tǒng)開發(fā)環(huán)境:Microsoft Visual Studio 2005</p><p> 運行平臺:Windows XP</p><p> 數(shù)據(jù)庫:SQL Server 2005</p><p><b> 2.2 數(shù)據(jù)庫設(shè)計</b></p>&l
15、t;p> 本系統(tǒng)使用的數(shù)據(jù)庫管理系統(tǒng)為SQL Server 2005,下面介紹圖書管理系統(tǒng)數(shù)據(jù)庫的結(jié)構(gòu)設(shè)計。</p><p><b> 設(shè)計數(shù)據(jù)庫</b></p><p> 圖書管理系統(tǒng)具有用戶表Users,用于存儲不同身份的用戶數(shù)據(jù),其模式如表3.1所示。</p><p> 表3.1
16、 Users(用戶)表</p><p> 存儲圖書信息的表Book,如表3.2所示,用于存放圖書管理系統(tǒng)中所有已錄入的書目信息。</p><p> 表3.2 Book(圖書)表</p><p> 存儲圖書借閱信息的表Borrow,模式如表3.3所示。改表存放了所有讀者的借閱信息,借書和還書都對該表進行
17、操作。</p><p> 表3.3 Borrow(圖書借閱)表</p><p> 存儲用戶權(quán)限表Power,模式如表3.4所示。該表存放了系統(tǒng)中的所有權(quán)限情況,本系統(tǒng)中只有四類權(quán)限:學生、老師、普通管理員和總管理員。</p><p> 表3.4 Power
18、 (權(quán)限)表</p><p> 2.3 實現(xiàn)數(shù)據(jù)庫 </p><p> 下面給出數(shù)據(jù)庫實現(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ù)表增加兩個外鍵關(guān)系,并設(shè)置外鍵關(guān)系對復(fù)制、插入、更新的強制關(guān)系,而且級聯(lián)更新和刪除相關(guān)字段。Borrow、Users、Book表之間關(guān)系圖設(shè)置如圖所示:</p><p> 圖3-
35、1 Borrow、Users、Book表之間關(guān)系圖</p><p> 第3章 主要功能模塊設(shè)計</p><p><b> 3.1 程序主界面</b></p><p> 程序啟動后,進入程序主界面,</p><p><b> 圖4-1 主頁面</b></p><p>
36、 3.2 書目檢索模塊</p><p><b> 1.檢索頁面</b></p><p> 書目檢索頁面用于完成讀者查閱圖書信息的功能。</p><p><b> 圖4-2 檢索頁面</b></p><p> 當用戶設(shè)置好相應(yīng)查詢條件,單擊“確定”按鈕時,系統(tǒng)使用Session對象來存放用戶
37、設(shè)置的查詢條件,并轉(zhuǎn)向查詢結(jié)果頁面顯示數(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é)果頁面</p><p><b> 9. }</b></p><p> 第4~7行使用Session來存放查詢條件;</p><p> 第8行轉(zhuǎn)向查詢結(jié)果頁面。</p><p><b> 2.檢索結(jié)果頁面&
41、lt;/b></p><p> 查詢結(jié)果頁面用于顯示根據(jù)傳遞過來的參數(shù)查詢出的數(shù)據(jù)。</p><p> 圖4-3 檢索結(jié)果頁面</p><p> 該頁面用來顯示查詢結(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ù)組對象Params;</p><p> 第5行創(chuàng)建DataBase類對象DB;</p><p>
48、 第6~13行使用DataBase類方法MakeInParam方法實例化參數(shù),并將參數(shù)存放在 Params對象中;</p><p> 第14行使用DataBase類方法GetDataSet方法查詢數(shù)據(jù),并將結(jié)果賦給DataSet對象;</p><p> 第16行說明指示DataTable對象中的字符串比較不區(qū)分大小寫;<
49、;/p><p> 第17~18行為GirdView控件指定數(shù)據(jù)源并綁定數(shù)據(jù)。</p><p><b> 書刊詳細信息</b></p><p> 書刊詳細信息用于顯示圖書的詳細信息,通過傳遞過來的書號進行查詢,將查詢到的結(jié)果放在相應(yīng)的控件中顯示。</p><p> 圖 4-4 書刊詳細信息頁面</p>&
50、lt;p> 該頁面用來顯示圖書詳細信息,在頁面的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. //顯示書刊詳細信息</p&
52、gt;<p> 2. private void ShowBookDetails()</p><p><b> 3. {</b></p><p> 4. int bookID = int.Parse(Request["bookID"].ToString());//取出傳遞過來的書號</p><p&
53、gt; 5. Book book = new Book();//創(chuàng)建Book對象</p><p> 6. if (book.LoadData(bookID))//根據(jù)書號查詢書刊詳細信息,如果查詢到</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類對象</p><p> 22. if (db.GetRecord("select * from Borrow where BookID=" + b
59、ookID + " and 23.BorrowState=0"))//查詢該圖書是否可借</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("顯示圖書信息失敗!");</p><p><b> 35. }</b></p><p><b>
62、 36. }</b></p><p> 第4行獲取傳遞過來的參數(shù)bookID號;</p><p> 第5行創(chuàng)建Book類對象book;</p><p> 第6行使用Book類方法LoadData方法來查詢書刊詳細信息,并返回查詢結(jié)果;</p><p> 第8~20行將查詢出的圖書詳細信息分別賦給相應(yīng)的控件顯示;</
63、p><p> 第21行創(chuàng)建DataBase類對象db;</p><p> 第22~30行使用DataBase類的GetRecord方法查詢該圖書是否可借,并給出相應(yīng)提示。</p><p> 4.讀者書目高級檢索</p><p> 讀者書目高級檢索頁面用于實現(xiàn)讀者對圖書信息的高級查詢功能。</p><p> 圖4-
64、5 讀者高級檢索頁面</p><p> “高級搜索”單擊事件代碼:</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. //高級搜索按鈕事件</p><p> 2. private void GridViewBind()</p><p><b> 3. {</b></p><p> 4. Hash
66、table ht = new Hashtable(); //創(chuàng)建哈希表對象</p><p> 5. if (txtBookID.Text.Trim() != "")//當條件輸入框不為空時,將條件添加到哈希表中</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(); //實例化一個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)建哈希表對象ht;</p><p> 第5~16行判斷每個查詢條件,如果不為空,添加到哈希表中;</p><p> 第17行創(chuàng)建DataBase類對象db;</p>&l
75、t;p> 第18行使用DataBase類的AdvancedSearch方法進行查詢圖書信息,并將查詢結(jié)果賦給GridView控件;</p><p> 在該頁面中單擊查詢出的圖書書名超鏈接,同樣轉(zhuǎn)向該圖書的詳細信息頁面。</p><p> 3.3 讀者管理模塊</p><p><b> 讀者登錄</b></p>&l
76、t;p> 讀者登錄頁面用于完成讀者登錄系統(tǒng)的功能,是讀者查看自身基本信息以及借閱情況的登錄頁面。需要用戶輸入的信息在登錄頁面下方給予了相應(yīng)提示。當讀者單擊“登錄”按鈕時,系統(tǒng)將根據(jù)用戶的輸入對其進行身份驗證,流程如圖:</p><p><b> 頁面輸入: </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 讀者登錄頁面</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()))//驗證用戶是否存在并取出用戶密碼和權(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對象存儲用戶名和權(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//密碼錯誤,給出提示</p><p&
82、gt; 14. {</p><p> 15. lblMessage.Text = "您輸入的密碼錯誤";</p><p> 16. }</p><p> 17. }</p><p> 18. else//用戶不存在&
83、lt;/p><p> 19. {</p><p> 20. lblMessage.Text = "您輸入的用戶名錯誤!";</p><p> 21. }</p><p><b> 22. }</b></p><p> 第4
84、行創(chuàng)建User類對象User;</p><p> 第5行判斷用戶是否存在和查詢用戶的密碼和權(quán)限;</p><p> 第7~16行,判斷用戶輸入的密碼和數(shù)據(jù)庫密碼是否一致,如果相同,存儲用戶的用戶名和權(quán)限并轉(zhuǎn)到讀者主頁面;如果不同,給出密碼錯誤提示;</p><p> 第18~21行給出用戶不存在的錯誤提示。</p><p><b&
85、gt; 2.讀者信息主頁面</b></p><p> 在該頁面可以顯示讀者自己目前的信息,還進行書目檢索,查詢自己所有的書刊借閱情況以及修改密碼等。</p><p> 圖4-7 讀者信息主頁面</p><p><b> 3.管理員登錄</b></p><p> 管理員登錄頁面實現(xiàn)管理員登錄功能。該頁
86、面具有自動導航的功能,不同用戶登錄,根據(jù)其不同身份,將進入不同的系統(tǒng)功能頁,普通管理員進入借書還書頁面,總管理員進入系統(tǒng)管理頁面。</p><p> 圖4-8 管理員登錄頁面</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對象user</p><p> 5. if (user.CheckPas
88、sword(txtUserID.Text.Trim()))//根據(jù)用戶編號查詢用戶密碼</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();//存儲用戶編號</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//密碼錯誤,給出提示</p><p> 20. {</p><p> 21. lbl_message.Text = "您輸入的密碼錯誤!";</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類對象user;</p><p> 第5~23行查詢用戶密碼,且該用戶存在,其中7~18行為輸入密碼與查詢到用戶密碼相同,然后根據(jù)權(quán)限轉(zhuǎn)向不同頁面;第19~22行密碼輸入錯誤,給出提示;</p><p> 第24~27行為
95、用戶不存在,給出提示。</p><p> 3.4 圖書管理模塊</p><p><b> 添加用戶信息</b></p><p> 添加用戶頁面實現(xiàn)向數(shù)據(jù)庫中添加用戶信息功能。</p><p> 圖4-9 添加用戶頁面</p><p> 在該頁面中,用戶類型使用SqlDataSource來
96、實現(xiàn)從數(shù)據(jù)庫中取出權(quán)限放到下拉列框中。按照填寫要求填寫用戶信息,然后單擊“添加”按鈕實現(xiàn)將用戶信息添加到數(shù)據(jù)庫中?!疤砑印卑粹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對象user</p>
98、<p> 7. user.UserID = txtUserID.Text.Trim();</p><p> 8. if (!user.CheckUser(user.UserID))//使用CheckUser方法驗證用戶是否存在</p><p> 9. {</p><p> 10.
99、 //為user對象屬性賦值</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ù)庫中存在具有該編號
105、的用戶,請重新輸入!";</p><p> 30. }</p><p> 31. }</p><p><b> 32. }</b></p><p> 第4行如果頁面驗證有效執(zhí)行if語句;</p><p> 第6行創(chuàng)建Users類對象user;<
106、;/p><p> 第8行使用使用Users類CheckUser方法檢查要添加用戶數(shù)據(jù)庫中是否存在,若存在給出提示,若不存在執(zhí)行插入操作;</p><p> 第11~17行為user對象屬性賦值;</p><p> 第18行使用InsertByProc方法插入用戶,并根據(jù)執(zhí)行結(jié)果給出相應(yīng)提示信息。</p><p><b> 2.添
107、加圖書信息</b></p><p> 添加圖書頁面實現(xiàn)向數(shù)據(jù)庫中添加圖書信息功能。</p><p> 圖4-10 添加圖書信息頁面</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類對象book</p><p> 7. book.BookName = txtName.Text.Trim();//為book對象各屬性賦值</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ù)庫添加圖書信息</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 = "添加書刊失?。?quot;;</p><p>
116、 27. }</p><p> 28. }</p><p><b> 29. }</b></p><p> 第4行如果頁面驗證有效執(zhí)行if語句;</p><p> 第6行創(chuàng)建Book對象book;</p><p> 第7~19行為book對象屬
117、性賦值;</p><p> 第20行使用InsertByproc方法向數(shù)據(jù)庫中添加圖書信息,并根據(jù)執(zhí)行結(jié)果給用戶相應(yīng)提示信息。</p><p><b> 3.圖書信息維護</b></p><p> 圖書信息列表頁面顯示了所有圖書信息,在該頁面,總管理員可以實現(xiàn)對圖書信息的查詢、刪除,并可以通過單擊每本圖書題名超鏈接轉(zhuǎn)到圖書詳細信息列表,對
118、圖書詳細信息進行修改和查看,下面對其功能進行介紹。</p><p> 圖 4-11 書刊信息頁面</p><p> 首先,在該頁面中使用添加自定義方法來為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> 在該頁面中還可以實現(xiàn)刪除圖書信息。改功能可以通過GridView行中的“刪除”按鈕來實現(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()); //取出要刪除記錄的主鍵值</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等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 圖書管理系統(tǒng)-畢業(yè)設(shè)計論文
- 圖書管理系統(tǒng)畢業(yè)設(shè)計論文
- 畢業(yè)設(shè)計(論文)-圖書管理系統(tǒng)
- 畢業(yè)設(shè)計論文(圖書管理系統(tǒng))
- 圖書管理系統(tǒng)--畢業(yè)設(shè)計論文
- 畢業(yè)設(shè)計論文---圖書管理系統(tǒng)
- 圖書管理系統(tǒng)畢業(yè)設(shè)計論文
- 圖書管理系統(tǒng)--畢業(yè)設(shè)計論文
- 圖書管理系統(tǒng)畢業(yè)設(shè)計(論文)
- 圖書管理系統(tǒng)-畢業(yè)設(shè)計論文
- 畢業(yè)設(shè)計---vb圖書管理系統(tǒng)_論文
- vb圖書管理系統(tǒng)畢業(yè)設(shè)計論文
- 畢業(yè)設(shè)計(論文)+圖書管理系統(tǒng)畢業(yè)論文
- 畢業(yè)設(shè)計--圖書管理系統(tǒng)
- 圖書管理系統(tǒng) 畢業(yè)設(shè)計
- 圖書管理系統(tǒng)畢業(yè)設(shè)計
- 畢業(yè)設(shè)計---圖書管理系統(tǒng)
- 圖書管理系統(tǒng)畢業(yè)設(shè)計
- 畢業(yè)設(shè)計-----圖書管理系統(tǒng)
- 畢業(yè)設(shè)計-----圖書管理系統(tǒng)
評論
0/150
提交評論