版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、An Introduction to Database System數(shù)據(jù)庫原理(yunl)及應(yīng)用Principles and Applications of the Database 第11章 基于ASP.NET的圖書(tsh)管理系統(tǒng)仲愷農(nóng)業(yè)工程學(xué)院 計(jì)算機(jī)科學(xué)與工程學(xué)院共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院第11章 基于(jy)ASP.NET的圖書管理系統(tǒng)本章導(dǎo)讀了解:SQL Server 2005網(wǎng)頁布局創(chuàng)建理解:ASP.NET網(wǎng)站的創(chuàng)建過程 掌握:ASP.NET網(wǎng)站的構(gòu)架、各個(gè)部分的組成、C#訪問數(shù)據(jù)庫技術(shù)、C#內(nèi)部數(shù)據(jù)處理及顯示共一百二十七頁仲愷農(nóng)業(yè)(nngy
2、)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院第11章 基于(jy)ASP.NET的圖書管理系統(tǒng)重點(diǎn): 1 ASP.NET網(wǎng)站的編程2 ASP.NET網(wǎng)站的訪問數(shù)據(jù)庫技術(shù)難點(diǎn): 1SQL Server 2005存儲(chǔ)過程的參數(shù)傳遞2SQL Server 2005聚集計(jì)算 / / / / / / / / / / / 共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院第11章 基于(jy)ASP.NET的圖書管理系統(tǒng)本章要點(diǎn)SQL Server 2005數(shù)據(jù)庫、表、存儲(chǔ)過程的創(chuàng)建ASP.Net網(wǎng)站的創(chuàng)建頁面框架設(shè)計(jì)圖書管理系統(tǒng)的登錄管理圖書管理系統(tǒng)的系統(tǒng)管理員管理圖書管理系統(tǒng)的圖書管理員管理圖書管理系統(tǒng)
3、的讀者模塊管理共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院第11章 基于(jy)ASP.NET的圖書管理系統(tǒng)11.1 創(chuàng)建SQL Server 2005數(shù)據(jù)庫11.2 創(chuàng)建圖書管理系統(tǒng)網(wǎng)站11.3 公用模塊編寫11.4 登錄模塊11.5 系統(tǒng)管理員管理11.6 圖書管理員管理11.7 讀者管理本章小結(jié)共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院11.1 創(chuàng)建(chungjin)SQL Server 2005數(shù)據(jù)庫11.1.1 創(chuàng)建數(shù)據(jù)庫11.1.2 創(chuàng)建數(shù)據(jù)表11.1.3 創(chuàng)建存儲(chǔ)過程共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院11.1.1
4、 創(chuàng)建(chungjin)數(shù)據(jù)庫在SQL Server Management Studio中創(chuàng)建數(shù)據(jù)庫利用T-SQL語句創(chuàng)建數(shù)據(jù)庫共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院1在SQL Server Management Studio中創(chuàng)建(chungjin)數(shù)據(jù)庫“常規(guī)”選擇頁 “選項(xiàng)”選擇頁 “文件組”選擇頁 共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院2利用T-SQL語句(yj)創(chuàng)建數(shù)據(jù)庫CREATE DATABASE LibraryLib ON ( NAME=LibraryLib_data, /*指定文件的邏輯名稱*/ FILENAME=C:Libr
5、aryLibLibraryLib_data.mdf, SIZE=4, MAXSIZE=10, /*指定最大的文件大小*/ FILEGROWTH=10%) /*指定文件增長的百分比*/ LOG ON ( NAME=LibraryLib_log, /*指定文件的邏輯名稱*/ FILENAME=C: LibraryLibLibraryLib_log.mdf, SIZE=1, /*指定文件大小*/ MAXSIZE=6, /*指定最大的文件大小*/ FILEGROWTH=1) /*指定文件增長的增量*/ GO共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院11.1 創(chuàng)建(chungjin)
6、SQL Server 2005數(shù)據(jù)庫11.1.1 創(chuàng)建數(shù)據(jù)庫11.1.2 創(chuàng)建數(shù)據(jù)表11.1.3 創(chuàng)建存儲(chǔ)過程共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院11.1.2 創(chuàng)建(chungjin)數(shù)據(jù)表圖書管理系統(tǒng)數(shù)據(jù)庫8個(gè)表增加了一個(gè)系統(tǒng)用戶權(quán)限表主要是為了對用戶分類:系統(tǒng)管理員、圖書管理員、讀者有些字段與設(shè)計(jì)時(shí)稍微有些區(qū)別,主要是為了編程的方便、更加符合實(shí)際需要改動(dòng)的 共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院11.1.2 創(chuàng)建(chungjin)數(shù)據(jù)表1SQLServer Management Studio圖形模式創(chuàng)建表2T-SQL語句模式創(chuàng)建表共一百二
7、十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院1SQLServer Management Studio圖形(txng)模式創(chuàng)建表共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院1SQLServer Management Studio圖形模式(msh)創(chuàng)建表共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院1SQLServer Management Studio圖形模式(msh)創(chuàng)建表共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院2T-SQL語句(yj)模式創(chuàng)建表SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER O
8、NGOIF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(Ndbo.Users) AND type in (NU)BEGINCREATE TABLE dbo.Users(UserID varchar(20) NOT NULL,UserPassword varchar(20) NOT NULL,UserPower int NOT NULL,UserName varchar(20) NOT NULL,UserSex bit NOT NULL,UserDepart varchar(40) NOT NULL,User
9、Telephone varchar(14) NULL,UserEMail varchar(30) NULL,UserInSystemDate datetime NULL,UserBorrowedBooks int NOT NULL CONSTRAINT DF_Users_UserBorrowedBooks DEFAULT (0), CONSTRAINT PK_Users PRIMARY KEY CLUSTERED (UserID ASC)WITH (IGNORE_DUP_KEY = OFF) ON PRIMARY) ON PRIMARYENDGO共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)
10、科學(xué)與工程學(xué)院11.1 創(chuàng)建(chungjin)SQL Server 2005數(shù)據(jù)庫11.1.1 創(chuàng)建數(shù)據(jù)庫11.1.2 創(chuàng)建數(shù)據(jù)表11.1.3 創(chuàng)建存儲(chǔ)過程共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院11.1.3 創(chuàng)建存儲(chǔ)(cn ch)過程用戶的添加存儲(chǔ)過程Proc_UsersAddCREATE PROCEDURE dbo.Proc_UsersAdd(UserIDvarchar(50), UserPassword varchar(50), UserPower int, UserName varchar(50), UserSex bit, UserDepart varchar
11、(50), UserTelephone varchar(50), UserEMail varchar(50)AS INSERT INTO dbo.Users (UserID,UserPassword,UserPower,UserName,UserSex, UserDepart, UserTelephone, UserEMail) VALUES ( UserID, UserPassword, UserPower, UserName, UserSex, UserDepart, UserTelephone, UserEMail)共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院第11章
12、基于(jy)ASP.NET的圖書管理系統(tǒng)11.1 創(chuàng)建SQL Server 2005數(shù)據(jù)庫11.2 創(chuàng)建圖書管理系統(tǒng)網(wǎng)站11.3 公用模塊編寫11.4 登錄模塊11.5 系統(tǒng)管理員管理11.6 圖書管理員管理11.7 讀者管理本章小結(jié)共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院11.2 創(chuàng)建圖書(tsh)管理系統(tǒng)網(wǎng)站11.2.1 IIS服務(wù)器創(chuàng)建網(wǎng)站11.2.2 用Visual Studio 2005來創(chuàng)建一個(gè)網(wǎng)站共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院第11章 基于(jy)ASP.NET的圖書管理系統(tǒng)11.1 創(chuàng)建SQL Server 2005數(shù)據(jù)庫1
13、1.2 創(chuàng)建圖書管理系統(tǒng)網(wǎng)站11.3 公用模塊編寫11.4 登錄模塊11.5 系統(tǒng)管理員管理11.6 圖書管理員管理11.7 讀者管理本章小結(jié)共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院11.3 公用模塊(m kui)編寫11.3.1 數(shù)據(jù)庫連接編寫11.3.2 數(shù)據(jù)庫操作DataBase類11.3.3 圖書信息Book類11.3.3 借還Borrow類11.3.3 用戶信息Users類共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院11.3.1 數(shù)據(jù)庫連接(linji)編寫共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院11.3 公用(gngyn
14、g)模塊編寫11.3.1 數(shù)據(jù)庫連接編寫11.3.2 數(shù)據(jù)庫操作DataBase類11.3.3 圖書信息Book類11.3.3 借還Borrow類11.3.3 用戶信息Users類共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院11.3.2 數(shù)據(jù)庫操作(cozu)DataBase類public class DataBaseprotected SqlConnection Connection; /SQL連接對象,每個(gè)用戶只保存一個(gè) protected string ConnectionString; /系統(tǒng)獲取public DataBase();/獲取Web.Config數(shù)據(jù)庫訪問
15、串保存私有字符串變量private void Open();/打開數(shù)據(jù)庫連接,連接保存自傲私有變量中。public void Close();/關(guān)閉數(shù)據(jù)庫連接DataBase();/析構(gòu)函數(shù),釋放非托管資源public void Dispose();/釋放資源public bool GetRecord(string XSqlString);/ Sql語句返回是否查到記錄public int GetRecordCount(string XSqlString);/返回Sql語句獲得的數(shù)據(jù)值 /根據(jù)XWhere更新數(shù)據(jù)表XTableName中的某些紀(jì)錄,XTableName-表名public Dat
16、aSet AdvancedSearch(string XTableName, Hashtable XHT); /用于查詢指定的讀者有沒有超期罰款沒有繳納,獲取超期圖書的列表信息 public DataSet AdvancedSearchFee(string strUserID); 共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院11.3.2 數(shù)據(jù)庫操作(cozu)DataBase類/用于查詢指定的讀者超期圖書罰款的總額 public double GetUserTotalFee(string strUserID); public int TurnInUserFee(string
17、strUserID);/指定的用戶交齊了罰款 private SqlCommand CreateCommand(string ProcName, SqlParameter Prams); public SqlParameter MakeParam(string ParamName, SqlDbType DbType, Int32 Size, ParameterDirection Direction, object Value) ; /實(shí)例化一個(gè)用于調(diào)用存儲(chǔ)過程的參數(shù) public SqlParameter MakeInParam(string ParamName, SqlDbType DbTy
18、pe, int Size, object Value) ; /實(shí)例化一個(gè)用于調(diào)用存儲(chǔ)過程的輸入?yún)?shù) public int RunProc(string ProcName) ; /調(diào)用存儲(chǔ)過程(不帶參數(shù)) public int RunProc(string ProcName, SqlParameter Params); /存儲(chǔ)過程(帶參數(shù)) public SqlDataReader RunProcGetReader(string ProcName); public SqlDataReader RunProcGetReader(string ProcName, SqlParameter Param
19、s); public int RunProcGetCount(string ProcName, SqlParameter Params); public DataSet GetDataSet(string ProcName); /調(diào)用存儲(chǔ)過程(不帶參數(shù)) public DataSet GetDataSet(string ProcName, SqlParameter Params);共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院11.3 公用模塊(m kui)編寫11.3.1 數(shù)據(jù)庫連接編寫11.3.2 數(shù)據(jù)庫操作DataBase類11.3.3 圖書信息Book類11.3.3 借
20、還Borrow類11.3.3 用戶信息Users類共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院11.3.3 圖書(tsh)信息Book類 public class Book /Book類的私有數(shù)據(jù)成員 private int _bookID; /書順序號(hào) private string _bookName; /書名 private string _bookISBN; /ISBN private string _bookAuthor; /作者 private int _bookPublishID; /出版社的順序號(hào) private DateTime _bookPublishDat
21、e; /出版時(shí)間 private int _bookClassID; /圖書類別 private string _bookSubject; /主題 private double _bookPrice; /價(jià)格 private int _bookPageNum; /頁數(shù) private string _bookSeries; /圖書系列 private string _bookDescription; /描述 private int _bookNum; /本書的總數(shù) private int _bookCurNum; /本書的當(dāng)前庫存 private string _bookPublishName
22、; /圖書出版社的名稱 private string _bookClassName; /圖書的類別名稱 private int _bookBorrowDays; /圖書可以借出的天數(shù) private double _bookFee; /超期罰款的金額共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院11.3.3 圖書(tsh)信息Book類/Book類的屬性實(shí)現(xiàn) public int BookID set this._bookID = value; get return this._bookID; public string BookName set this._bookName
23、= value; get return this._bookName; /其他屬性類似定義實(shí)現(xiàn)共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院11.3.3 圖書(tsh)信息Book類 /Book類的方法 public bool LoadData(int XBookID);/根據(jù)書順序號(hào) BookID 初始化 public bool CheckBook(string XBookID);/根據(jù)BookID判斷該圖書是否存在 public bool InsertByProc();/向Books表中添加書籍信息(采用存儲(chǔ)過程) public bool UpdateByProc(int
24、XBookID); /更新書籍的信息 /以刪除指定的圖書信息為例,使用SqlParameter、DataBase類調(diào)用 public bool DeleteByProc(int XBookID) SqlParameter Params = new SqlParameter1; DataBase DB = new DataBase(); Params0 = DB.MakeInParam(BookID, SqlDbType.Int, 4, XBookID); int Count = -1; Count = DB.RunProc(Proc_BookDelete, Params); if (Count
25、 0) return true; else return false; public DataSet QueryBooks();/查詢所有書籍 共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院11.3 公用(gngyng)模塊編寫11.3.1 數(shù)據(jù)庫連接編寫11.3.2 數(shù)據(jù)庫操作DataBase類11.3.3 圖書信息Book類11.3.3 借還Borrow類11.3.3 用戶信息Users類共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院11.3.3 借還Borrow類 public class Borrow private int _borrowID; /借書
26、號(hào),是系統(tǒng)在借書成功時(shí)自動(dòng)生成的 private string _userID; /用戶編號(hào),借書證序號(hào) private int _bookID; /書號(hào),圖書(tsh)的順序號(hào) private DateTime _borrowBeginDate; /借書時(shí)間 /還書時(shí)間,根據(jù)書的類別設(shè)定的 private DateTime _borrowEndDate; private string _managerID; /借出書的圖書管理員 private string _managerReturnID;/還書的圖書管理員 private int _bookCurNum; /指定bookID的庫存數(shù) /
27、指定userID的已借圖書冊數(shù) private int _userBorrowedBooks; private double _bookFee; /該圖書超期,則每天罰款金額/Borrow類的屬性實(shí)現(xiàn)共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院11.3.3 借還Borrow類 /Borrow類的方法 public bool BorrowBookByProc();/向Borrow表中添加借閱信息(借書) /向Book表中更新借還書時(shí),圖書表中該圖書的庫存數(shù)量 public bool UpdateBookCurNumByProc(); /向User表中更新借還書時(shí),用戶已借圖書數(shù)
28、量的值 public bool UpdateUserBorrowedBooksByProc(); /要?dú)w還書,首先要查詢借出數(shù)據(jù)庫中是否存在該書,如果存在, /返回(fnhu)該書信息到本對象中,用于向歷史數(shù)據(jù)庫中保存信息 public bool LoadBorrowData(string XUserID,int XBookID); /同一個(gè)讀者,不能借同一個(gè)bookid兩本圖書,本函數(shù)就是一個(gè)判斷 public bool SearchUserBorrowData(string XUserID, int XBookID) ; public bool AddBorrowRecToHistoryB
29、yProc();/還書,超期則添加到罰款表 public bool AddExtraDateFeeByProc(DateTime dtCurrentDateTime) ; private double GetBookFee(int ixBookID); public DataSet QueryBorrowHistory(string XUserID); public DataSet QueryCurrentBorrow(string XUserID); public DataSet QueryExpireBorrow(string XUserID); 共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院
30、計(jì)算機(jī)科學(xué)與工程學(xué)院11.3 公用模塊(m kui)編寫11.3.1 數(shù)據(jù)庫連接編寫11.3.2 數(shù)據(jù)庫操作DataBase類11.3.3 圖書信息Book類11.3.3 借還Borrow類11.3.3 用戶信息Users類共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院11.3.3 用戶(yngh)信息Users類 public class Users private string _userID; /用戶編號(hào) private string _userPassword; /用戶密碼 private int _userPower; /用戶權(quán)限 private string _us
31、erName; /用戶姓名 private bool _userSex; /用戶性別 private string _userDepart; /用戶系院 private string _userTelephone; /用戶電話 private string _userEMail; /用戶E_Mail private int _userBorrowedBooks; /用戶當(dāng)前借的圖書冊數(shù)/Users類的屬性實(shí)現(xiàn)共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院11.3.3 用戶(yngh)信息Users類 /Users類的方法 public bool LoadData(string
32、XUserID);/根據(jù)用戶 UserID 初始化該用戶 public bool CheckUser(string XUserID);/根據(jù)UserID判斷該用戶是否存在/根據(jù)UserID和UserPassword判斷密碼是否正確,取出用戶密碼和權(quán)限 public bool CheckPassword(string XUserID); public bool InsertByProc(); /向Users表中添加用戶信息 public bool UpdateByProc(string XUserID);/更新用戶的信息 public bool UpdateMessage(string XUse
33、rID); /更新讀者聯(lián)系方式 public bool DeleteByProc(string XUserID) ; /刪除用戶 public DataSet QueryUsers();/查詢所用用戶 public bool ModifyPassword(string XUserID); /修改用戶的密碼 共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院第11章 基于(jy)ASP.NET的圖書管理系統(tǒng)11.1 創(chuàng)建SQL Server 2005數(shù)據(jù)庫11.2 創(chuàng)建圖書管理系統(tǒng)網(wǎng)站11.3 公用模塊編寫11.4 登錄模塊11.5 系統(tǒng)管理員管理11.6 圖書管理員管理11.7 讀
34、者管理本章小結(jié)共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院11.4 登錄(dn l)模塊11.4.1 登錄模塊界面11.4.2 登錄模塊設(shè)計(jì)11.4.3 頁面框架設(shè)計(jì)共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院11.4.1 登錄模塊(m kui)界面共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院11.4 登錄(dn l)模塊11.4.1 登錄模塊界面11.4.2 登錄模塊設(shè)計(jì)11.4.3 頁面框架設(shè)計(jì)共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院11.4.2 登錄(dn l)模塊設(shè)計(jì)共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)
35、算機(jī)科學(xué)與工程學(xué)院11.4.2 登錄模塊(m kui)設(shè)計(jì) protected void imgBtnLogin_Click(object sender, ImageClickEventArgs e) Users user = new Users(); /創(chuàng)建Users對象user /根據(jù)用戶編號(hào)查詢用戶密碼 if (user.CheckPassword(txtUserID.Text.Trim() /輸入密碼與用戶密碼相同 if (user.UserPassword = txtPwd.Text.Trim() if (user.UserPower = 1) /如果該用戶是系統(tǒng)管理員 Sessio
36、nuserID = txtUserID.Text.Trim(); /存儲(chǔ)用戶名 SessionuserName = user.UserName; /存儲(chǔ)用戶名稱 SessionuserPower = user.UserPower; /存儲(chǔ)用戶類型 Response.Redirect(adminMain.aspx); /轉(zhuǎn)向總管理員操作界面 else if (user.UserPower = 2) /用戶是借還書管理員 SessionuserID = txtUserID.Text.Trim(); /存儲(chǔ)用戶名 SessionuserName = user.UserName; /存儲(chǔ)用戶名稱 Se
37、ssionuserPower = user.UserPower; /存儲(chǔ)用戶類型 Response.Redirect(managerMain.aspx);/轉(zhuǎn)向借書還書界面 共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院11.4.2 登錄模塊(m kui)設(shè)計(jì) else if (user.UserPower = 3) | (user.UserPower = 4) /用戶是讀者 SessionuserID = txtUserID.Text.Trim(); /存儲(chǔ)用戶名 SessionuserName = user.UserName; /存儲(chǔ)用戶名稱 SessionuserPowe
38、r = user.UserPower; /存儲(chǔ)用戶類型 Response.Redirect(readerMain.aspx);/讀者信息操作界面 else lbl_message.Text = 數(shù)據(jù)庫出錯(cuò),請系統(tǒng)管理員排除故障; else lbl_message.Text = 您輸入的密碼錯(cuò)誤!; else lbl_message.Text = 該用戶不存在!; 共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院11.4 登錄(dn l)模塊11.4.1 登錄模塊界面11.4.2 登錄模塊設(shè)計(jì)11.4.3 頁面框架設(shè)計(jì)共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院1
39、1.4.3 頁面框架(kun ji)設(shè)計(jì)上左右結(jié)構(gòu)設(shè)計(jì)的頁面框架上部分是平臺(tái)類別和操作人員姓名 右部分是各種功能的操作空間,是一個(gè)左部分是一個(gè)ASP.NET組件構(gòu)成的操作菜單, TreeView控件中每個(gè)樹節(jié)點(diǎn)的Target目標(biāo)是frameMain 共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院11.4.3 頁面框架(kun ji)設(shè)計(jì)共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院第11章 基于(jy)ASP.NET的圖書管理系統(tǒng)11.1 創(chuàng)建SQL Server 2005數(shù)據(jù)庫11.2 創(chuàng)建圖書管理系統(tǒng)網(wǎng)站11.3 公用模塊編寫11.4 登錄模塊11.5 系統(tǒng)
40、管理員管理11.6 圖書管理員管理11.7 讀者管理本章小結(jié)共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院11.5 系統(tǒng)管理(gunl)員管理(gunl)11.5.1系統(tǒng)管理員管理平臺(tái)界面11.5.2用戶管理11.5.3圖書管理11.5.4圖書類別管理11.5.5出版社管理共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院11.5.1系統(tǒng)管理員管理平臺(tái)(pngti)界面共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院11.5.1系統(tǒng)管理(gunl)員管理(gunl)平臺(tái)界面 protected void imgBtnModifyPwd_Click(ob
41、ject sender, ImageClickEventArgs e) Users user = new Users();/創(chuàng)建Users對象user if (user.CheckPassword(this.SessionuserID.ToString() /驗(yàn)證用戶輸入原密碼 user.UserPassword = txtNewPwd.Text.Trim(); /更改用戶密碼 if user.ModifyPassword(this.SessionuserID.ToString() lblMessage.Text = 成功修改密碼!; else lblMessage.Text = 修改密碼失敗
42、!; else lblMessage.Text = 輸入原密碼錯(cuò)誤,請重新輸入!; 共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院11.5 系統(tǒng)管理(gunl)員管理(gunl)11.5.1系統(tǒng)管理員管理平臺(tái)界面11.5.2用戶管理11.5.3圖書管理11.5.4圖書類別管理11.5.5出版社管理共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院11.5.2用戶(yngh)管理1. 添加用戶2. 用戶維護(hù)共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院1. 添加(tin ji)用戶共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院1. 添加
43、(tin ji)用戶 protected void imgBtnAdd_Click(object sender, ImageClickEventArgs e) if (Page.IsValid) Users user = new Users();/創(chuàng)建Users對象user user.UserID = txtUserID.Text.Trim(); if (!user.CheckUser(user.UserID) /驗(yàn)證用戶是否存在 user.UserPassword = txtPassword.Text.Trim(); user.UserPower = Convert.ToInt16(ddlU
44、serPower.SelectedValue); user.UserName = txtUserName.Text.Trim(); user.UserSex = Convert.ToBoolean(rblUserSex.SelectedValue); user.UserDepart = txtUserDepart.Text.Trim(); user.UserTelephone = txtUserTelephone.Text.Trim(); user.UserEMail = txtUserEMail.Text.Trim(); if (user.InsertByProc()/執(zhí)行插入用戶操作 lb
45、lMessage.Text = 成功添加用戶!; else lblMessage.Text = 添加用戶失?。? else lblMessage.Text = 數(shù)據(jù)庫中存在具有該編號(hào)的用戶,請重新輸入!; 共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院2. 用戶(yngh)維護(hù)共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院2. 用戶(yngh)維護(hù) /為GridView控件綁定數(shù)據(jù) private void GridViewBind() Users user = new Users();/創(chuàng)建Users類對象user DataSet ds=user.QueryU
46、sers();/查詢所有用戶信息 /為GridView控件指名數(shù)據(jù)源 GridView1.DataSource = ds; GridView1.DataBind();/GridView控件綁定數(shù)據(jù) /頁面裝載時(shí)的處理protected void Page_Load(object sender, EventArgs e) if (!this.IsPostBack) GridViewBind(); 共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院2. 用戶(yngh)維護(hù)/GridView控件數(shù)據(jù)綁定事件處理 protected void GridView1_RowDataBound
47、(object sender, GridViewRowEventArgs e) if (DropDownList)e.Row.FindControl(ddlPower) != null) DropDownList ddlpower = (DropDownList)e.Row.FindControl(ddlPower); / 生成 DropDownList 的值,綁定數(shù)據(jù) String connStr = ConfigurationManager. ConnectionStrings ConnectionString. ConnectionString; DataSet ds = new Dat
48、aSet(); SqlConnection conn = new SqlConnection(connStr); if (conn.State.ToString() = Closed) conn.Open(); SqlDataAdapter da = new SqlDataAdapter(Proc_PowerList, conn); da.Fill(ds); if (conn.State.ToString() = Open) conn.Close(); ddlpower.DataSource = ds.Tables0.DefaultView; ddlpower.DataTextField =
49、Name; ddlpower.DataValueField = ID; ddlpower.DataBind(); ddlpower.SelectedItem.Text = (HiddenField)e.Row.FindControl(hdfPower).Value; 共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院2. 用戶(yngh)維護(hù) /GridView控件RowDeleting事件 protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) /主鍵值 string userI
50、D = GridView1.DataKeyse.RowIndex.Values0.ToString(); /創(chuàng)建Users類對象user Users user = new Users(); if (user.DeleteByProc(userID) /根據(jù)主鍵使用DeleteByProc方法刪除用戶 Response.Write(alert(刪除成功!); else Response.Write(alert(刪除失敗!); GridView1.EditIndex = -1; GridViewBind();/重新綁定數(shù)據(jù) 共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院2. 用戶(
51、yngh)維護(hù) /GridView控件行編輯事件 protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e) /編輯項(xiàng)索引等于單擊行的索引 GridView1.EditIndex = e.NewEditIndex; GridViewBind(); 共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院2. 用戶(yngh)維護(hù) /GridView控件RowUpdating事件 protected void GridView1_RowUpdating(object sender, GridView
52、UpdateEventArgs e) string userID = GridView1.DataKeyse.RowIndex.Values0.ToString(); /主鍵值 Users user = new Users(); user.UserName = (TextBox)GridView1.Rowse.RowIndex.FindControl(txtName).Text; user.UserPower = int.Parse(DropDownList)GridView1.Rowse.RowIndex.FindControl(ddlPower).SelectedValue);/修改后的值
53、 user.UserDepart = (TextBox)GridView1.Rowse.RowIndex.FindControl(txtDepart).Text; user.UserTelephone = GridView1.Rowse.RowIndex.Cells4.Text; user.UserEMail = GridView1.Rowse.RowIndex.Cells5.Text; if (user.UpdateByProc(userID) /修改用戶信息 Response.Write(alert(修改成功!); else Response.Write(alert(修改成功!); Gri
54、dView1.EditIndex = -1; GridViewBind(); 共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院2. 用戶(yngh)維護(hù)共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院2. 用戶(yngh)維護(hù)/頁面裝載時(shí)的處理事件protected void Page_Load(object sender, EventArgs e) if (!this.IsPostBack) string userID = RequestuserID.ToString();/取出傳遞來的參數(shù) Users user = new Users();/創(chuàng)建Users類對象
55、user if (user.LoadData(userID) /根據(jù)用戶編號(hào)查詢 lblUserID.Text = user.UserID;/將對象屬性放在對應(yīng)控件中顯示 ddlUserPower.SelectedValue = user.UserPower.ToString(); txtUserName.Text = user.UserName; txtUserDepart.Text = user.UserDepart; txtUserTelephone.Text = user.UserTelephone; txtUserEMail.Text = user.UserEMail; else R
56、esponse.Write(alert(查詢失敗!); 共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院2. 用戶(yngh)維護(hù) /修改按鈕單擊事件 protected void imgBtnModify_Click(object sender, ImageClickEventArgs e) string userID = lblUserID.Text; Users user = new Users();/創(chuàng)建Users對象 user.UserName = txtUserName.Text.Trim();/為Users各屬性賦值 user.UserPower = int.Par
57、se(ddlUserPower.SelectedValue); user.UserDepart = txtUserDepart.Text.Trim(); user.UserTelephone = txtUserTelephone.Text.Trim(); user.UserEMail = txtUserEMail.Text.Trim(); if (user.UpdateByProc(userID) Response.Write(alert(修改成功!); else Response.Write(alert(修改失敗!); 共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院11.5
58、系統(tǒng)管理(gunl)員管理(gunl)11.5.1系統(tǒng)管理員管理平臺(tái)界面11.5.2用戶管理11.5.3圖書管理11.5.4圖書類別管理11.5.5出版社管理共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院11.5.3圖書(tsh)管理1. 添加圖書2.圖書維護(hù)3.圖書高級(jí)搜索共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院1. 添加(tin ji)圖書共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院1. 添加(tin ji)圖書 /頁面裝載時(shí)給出時(shí)間選擇列表的值 protected void Page_Load(object sender, Even
59、tArgs e) if (!this.IsPostBack) for (int i = 1993; i 2010; i+) ddlYear.Items.Add(i.ToString(); for (int i = 1; i 13; i+) ddlMonth.Items.Add(i.ToString(); for (int i = 1; i 32; i+) ddlDay.Items.Add(i.ToString(); 共一百二十七頁仲愷農(nóng)業(yè)(nngy)工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院1. 添加(tin ji)圖書 /添加圖書按鈕單擊事件 protected void ImageButton1_Cli
60、ck(object sender, ImageClickEventArgs e) if (Page.IsValid) Book book = new Book();/創(chuàng)建Book類對象book book.BookName=txtName.Text.Trim();/為book對象各屬性賦值 book.BookISBN=txtISBN.Text.Trim(); book.BookAuthor=txtAuthor.Text.Trim(); book.BookPublishID = Convert.ToInt16(iiBookPublishID.SelectedValue); book.BookPub
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 模板工程勞務(wù)分包班組合同
- 租賃合同終止的原因分析
- 飼料行業(yè)博覽會(huì)購銷合同
- 專業(yè)財(cái)務(wù)外包協(xié)議范本
- 校園物資訂購協(xié)議
- 政府單位采購合同中的云計(jì)算采購
- 家庭護(hù)理家政服務(wù)雇傭合同
- 高效消毒清潔協(xié)議
- 典型服務(wù)合同示范文本
- 農(nóng)村自來水安裝協(xié)議范本
- 加油站設(shè)備及工藝管線安裝工程施工方案
- 知校·愛?!s校華東師大教職工校史知識(shí)競賽
- 升維:不確定時(shí)代的決策博弈
- 2023北京通州區(qū)初二上期末考生物試卷及答案
- 漁光互補(bǔ)光伏發(fā)電項(xiàng)目選址方案
- 《西式面點(diǎn)實(shí)訓(xùn)》課程標(biāo)準(zhǔn)
- 《旅游職業(yè)禮儀與交往》課程標(biāo)準(zhǔn)
- 咖啡學(xué)概論智慧樹知到答案章節(jié)測試2023年華南理工大學(xué)
- 造價(jià)咨詢公司組織機(jī)構(gòu)及人員崗位職責(zé)
- 《牛頓運(yùn)動(dòng)定律的應(yīng)用》說課課件
- 仁愛英語九年級(jí)上作文范文
評(píng)論
0/150
提交評(píng)論