2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩56頁(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>  數(shù)據(jù)庫(kù)原理課程設(shè)計(jì)報(bào)告</p><p>  題 目: 圖書(shū)出租管理系統(tǒng) </p><p>  學(xué)生姓名: </p><p>  學(xué) 號(hào): </p><p>  班 級(jí):

2、 計(jì)科081 </p><p>  院 系: 計(jì)算機(jī)科學(xué)與信息學(xué)院 </p><p>  專(zhuān)業(yè)年級(jí):  計(jì)算機(jī)科學(xué)與技術(shù)  2008 級(jí) </p><p>  2010 年 12 月 31 日</p><p><b>  一、需求分析</b>&

3、lt;/p><p><b>  1.問(wèn)題描述: </b></p><p>  隨著網(wǎng)絡(luò)化時(shí)代的到來(lái),圖書(shū)出租信息的網(wǎng)絡(luò)化可以大大節(jié)約人工和時(shí)間。為此可以開(kāi)發(fā)出圖書(shū)管理系統(tǒng),廣泛的應(yīng)用于學(xué)校和工業(yè)、商業(yè)、企業(yè)、事業(yè)和行政等單位。實(shí)際上,該系統(tǒng)的實(shí)用性還是比較強(qiáng)的。</p><p><b>  2.系統(tǒng)功能描述</b></p

4、><p><b> ?。?)系統(tǒng)功能描述</b></p><p>  一個(gè)圖書(shū)出租管理系統(tǒng)應(yīng)該提供包括客戶信息管理、圖書(shū)信息管理、出版社信息管理、用戶信息管理、租還書(shū)、綜合查詢等功能。</p><p>  客戶、圖書(shū)、用戶信息的數(shù)據(jù)模塊提供增加、刪除、改變和查詢、瀏覽等基本的數(shù)據(jù)維護(hù)功能。</p><p>  綜合查詢模塊可

5、以通過(guò)用戶選擇的數(shù)據(jù)表和相應(yīng)的查詢條件來(lái)查詢相關(guān)內(nèi)容。</p><p>  客戶租還書(shū)模塊是圖書(shū)出租管理系統(tǒng)的核心功能,實(shí)現(xiàn)客戶和圖書(shū)出租的交互。</p><p><b> ?。?)功能模塊劃分</b></p><p>  圖書(shū)出租管理系統(tǒng)的數(shù)據(jù)庫(kù)功能主要體現(xiàn)在對(duì)各種信息的提供、保存、更新和查詢操作上,包括圖書(shū)信息、用戶信息、客戶信息和租借信息

6、,各個(gè)部分的數(shù)據(jù)內(nèi)容又有內(nèi)在聯(lián)系。針對(duì)該系統(tǒng)的數(shù)據(jù)特點(diǎn),可以總結(jié)出如下的需求。</p><p>  A、用戶和客戶具有不同的身份。</p><p>  B、用戶信息記錄用戶資料。</p><p>  C、客戶信息記錄客戶的詳細(xì)信息。</p><p>  D、圖書(shū)信息記錄圖書(shū)的名稱、出版社等信息。</p><p>  E

7、、租借信息記錄客戶租借圖書(shū)的信息。</p><p>  圖書(shū)出租管理系統(tǒng)應(yīng)該具有客戶信息管理、圖書(shū)信息管理、租還書(shū)和綜合查詢等功能。根據(jù)系統(tǒng)功能的需求分析,我們把該系統(tǒng)的功能劃分為5個(gè)模塊。</p><p>  A、客戶信息維護(hù)模塊</p><p>  B、圖書(shū)信息維護(hù)模塊</p><p>  C、用戶信息管理模塊</p>&l

8、t;p>  D、客戶租還書(shū)管理模塊</p><p><b>  E、綜合查詢模塊</b></p><p>  圖書(shū)出租管理系統(tǒng)的功能模塊如圖所示</p><p>  其中,客戶租還書(shū)管理模塊包括以下3個(gè)子模塊:</p><p><b>  A、租借圖書(shū)</b></p><p

9、><b>  B、歸還圖書(shū)</b></p><p><b>  C、查詢租借信息</b></p><p>  客戶信息維護(hù)模塊包括以下5個(gè)子模塊:</p><p><b>  A、增加客戶信息</b></p><p><b>  B、刪除客戶信息</b&g

10、t;</p><p><b>  C、修改客戶信息</b></p><p><b>  D、查詢客戶信息</b></p><p><b>  E、遍歷客戶信息</b></p><p>  該模塊圖如下圖所示:</p><p>  同理,如圖書(shū)信息管理、用

11、戶信息管理模塊也被類(lèi)似的分為增加、刪除、修改、查詢和遍歷5個(gè)模塊。</p><p><b> ?。?)系統(tǒng)流程分析</b></p><p>  圖書(shū)出租管理系統(tǒng)的開(kāi)發(fā)首先要設(shè)計(jì)一個(gè)登錄系統(tǒng),用戶只有輸入了正確的用戶名和密碼方可進(jìn)入系統(tǒng)內(nèi)部。系統(tǒng)流程圖如下圖所示</p><p><b>  (4)數(shù)據(jù)流程圖</b></

12、p><p> ?。?)系統(tǒng)功能分析和需求總結(jié)后,設(shè)計(jì)如下的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)</p><p>  A、圖書(shū)信息,包括圖書(shū)編號(hào)、圖書(shū)名稱、作者等數(shù)據(jù)項(xiàng)</p><p>  B、租書(shū)信息,包括客戶編號(hào)、圖書(shū)編號(hào)、租借日期等數(shù)據(jù)項(xiàng)。</p><p>  C、客戶信息,包括客戶編號(hào)、姓名、密碼等數(shù)據(jù)項(xiàng)。</p><p>  D、用戶信

13、息,包括用戶編號(hào)、密碼、分類(lèi)等數(shù)據(jù)項(xiàng)。</p><p>  3.系統(tǒng)使用權(quán)限方面</p><p>  該信息管理系統(tǒng)的角色可以分為3類(lèi):</p><p> ?。?)普通用戶:擁有客戶信息維護(hù)、圖書(shū)信息管理以及客戶租還書(shū)管理、報(bào)表顯示和綜合查詢的權(quán)限。</p><p>  (2)系統(tǒng)管理員:擁有客戶信息維護(hù)、圖書(shū)信息管理、用戶信息管理以及客戶租

14、還書(shū)管理和綜合查詢權(quán)限。但其主要功能還是用戶信息管理。</p><p> ?。?)客戶:租書(shū)和還書(shū)。</p><p>  二、數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)</p><p>  得到上面的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)后,就可以設(shè)計(jì)滿足需求的各種實(shí)體及相互關(guān)系,再用實(shí)體-關(guān)系圖,及E-R(Entiry-Relationship)圖將這些內(nèi)容表達(dá)出來(lái),為后面的邏輯結(jié)構(gòu)設(shè)計(jì)打下基礎(chǔ)。</p

15、><p>  在這個(gè)系統(tǒng)中,所存在的實(shí)體有:圖書(shū)信息實(shí)體、租書(shū)信息實(shí)體、出版社信息實(shí)體、客戶信息實(shí)體和用戶信息實(shí)體,它們之間的關(guān)系如圖所示。</p><p><b>  三、邏輯結(jié)構(gòu)設(shè)計(jì)</b></p><p><b>  1.模式設(shè)計(jì): </b></p><p><b> ?。?)關(guān)系模式:

16、</b></p><p>  Book(BookID、BookName、BookWriter、BookPublish、BookPublishDate、BookPrice、BookSort、BookAmount、BookRemain)</p><p>  BorrowBook(ReaderID、BookID、BorrowDate、ReturnDate、FactReturnDate

17、)</p><p>  Reader(ReaderID、ReaderName、ReaderPassword、ReaderPhoneNo、ReaderEmail、ReaderBorrowBooks)</p><p>  User(UserID、UserPassword、UserSort)</p><p><b> ?。?)數(shù)字字典:</b>&l

18、t;/p><p><b>  圖書(shū)表(Book)</b></p><p>  租借信息表(BorrowBook)</p><p>  客戶表(Reader)</p><p><b>  用戶表(User)</b></p><p>  在建立完所有數(shù)據(jù)表后,要根據(jù)數(shù)據(jù)表之間的關(guān)系在

19、屬性頁(yè)中添加關(guān)系。為Book表和BorrowBook表之間添加FK_BorrowBook_Book關(guān)系,為Book表和PublishCompany之間添加FK_Book_PublishCompany關(guān)系,為Reader表和BorrowBook表之間添加FK_BorrowBook_Reader關(guān)系。同時(shí)在兩關(guān)系中實(shí)現(xiàn)表間的級(jí)聯(lián)更新和級(jí)聯(lián)刪除。</p><p><b> ?。?)子模式設(shè)計(jì):</b&g

20、t;</p><p><b>  1)視圖</b></p><p>  在圖書(shū)出租管理系統(tǒng)中,為便于瀏覽目前客戶租借圖書(shū)的信息,創(chuàng)建了一個(gè)Borrow視圖來(lái)顯示租借記錄中客戶和所租借圖書(shū)的一些詳細(xì)信息以便以后綜合瀏覽。該視圖涉及到Book表、BorrowBook表和Reader表,三表間的聯(lián)系及其各自想要顯示的字段,如下圖所示。</p><p>

21、;<b>  a)三表間的聯(lián)系</b></p><p><b>  b)數(shù)據(jù)字典</b></p><p><b>  2)存儲(chǔ)過(guò)程</b></p><p>  在圖書(shū)出租管理系統(tǒng)中,創(chuàng)建實(shí)現(xiàn)在客戶租還書(shū)時(shí)對(duì)客戶表中的客戶所借書(shū)目和圖書(shū)表中圖書(shū)庫(kù)存量的改變的存儲(chǔ)過(guò)程和客戶借書(shū)之前查詢客戶租借圖書(shū)數(shù)目和圖

22、書(shū)庫(kù)存量的存儲(chǔ)過(guò)程。 </p><p>  圖書(shū)出租管理系統(tǒng)中,需要?jiǎng)?chuàng)建6個(gè)存儲(chǔ)過(guò)程,分別為:</p><p>  ReaderBorrowedNumber 存儲(chǔ)過(guò)程</p><p>  該存儲(chǔ)過(guò)程負(fù)責(zé)獲取客戶已經(jīng)租借的圖書(shū)數(shù)目。其目的是為了在客戶租借圖書(shū)之前判斷此客戶是否達(dá)到借書(shū)數(shù)目的上限。</p><p>  BookNumber 存儲(chǔ)過(guò)

23、程</p><p>  此存儲(chǔ)過(guò)程的功能是根據(jù)輸入的圖書(shū)編號(hào)得到該圖書(shū)現(xiàn)在的庫(kù)存數(shù)量。</p><p>  BorrowReader 存儲(chǔ)過(guò)程</p><p>  當(dāng)客戶租借某種圖書(shū)后,該存儲(chǔ)過(guò)程向客戶表的客戶的目前所借圖書(shū)一項(xiàng)添加1。</p><p>  BorrowBook 存儲(chǔ)過(guò)程</p><p>  當(dāng)客戶租借

24、某種圖書(shū)后,該存儲(chǔ)過(guò)程向圖書(shū)表的相應(yīng)的圖書(shū)庫(kù)現(xiàn)存量中減去1。</p><p>  ReturnReader存儲(chǔ)過(guò)程</p><p>  當(dāng)客戶歸還所借的圖書(shū)時(shí),該存儲(chǔ)過(guò)程在客戶表中把客戶所借的圖書(shū)數(shù)量減1。</p><p>  ReturnBook存儲(chǔ)過(guò)程</p><p>  當(dāng)客戶歸還所借的圖書(shū)時(shí),該存儲(chǔ)過(guò)程在圖書(shū)表中相應(yīng)的圖書(shū)現(xiàn)存量中增加

25、1。</p><p>  四、數(shù)據(jù)庫(kù)的物理設(shè)計(jì)</p><p>  為了提高在表中搜索元組的速度,于是在各表中分別建立關(guān)于主鍵升序的索引,如下:</p><p>  1.User表的PK_User索引(以UserID的升序建立的)</p><p>  2.Reader表的PK_Reader索引(以ReaderID的升序建立的)</p&g

26、t;<p>  3.BorrowBook表的PK_BorrowBook索引(以ReaderID、BookID的升序建立的)</p><p>  4.Book表的PK_Book索引(以BookID的升序建立的)</p><p>  五、數(shù)據(jù)庫(kù)設(shè)計(jì)實(shí)現(xiàn)及運(yùn)行</p><p>  開(kāi)發(fā)工具:SQL Sever 2000</p><p>

27、;<b>  1.數(shù)據(jù)庫(kù)的創(chuàng)建</b></p><p>  create database BOOKMANAGEMENT;</p><p>  2.數(shù)據(jù)表的創(chuàng)建(可同時(shí)在創(chuàng)建時(shí)定義相關(guān)的約束)</p><p><b>  T-SQL語(yǔ)句:</b></p><p><b>  User表:&

28、lt;/b></p><p>  create table User</p><p><b>  (</b></p><p>  UserID char(10) primary key,</p><p>  UesrPassword char(10),</p><p>  UserSo

29、rt varchar(10)</p><p><b>  );</b></p><p><b>  Reader表:</b></p><p>  create table Reader</p><p><b>  (</b></p><p>  Rea

30、der UserID char(6) primary key,</p><p>  ReaderName varchar(20),</p><p>  ReaderPassword varchar(10),</p><p>  ReaderPhoneNo varchar(15),</p><p>  ReaderEmail var

31、char(50),</p><p>  ReaderBorrowedbooks int</p><p><b>  );</b></p><p>  BorrowBook表:</p><p>  create table ManagerUser</p><p><b>  (</

32、b></p><p>  ReaderID char(6), </p><p>  BookID nvarchar(50),</p><p>  BorrowDate datatime,</p><p>  ReturnDate datatime,</p><p>  FactReturnDate da

33、tatime,</p><p>  primary key(ReaderID,BookID),</p><p>  foreign key(ReaderID) references from Reader(ReaderID),</p><p>  foreign key(BookID ID) references from BookID (BookID ID)<

34、;/p><p><b>  );</b></p><p><b>  Book表:</b></p><p>  create table Book</p><p><b>  (</b></p><p>  BookID nvarchar(50) pri

35、mary key,</p><p>  BookName nvarchar(50),</p><p>  BookWriter nvarchar(20),</p><p>  BookPublish nvarchar(50),</p><p>  BookPublishDate datetime,</p><p&g

36、t;  BookPrice float,</p><p>  BookSort nvarchar(50),</p><p>  BookAmount int,</p><p>  BookRemain int</p><p><b>  );</b></p><p><b>  

37、3.視圖的創(chuàng)建</b></p><p><b>  Borrow視圖:</b></p><p>  CREATE VIEW dbo.Borrow</p><p><b>  AS</b></p><p>  SELECT dbo.BorrowBook.ReaderID, dbo.Read

38、er.ReaderName, </p><p>  dbo.Reader.ReaderPhoneNo, dbo.BorrowBook.BookID, dbo.Book.BookName, </p><p>  dbo.Book.BookWriter, dbo.BorrowBook.BorrowDate, </p><p>  dbo.BorrowBook.Retur

39、nDate</p><p>  FROM dbo.Book INNER JOIN</p><p>  dbo.BorrowBook ON dbo.Book.BookID = dbo.BorrowBook.BookID INNER JOIN</p><p>  dbo.Reader ON dbo.BorrowBook.ReaderID = dbo.Reader.Rea

40、derID</p><p><b>  4.存儲(chǔ)過(guò)程實(shí)現(xiàn)</b></p><p>  1)ReaderBorrowedNumber 存儲(chǔ)過(guò)程</p><p>  CREATE PROCEDURE dbo.StoredProcedureReaderBorrowNumber</p><p><b>  (</

41、b></p><p>  @ReaderID char(10),</p><p>  @BorrowedNumber int OUTPUT</p><p><b>  )</b></p><p><b>  AS</b></p><p>  select @Borrow

42、edNumber=count(*) </p><p>  from BorrowBook where ReaderID=@ReaderID</p><p><b>  RETURN</b></p><p><b>  GO</b></p><p>  2)BookNumber 存儲(chǔ)過(guò)程</p&

43、gt;<p>  CREATE PROCEDURE dbo.StoredProcedureBookNumber</p><p><b>  (</b></p><p>  @BookID char(10),</p><p>  @BookNumber int OUTPUT</p><p><b>

44、  )</b></p><p><b>  AS</b></p><p>  select @BookNumber=BookRemain </p><p>  from Book where BookID=@BookID</p><p><b>  RETURN </b></p&g

45、t;<p><b>  GO</b></p><p>  3)BorrowReader 存儲(chǔ)過(guò)程</p><p>  CREATE PROCEDURE dbo.StoredProcedureBorrowReader</p><p><b>  (</b></p><p>  @Read

46、erID char(6)</p><p><b>  )</b></p><p><b>  AS</b></p><p>  update Reader</p><p>  set ReaderBorrowedBooks=ReaderBorrowedbooks+1</p><p

47、>  where ReaderID=@ReaderID;</p><p><b>  RETURN </b></p><p><b>  GO</b></p><p>  4)BorrowBook 存儲(chǔ)過(guò)程</p><p>  CREATE PROCEDURE dbo.StoredProced

48、ureBorrowBook</p><p><b>  (</b></p><p>  @BookID char(10)</p><p><b>  )</b></p><p><b>  AS</b></p><p>  update Book

49、</p><p>  set BookRemain=BookRemain-1</p><p>  where BookID=@BookID;</p><p><b>  RETURN </b></p><p><b>  GO</b></p><p>  5)ReturnRe

50、ader存儲(chǔ)過(guò)程</p><p>  CREATE PROCEDURE dbo.StoredProcedureReturnReader</p><p><b>  (</b></p><p>  @ReaderID char(6)</p><p><b>  )</b></p><

51、;p><b>  AS</b></p><p>  update Reader</p><p>  set ReaderBorrowedBooks=ReaderBorrowedbooks-1</p><p>  where ReaderID=@ReaderID;</p><p><b>  RETURN

52、 </b></p><p><b>  GO</b></p><p>  6)ReturnBook存儲(chǔ)過(guò)程</p><p>  CREATE PROCEDURE dbo.StoredProcedureReturnBook</p><p><b>  (</b></p>&l

53、t;p>  @BookID char(10)</p><p><b>  )</b></p><p><b>  AS</b></p><p>  update Book </p><p>  set BookRemain=BookRemain+1</p><p> 

54、 where BookID=@BookID;</p><p><b>  RETURN </b></p><p><b>  GO</b></p><p>  六、界面與數(shù)據(jù)庫(kù)的連接</p><p>  代碼區(qū)中加入如下代碼:</p><p>  this.sqlConnec

55、tion1 = new System.Data.SqlClient.SqlConnection();</p><p>  this.sqlConnection1.ConnectionString = "server=.;database=BookManagement;Integrated Security=true;";</p><p>  this.sqlConnec

56、tion1.FireInfoMessageEventOnUserErrors = false;</p><p>  七、界面的實(shí)現(xiàn)(模塊中的功能實(shí)現(xiàn))</p><p>  【開(kāi)發(fā)工具:Visual Studio 2008】</p><p> ?。ùa及可執(zhí)行文件見(jiàn)附錄)</p><p>  運(yùn)行程序后,進(jìn)入登陸界面,輸入用戶名及密碼,截圖如下

57、:</p><p><b>  代碼:</b></p><p><b>  {</b></p><p>  // Login 的摘要說(shuō)明。</p><p>  public class LoginForm : System.Windows.Forms.Form</p><p>

58、;<b>  {</b></p><p>  private System.Windows.Forms.Button btnCancel;</p><p>  private System.Windows.Forms.TextBox textUserID;</p><p>  private System.Windows.Forms.TextB

59、ox textUserPassword;</p><p>  private System.Windows.Forms.Button btnOk;</p><p>  private System.Data.SqlClient.SqlConnection sqlConnection1;</p><p>  private System.Windows.Forms.L

60、abel lblUser;</p><p>  private System.Windows.Forms.Label lblPassword;</p><p>  /// 必需的設(shè)計(jì)器變量。</p><p>  private System.ComponentModel.Container components = null;</p><p>

61、;  public LoginForm()</p><p><b>  {</b></p><p>  // Windows 窗體設(shè)計(jì)器支持所必需的</p><p>  InitializeComponent();</p><p>  // TODO: 在InitializeComponent 調(diào)用后添加任何構(gòu)造函數(shù)代碼

62、</p><p><b>  }</b></p><p>  // 清理所有正在使用的資源。</p><p>  protected override void Dispose( bool disposing )</p><p><b>  {</b></p><p>  i

63、f( disposing )</p><p><b>  {</b></p><p>  if(components != null)</p><p><b>  {</b></p><p>  components.Dispose();</p><p><b> 

64、 }</b></p><p><b>  }</b></p><p>  base.Dispose( disposing );</p><p><b>  }</b></p><p>  #region Windows 窗體設(shè)計(jì)器生成的代碼</p><p>  /

65、// <summary></p><p>  /// 設(shè)計(jì)器支持所需的方法- 不要使用代碼編輯器修改</p><p>  /// 此方法的內(nèi)容。</p><p>  /// </summary></p><p>  private void InitializeComponent()</p><p&

66、gt;<b>  {</b></p><p>  System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(LoginForm));</p><p>  this.lblUser = new S

67、ystem.Windows.Forms.Label();</p><p>  this.lblPassword = new System.Windows.Forms.Label();</p><p>  this.btnCancel = new System.Windows.Forms.Button();</p><p>  this.textUserID = ne

68、w System.Windows.Forms.TextBox();</p><p>  this.textUserPassword = new System.Windows.Forms.TextBox();</p><p>  this.btnOk = new System.Windows.Forms.Button();</p><p>  this.sqlConn

69、ection1 = new System.Data.SqlClient.SqlConnection();</p><p>  this.SuspendLayout();</p><p><b>  // </b></p><p>  // lblUser</p><p><b>  // </b>&

70、lt;/p><p>  this.lblUser.BackColor = System.Drawing.Color.Transparent;</p><p>  this.lblUser.Font = new System.Drawing.Font("宋體", 12F, System.Drawing.FontStyle.Regular, System.Drawing.Gra

71、phicsUnit.Point, ((byte)(134)));</p><p>  this.lblUser.Location = new System.Drawing.Point(40, 56);</p><p>  this.lblUser.Name = "lblUser";</p><p>  this.lblUser.Size = ne

72、w System.Drawing.Size(72, 23);</p><p>  this.lblUser.TabIndex = 1;</p><p>  this.lblUser.Text = "用戶名:";</p><p><b>  // </b></p><p>  // lblPasswor

73、d</p><p><b>  // </b></p><p>  this.lblPassword.BackColor = System.Drawing.Color.Transparent;</p><p>  this.lblPassword.Font = new System.Drawing.Font("宋體", 12

74、F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));</p><p>  this.lblPassword.Location = new System.Drawing.Point(40, 104);</p><p>  this.lblPassword.Name = &

75、quot;lblPassword";</p><p>  this.lblPassword.Size = new System.Drawing.Size(72, 23);</p><p>  this.lblPassword.TabIndex = 2;</p><p>  this.lblPassword.Text = "密 碼:";&

76、lt;/p><p><b>  // </b></p><p>  // btnCancel</p><p><b>  // </b></p><p>  this.btnCancel.BackColor = System.Drawing.Color.Transparent;</p>&

77、lt;p>  this.btnCancel.Location = new System.Drawing.Point(144, 152);</p><p>  this.btnCancel.Name = "btnCancel";</p><p>  this.btnCancel.Size = new System.Drawing.Size(64, 24);</

78、p><p>  this.btnCancel.TabIndex = 3;</p><p>  this.btnCancel.Text = "重置";</p><p>  this.btnCancel.UseVisualStyleBackColor = false;</p><p>  this.btnCancel.Click

79、+= new System.EventHandler(this.btnCancel_Click);</p><p><b>  // </b></p><p>  // textUserID</p><p><b>  // </b></p><p>  this.textUserID.Locati

80、on = new System.Drawing.Point(112, 56);</p><p>  this.textUserID.Name = "textUserID";</p><p>  this.textUserID.Size = new System.Drawing.Size(96, 21);</p><p>  this.textUs

81、erID.TabIndex = 0;</p><p><b>  // </b></p><p>  // textUserPassword</p><p><b>  // </b></p><p>  this.textUserPassword.Location = new System.Dra

82、wing.Point(112, 104);</p><p>  this.textUserPassword.Name = "textUserPassword";</p><p>  this.textUserPassword.PasswordChar = '*';</p><p>  this.textUserPassword.S

83、ize = new System.Drawing.Size(96, 21);</p><p>  this.textUserPassword.TabIndex = 1;</p><p><b>  // </b></p><p><b>  // btnOk</b></p><p><b>

84、;  // </b></p><p>  this.btnOk.BackColor = System.Drawing.Color.Transparent;</p><p>  this.btnOk.Location = new System.Drawing.Point(40, 152);</p><p>  this.btnOk.Name = "

85、;btnOk";</p><p>  this.btnOk.Size = new System.Drawing.Size(64, 24);</p><p>  this.btnOk.TabIndex = 6;</p><p>  this.btnOk.Text = "登錄";</p><p>  this.btn

86、Ok.UseVisualStyleBackColor = false;</p><p>  this.btnOk.Click += new System.EventHandler(this.btnOk_Click);</p><p><b>  // </b></p><p>  // sqlConnection1</p><

87、;p><b>  // </b></p><p>  this.sqlConnection1.ConnectionString = "server=.;database=BookManagement;Integrated Security=true;";</p><p>  this.sqlConnection1.FireInfoMessag

88、eEventOnUserErrors = false;</p><p><b>  // </b></p><p>  // LoginForm</p><p><b>  // </b></p><p>  this.AutoScaleBaseSize = new System.Drawing.S

89、ize(6, 14);</p><p>  this.BackColor = System.Drawing.Color.Blue;</p><p>  this.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("$this.BackgroundImage")));</p><

90、p>  this.ClientSize = new System.Drawing.Size(250, 194);</p><p>  this.Controls.Add(this.btnOk);</p><p>  this.Controls.Add(this.textUserPassword);</p><p>  this.Controls.Add(thi

91、s.textUserID);</p><p>  this.Controls.Add(this.btnCancel);</p><p>  this.Controls.Add(this.lblPassword);</p><p>  this.Controls.Add(this.lblUser);</p><p>  this.Icon =

92、((System.Drawing.Icon)(resources.GetObject("$this.Icon")));</p><p>  this.MaximizeBox = false;</p><p>  this.MinimizeBox = false;</p><p>  this.Name = "LoginForm"

93、;;</p><p>  this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;</p><p>  this.Text = "圖書(shū)出租管理系統(tǒng)";</p><p>  this.Load += new System.EventHandler(this.L

94、ogin_Load);</p><p>  this.ResumeLayout(false);</p><p>  this.PerformLayout();</p><p><b>  }</b></p><p>  #endregion</p><p>  static void Main()

95、 </p><p><b>  {</b></p><p>  Application.Run(new LoginForm());</p><p><b>  }</b></p><p><b>  //撤銷(xiāo)之前的輸入</b></p><p>  pri

96、vate void btnCancel_Click(object sender, System.EventArgs e)</p><p><b>  {</b></p><p>  this.textUserID.Text="";</p><p>  this.textUserPassword.Text="&quo

97、t;;</p><p><b>  }</b></p><p>  //確認(rèn)輸入,并與數(shù)據(jù)庫(kù)建立連接,判斷是否為合法用戶,以及判斷該用戶的權(quán)限</p><p>  private void btnOk_Click(object sender, System.EventArgs e)</p><p><b>  

98、{</b></p><p>  if(UserCheck(this.textUserID.Text,this.textUserPassword.Text)=="system")</p><p><b>  {</b></p><p>  this.Visible=false;</p><p&

99、gt;  Form mainform=new MainForm(this.textUserID.Text,"system");</p><p>  mainform.ShowDialog();</p><p>  this.Close();</p><p><b>  }</b></p><p>  

100、else if(UserCheck(this.textUserID.Text,this.textUserPassword.Text)=="user")</p><p><b>  {</b></p><p>  this.Visible=false;</p><p>  Form mainform=new MainForm(

101、this.textUserID.Text,"user");</p><p>  mainform.ShowDialog();</p><p>  this.Close();</p><p><b>  }</b></p><p><b>  else</b></p&

102、gt;<p><b>  {</b></p><p>  if(MessageBox.Show("輸入用戶密碼有誤,是否重新登陸","輸入有誤",MessageBoxButtons.OKCancel,MessageBoxIcon.Question)==DialogResult.OK)</p><p><b&g

103、t;  {</b></p><p>  this.textUserID.Clear();</p><p>  this.textUserPassword.Clear();</p><p>  //this.textUserID.();</p><p><b>  }</b></p><p&

104、gt;<b>  else</b></p><p><b>  {</b></p><p>  this.Close();</p><p><b>  }</b></p><p><b>  }</b></p><p><b&

105、gt;  }</b></p><p>  //判斷是否為合法用戶</p><p>  string UserCheck(string username,string userpassword)</p><p><b>  {</b></p><p>  string txtSql,usersort;<

106、/p><p>  usersort="nobody";</p><p>  txtSql = "SELECT * FROM [User]";</p><p>  SqlCommand checkuser=new SqlCommand(txtSql,this.sqlConnection1);</p><p>

107、<b>  try</b></p><p><b>  {</b></p><p>  this.sqlConnection1.Open();</p><p>  SqlDataReader sqlreader=checkuser.ExecuteReader();</p><p>  while(s

108、qlreader.Read())</p><p><b>  {</b></p><p>  if((sqlreader[0].ToString().Trim()==username)&&(sqlreader[1].ToString().Trim()==userpassword))</p><p><b>  {

109、</b></p><p>  usersort=sqlreader[2].ToString().Trim();</p><p>  break;</p><p><b>  }</b></p><p><b>  }</b></p><p>

110、;<b>  }</b></p><p>  catch(Exception e)</p><p><b>  {</b></p><p>  //Console.WriteLine(e.ToString());</p><p>  MessageBox.Show(e.ToString());<

111、;/p><p><b>  }</b></p><p>  sqlConnection1.Close();</p><p>  //return "nobody";</p><p>  return usersort;</p><p><b>  }</b

112、></p><p>  private void Login_Load(object sender, System.EventArgs e)</p><p><b>  {</b></p><p>  //this.sqlConnection1.Open();</p><p>  //this.sqlDataAda

113、pter1.Fill(this.dataSetUser1);</p><p><b>  }</b></p><p><b>  }</b></p><p>  點(diǎn)擊“登錄”后,進(jìn)入系統(tǒng)主控界面,截圖如下:</p><p><b>  代碼:</b></p>&l

114、t;p>  public MainForm(string username,string usersort)</p><p><b>  {</b></p><p><b>  //</b></p><p>  // Windows 窗體設(shè)計(jì)器支持所必需的</p><p><b> 

115、 //</b></p><p>  InitializeComponent();</p><p>  this.userName=username;</p><p>  userSort=usersort;</p><p><b>  //</b></p><p>  // TO

116、DO: 在InitializeComponent 調(diào)用后添加任何構(gòu)造函數(shù)代碼</p><p><b>  //</b></p><p><b>  }</b></p><p>  /// <summary></p><p>  /// 清理所有正在使用的資源。</p>&l

117、t;p>  /// </summary></p><p>  protected override void Dispose( bool disposing )</p><p><b>  {</b></p><p>  if( disposing )</p><p><b>  {</

118、b></p><p>  if (components != null) </p><p><b>  {</b></p><p>  components.Dispose();</p><p><b>  }</b></p><p><b>  }</

119、b></p><p>  base.Dispose( disposing );</p><p><b>  }</b></p><p>  #region Windows 窗體設(shè)計(jì)器生成的代碼</p><p>  /// <summary></p><p>  /// 設(shè)計(jì)器支持

120、所需的方法- 不要使用代碼編輯器修改</p><p>  /// 此方法的內(nèi)容。</p><p>  /// </summary></p><p>  private void InitializeComponent()</p><p><b>  {</b></p><p>  th

121、is.components = new System.ComponentModel.Container();</p><p>  System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));</p><

122、;p>  this.btnReader = new System.Windows.Forms.Button();</p><p>  this.btnBook = new System.Windows.Forms.Button();</p><p>  this.btnBorrow = new System.Windows.Forms.Button();</p><

123、;p>  this.btnUser = new System.Windows.Forms.Button();</p><p>  this.btnQuery = new System.Windows.Forms.Button();</p><p>  this.btnExit = new System.Windows.Forms.Button();</p><p&

124、gt;  this.tbText = new System.Windows.Forms.TextBox();</p><p>  this.timer1 = new System.Windows.Forms.Timer(this.components);</p><p>  this.timer2 = new System.Windows.Forms.Timer(this.componen

125、ts);</p><p>  this.btninf = new System.Windows.Forms.Button();</p><p>  this.SuspendLayout();</p><p><b>  // </b></p><p>  // btnReader</p><p>

126、<b>  // </b></p><p>  this.btnReader.BackColor = System.Drawing.Color.Fuchsia;</p><p>  this.btnReader.FlatStyle = System.Windows.Forms.FlatStyle.Flat;</p><p>  this.btn

127、Reader.ForeColor = System.Drawing.Color.White;</p><p>  this.btnReader.Location = new System.Drawing.Point(318, 142);</p><p>  this.btnReader.Name = "btnReader";</p><p>  

128、this.btnReader.Size = new System.Drawing.Size(113, 30);</p><p>  this.btnReader.TabIndex = 9;</p><p>  this.btnReader.TabStop = false;</p><p>  this.btnReader.Text = "客戶信息"

129、;;</p><p>  this.btnReader.UseVisualStyleBackColor = false;</p><p>  this.btnReader.Click += new System.EventHandler(this.btnReader_Click);</p><p><b>  // </b></p>

130、<p>  // btnBook</p><p><b>  // </b></p><p>  this.btnBook.BackColor = System.Drawing.Color.Fuchsia;</p><p>  this.btnBook.FlatStyle = System.Windows.Forms.FlatSt

131、yle.Flat;</p><p>  this.btnBook.ForeColor = System.Drawing.Color.White;</p><p>  this.btnBook.Location = new System.Drawing.Point(318, 188);</p><p>  this.btnBook.Name = "btnBo

溫馨提示

  • 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)論