《圖書管理系統(tǒng)》課程設計_第1頁
已閱讀1頁,還剩79頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  圖書管理系統(tǒng)</b></p><p>  學 院 計算機電子信息學院 </p><p>  專 業(yè) 計算機科學與技術 </p><p>  班 級 2010級1班 </p><p>  學 號

2、 </p><p>  姓 名 </p><p>  指導老師 </p><p>  完成時間 2014年1月1日 </p><p><b>  目錄</b></p><

3、p><b>  一 需求分析3</b></p><p><b>  二 系統(tǒng)設計4</b></p><p><b>  2.1設計目標4</b></p><p>  2.2開發(fā)和運行環(huán)境選擇4</p><p>  2.3系統(tǒng)功能描述4</p>&l

4、t;p>  2.4功能模塊劃分4</p><p>  2.5系統(tǒng)流程分析5</p><p>  三 數(shù)據(jù)庫設計及實現(xiàn)6</p><p>  3.1書籍庫的需求分析設計6</p><p>  3.2數(shù)據(jù)庫概念模型設計7</p><p>  3.3數(shù)據(jù)庫邏輯模型設計8</p><p&g

5、t;<b>  四 界面設計10</b></p><p>  五 系統(tǒng)運行結(jié)果12</p><p><b>  5.1 登錄12</b></p><p>  5.2 圖書信息管理14</p><p>  5.3 用戶信息管理18</p><p>  5.4 客戶信息

6、管理20</p><p>  5.5 出版社信息管理22</p><p>  5.6 客戶租還書24</p><p>  5.7 綜合查詢26</p><p><b>  六 核心代碼30</b></p><p><b>  6.1 登錄30</b></p&

7、gt;<p>  6.2 圖書信息管理33</p><p>  6.3 借還書41</p><p>  6.4 綜合查詢51</p><p>  6.5 出版社信息管理54</p><p>  6.6 客戶信息管理62</p><p>  6.7 用戶信息管理70</p><

8、;p><b>  七 總結(jié)78</b></p><p><b>  圖書管理系統(tǒng)</b></p><p><b>  一 需求分析</b></p><p>  通過調(diào)查、收集與分析,獲得用戶對數(shù)據(jù)庫系統(tǒng)的如下需求:</p><p>  1.功能需求(處理要求):即用戶

9、需要系統(tǒng)具有什么處理功能。</p><p>  2.數(shù)據(jù)庫建庫需求(信息要求、安全性與完整性要求):即在數(shù)據(jù)庫中需要存儲些數(shù)據(jù)、數(shù)據(jù)的可靠性等。</p><p><b>  1.1 功能需求</b></p><p>  根據(jù)需求分析,系統(tǒng)應具有如下功能:</p><p><b>  登錄功能;</b>

10、;</p><p>  用戶信息管理:包括客戶信息維護、圖書信息維護、出版社信息維護、客戶租還書信息管理、綜合查詢功能;</p><p>  客戶信息管理:辦理借書證、借書證信息查詢、租書和還書功能;</p><p>  ④系統(tǒng)管理功能:包括用戶信息管理、客戶信息管理和退出系統(tǒng)等功能。</p><p>  1.2 數(shù)據(jù)庫建庫需求</p&

11、gt;<p>  根據(jù)需求分析,系統(tǒng)涉及的數(shù)據(jù)主要有:管理員信息、圖書的信息、借書卡信息、借書信息、罰單信息。</p><p><b>  要求:</b></p><p>  a.數(shù)據(jù)庫應具有安全性。不同的用戶應具有不同的使用權限,并具有各自的用戶帳號和密碼等。</p><p>  b.數(shù)據(jù)庫應具有完整性。對數(shù)據(jù)庫的數(shù)據(jù)進行各種操

12、作后,數(shù)據(jù)庫的數(shù)據(jù)應保持正確有效性。</p><p><b>  二 系統(tǒng)設計 </b></p><p><b>  2.1設計目標</b></p><p>  在學習了數(shù)據(jù)庫原理和SQL Server 2005數(shù)據(jù)庫管理系統(tǒng)后,采用Visual C#編程語言開發(fā)工具,設計并實現(xiàn)圖書管理系統(tǒng)。</p>&l

13、t;p>  本課程的目的是培養(yǎng)學生數(shù)據(jù)庫技術的綜合應用能力,通過設計開發(fā)一個小型的數(shù)據(jù)庫管理系統(tǒng),將原理與應用相結(jié)合,鍛煉學生實際問題的分析、設計與編程能力。</p><p>  2.2 開發(fā)和運行環(huán)境選擇</p><p>  開發(fā)工具: 前臺開發(fā)語言為Visual Studio 2010,后臺數(shù)據(jù)庫為SQL Server 2005。</p><p>  2.

14、3 系統(tǒng)功能描述</p><p>  圖書館管理系統(tǒng)要完成的主要功能如下:</p><p>  客戶、圖書、出版社、用戶信息的數(shù)據(jù)維護模塊提供增加、刪除、修改、</p><p>  查找等數(shù)據(jù)維護功能。</p><p>  綜合查詢模塊可以通過用戶選擇的數(shù)據(jù)表和相應的查詢條件來查詢相關</p><p><b>

15、;  內(nèi)容。</b></p><p>  客戶租還書模塊是圖書管理系統(tǒng)的核心功能,實現(xiàn)客戶與圖書出租的交</p><p><b>  互。</b></p><p>  2.4 功能模塊劃分</p><p>  圖書管理系統(tǒng)應該具備客戶信息管理、圖書信息管理、出版社信息管理、用戶信息管理、租還書和綜合查詢等功能

16、。根據(jù)系統(tǒng)功能的需求分析,把該系統(tǒng)的功能劃分為6個模塊。</p><p><b>  客戶信息維護模塊</b></p><p><b>  圖書信息維護模塊</b></p><p><b>  出版社信息管理模塊</b></p><p><b>  用戶信息管理模塊&

17、lt;/b></p><p><b>  客戶租還書管理模塊</b></p><p><b>  綜合查詢模塊</b></p><p>  圖書管理系統(tǒng)的功能模塊圖如圖1-1所示。</p><p>  圖1-1 圖書管理系統(tǒng)功能模塊圖</p><p>  其中,客戶租

18、還書管理模塊包括以下三個子模塊:</p><p><b>  租借圖書</b></p><p><b>  歸還圖書</b></p><p><b>  查詢租借信息</b></p><p>  客戶信息維護模塊包括以下五個子模塊:</p><p>&l

19、t;b>  增加客戶信息</b></p><p><b>  刪除客戶信息</b></p><p><b>  修改客戶信息</b></p><p><b>  查詢客戶信息</b></p><p><b>  遍歷客戶信息</b><

20、;/p><p>  同理,如圖書信息管理、出版社信息管理、用戶信息管理模塊也被類似的分為增加、刪除、查詢、修改、遍歷五個模塊。</p><p>  由圖1-1可以看出,該信息管理系統(tǒng)的角色可以劃分為三類:</p><p>  系統(tǒng)管理員:擁有客戶信息維護、圖書信息管理、出版社信息管理、用戶信息管理以及客戶租還書管理和綜合查詢的權限。</p><p&g

21、t;<b>  客戶:租書和還書。</b></p><p>  普通用戶:擁有客戶信息維護、圖書信息管理、出版社信息管理以及客戶租還書管理和綜合查詢的權限。</p><p><b>  2.5系統(tǒng)流程分析</b></p><p>  圖書管理系統(tǒng)的開發(fā)首先要設計一個登錄系統(tǒng),用戶只有輸入了正確的用戶名和密碼方可進入系統(tǒng)內(nèi)部

22、。圖1-2為系統(tǒng)流程圖。</p><p>  圖1-2 系統(tǒng)流程圖</p><p>  三 數(shù)據(jù)庫設計及實現(xiàn)</p><p>  3.1 書籍庫的需求分析設計</p><p>  系統(tǒng)的需求具體體現(xiàn)在對各種信息的保存、修改和查詢等方面。因此,一個滿足系統(tǒng)要求的數(shù)據(jù)庫必須充分照顧到各種信息的輸入輸出,以免遺漏導致開發(fā)時返工。</p&g

23、t;<p>  通過對系統(tǒng)功能的分析,圖書館管理系統(tǒng)需要包含以下數(shù)據(jù)庫信息。</p><p>  (1)用戶信息,包括用戶編號、密碼和分類數(shù)據(jù)項。</p><p>  (2)圖書信息,包括圖書編號、學生姓名圖書名稱、作者等數(shù)據(jù)項。</p><p>  (3)租書信息,包括客戶編號、圖書編號、租借日期等數(shù)據(jù)項。</p><p> 

24、 (4)客戶信息,包括客戶編號、姓名、密碼和分類數(shù)據(jù)項。</p><p>  3.2 數(shù)據(jù)庫概念結(jié)構設計</p><p>  得到上面的數(shù)據(jù)項和數(shù)據(jù)結(jié)構后,就可以設計滿足需求的各種實體及相互關系,再用實體-關系圖,即E-R(Entity-Relationship)圖將這些內(nèi)容表達出來,為后面的邏輯結(jié)構設計打下基礎。</p><p>  本系統(tǒng)規(guī)劃出的實體有:圖書信

25、息實體、租書信息實體、出版社信息實體、客戶信息實體和用戶它們之間的關系如圖1-3~圖1-7所示。</p><p>  圖1-3 圖書信息實體E-R圖</p><p>  圖1-4 租書信息實體E-R圖</p><p>  圖1-5 客戶信息實體E-R圖</p><p>  圖1-6 出版社信息實體E-R圖</p><

26、p>  圖1-7 用戶信息實體E-R圖</p><p>  3.3 數(shù)據(jù)庫邏輯結(jié)構設計</p><p>  啟動SQL2005,新建BookManagement數(shù)據(jù)庫,根據(jù)E-R圖,創(chuàng)建以下數(shù)據(jù)表。</p><p><b>  (1) 用戶表:</b></p><p>  表1-1 用戶表(User)<

27、/p><p><b>  (2) 客戶表:</b></p><p>  表1-2 客戶表(Reader)</p><p><b>  (3) 圖書表:</b></p><p>  表1-3 圖書表(Book)</p><p>  (4) 租借信息表:</p>&

28、lt;p>  表1-4 租借信息表(BorrowBook)</p><p><b>  出版社表:</b></p><p>  表1-5 出版社表(PublishCompany)</p><p><b>  四 界面設計</b></p><p>  從系統(tǒng)功能模塊分析中可知,圖書管理系統(tǒng)

29、的界面應該分為以下幾部分。</p><p><b>  用戶登錄界面</b></p><p><b>  客戶信息維護界面</b></p><p><b>  圖書信息維護界面</b></p><p><b>  出版社信息管理界面</b></p&g

30、t;<p><b>  用戶信息管理界面</b></p><p><b>  客戶租還書管理頁面</b></p><p><b>  綜合查詢頁面</b></p><p><b>  用戶登錄界面</b></p><p><b> 

31、 客戶信息維護界面</b></p><p><b>  圖書信息維護界面</b></p><p>  (4)出版社信息管理界面</p><p> ?。?)用戶信息管理界面</p><p>  (6)客戶租還書管理頁面</p><p><b> ?。?)綜合查詢頁面</b

32、></p><p>  (8)系統(tǒng)總控制頁面:</p><p><b>  五 系統(tǒng)運行結(jié)果</b></p><p><b>  5.1登錄</b></p><p>  登錄成功:(已在數(shù)據(jù)庫中定義好用戶名及密碼)</p><p><b>  登錄失?。?l

33、t;/b></p><p> ?。?.1)登錄成功后進去主頁面:(管理員)</p><p>  可以進行用戶信息操作:</p><p>  (3,2)登錄成功后進去主頁面:(用戶)</p><p>  不是管理員不可以進行用戶信息操作:</p><p>  5.2圖書信息管理:</p><p&

34、gt; ?。?)主頁面:(可瀏覽圖書信息,方便了新入庫圖書的操作)</p><p><b> ?。?)添加圖書:</b></p><p>  添加成功后在主頁面(變暗顯示)顯示添加的圖書:</p><p>  在數(shù)據(jù)庫中可看到添加的圖書:</p><p>  修改圖書:所有文本框均可操作,圖書編號為2014的JAVA改為

35、C#程序設計</p><p>  修改成功,在主頁面(變暗顯示)及數(shù)據(jù)庫中均顯示修改后的書籍</p><p>  刪除圖書:(以刪除添加的C#程序設計教程為例)</p><p>  刪除后主頁面及數(shù)據(jù)庫均無此書:</p><p>  5.3用戶信息管理:(主頁面)</p><p><b>  添加用戶:<

36、;/b></p><p>  在主頁面(變暗顯示)及數(shù)據(jù)庫中均能顯示添加的用戶:</p><p>  修改用戶:所有文本框均可操作,該添加的huangyukun密碼為123456789</p><p>  在主頁面(變暗顯示)及數(shù)據(jù)庫中均能顯示修改的用戶:</p><p>  刪除用戶:刪除添加的huangyukun用戶</p&g

37、t;<p>  5.4客戶信息管理:(主頁面)</p><p><b> ?。?)添加客戶</b></p><p>  在主頁面(變暗顯示)及數(shù)據(jù)庫中均能顯示添加的客戶:</p><p>  (2)修改客戶:所有文本框均可操作,修改黃裕錕為黃裕錕2</p><p>  在主頁面(變暗顯示)及數(shù)據(jù)庫中均能顯示

38、修改的客戶:</p><p> ?。?)刪除客戶:刪除黃裕錕2客戶:</p><p>  5.5出版社信息管理:(主頁面)</p><p><b>  (1)添加出版社:</b></p><p>  在主頁面(變暗顯示)及數(shù)據(jù)庫中均能顯示添加的出版社:</p><p><b> ?。?)

39、修改出版社:</b></p><p>  在主頁面(變暗顯示)及數(shù)據(jù)庫中均能顯示修改的出版社:</p><p> ?。?)刪除出版社:刪除廣西大學2出版社:</p><p>  5.6客戶租還書:(主頁面)</p><p>  (1)查詢剛添加的2014,無租借紀錄:</p><p> ?。?)借書:201

40、4客戶借編號為2014的圖書</p><p>  退出后可查詢到2014客戶借的2014圖書:</p><p> ?。?)還書:2014客戶還2014圖書,顯示還書成功。</p><p>  在數(shù)據(jù)庫中已無該客戶的租借紀錄:</p><p>  5.7綜合查詢:(主頁面)</p><p> ?。?.1)查詢客戶,無限制

41、條件,查詢?nèi)靠蛻簦?lt;/p><p>  (1.2)查詢客戶,有限制條件:</p><p>  (2.1)查詢書籍(全部):</p><p> ?。?.1)查詢書籍(部分):</p><p>  (3.1)查詢出版社(全部):</p><p> ?。?.2)查詢出版社(部分):</p><p>

42、 ?。?.1)查詢借書情況(全部):</p><p> ?。?.2)查詢借書情況(部分):</p><p><b>  六 核心代碼</b></p><p><b>  連接數(shù)據(jù)庫語句:</b></p><p>  this.sqlConnection1.ConnectionString = &q

43、uot;workstation id=kun-PC;packet size=4096;integrated security=SSPI;data source=kun-PC;persist security info=False;initial catalog=BookManagement";</p><p><b>  6.1登錄:</b></p><p>

44、;  static void Main() </p><p><b>  {</b></p><p>  Application.Run(new LoginForm());</p><p><b>  }</b></p><p>  private void btnCancel_Click(obje

45、ct sender, System.EventArgs e)</p><p><b>  {</b></p><p>  this.textUserID.Text="";</p><p>  this.textUserPassword.Text="";</p><p><b&

46、gt;  }</b></p><p>  private void btnOk_Click(object sender, System.EventArgs e)</p><p><b>  {</b></p><p>  // string ConnectionString = "Data Source

47、=kun-PC;Initial Catalog=BookManagement;User ID=sa;Password=sa";</p><p>  if(UserCheck(this.textUserID.Text,this.textUserPassword.Text)=="system")</p><p><b>  {</b><

48、/p><p>  MessageBox.Show("登錄成功!");</p><p>  this.Visible=false;</p><p>  Form mainform=new MainForm(this.textUserID.Text,"system");</p><p>  mainform.S

49、howDialog();</p><p>  this.Close();</p><p><b>  }</b></p><p>  else if(UserCheck(this.textUserID.Text,this.textUserPassword.Text)=="user")</p><p>

50、<b>  {</b></p><p>  MessageBox.Show("登錄成功!");</p><p>  this.Visible=false;</p><p>  Form mainform=new MainForm(this.textUserID.Text,"user");</p>

51、;<p>  mainform.ShowDialog();</p><p>  this.Close();</p><p><b>  }</b></p><p><b>  else</b></p><p>  if(MessageBox.Show("輸入用戶<

52、;/p><p>  {密碼有誤,是否重新登陸","輸入有誤",MessageBoxButtons.OKCancel,MessageBoxIcon.Question)==DialogResult.OK)</p><p><b>  {</b></p><p>  this.textUserID.Clear();</

53、p><p>  this.textUserPassword.Clear();</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  this.Close();<

54、/p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  string UserCheck(string username,string userpassword)</p><p&g

55、t;<b>  {</b></p><p>  string txtSql,usersort;</p><p>  usersort="nobody";</p><p>  txtSql = "SELECT * FROM [User]";</p><p>  SqlCommand

56、 checkuser=new SqlCommand(txtSql,this.sqlConnection1);</p><p><b>  try</b></p><p><b>  {</b></p><p>  this.sqlConnection1.Open();</p><p>  SqlDa

57、taReader sqlreader=checkuser.ExecuteReader();</p><p>  while(sqlreader.Read())</p><p>  {if((sqlreader[0].ToString().Trim()==username)&&(sqlreader[1].ToString().Trim()==userpassword

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

59、t;  }</b></p><p><b>  }</b></p><p>  catch(Exception e)</p><p><b>  {</b></p><p>  //Console.WriteLine(e.ToString());</p><p&g

60、t;  MessageBox.Show(e.ToString());</p><p><b>  }</b></p><p>  sqlConnection1.Close();</p><p>  //return "nobody";</p><p>  return usersort;&l

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

62、;/p><p>  //this.sqlDataAdapter1.Fill(this.dataSetUser1);</p><p><b>  }</b></p><p>  6.2圖書信息管理:</p><p>  public Book()</p><p><b>  {</b&g

63、t;</p><p>  InitializeComponent();</p><p><b>  }</b></p><p>  protected override void Dispose( bool disposing )</p><p><b>  {</b></p><

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

65、lt;b>  }</b></p><p><b>  }</b></p><p>  base.Dispose( disposing );</p><p><b>  }</b></p><p>  public void ErrorHandle(System.Exception

66、E)</p><p><b>  {</b></p><p>  MessageBox.Show(E.ToString());</p><p><b>  }</b></p><p>  private void ButtonPositonChange()</p><p>

67、;<b>  {</b></p><p>  this.btnPrevious.Enabled=true;</p><p>  this.btnNext.Enabled=true;</p><p>  this.btnFirst.Enabled=true;</p><p>  this.btnLast.Enabled=t

68、rue;</p><p>  if(this.BindingContext[this.objDataSetBook,"Book"].Position==0)</p><p><b>  {</b></p><p>  this.btnFirst.Enabled=false;</p><p>  thi

69、s.btnPrevious.Enabled=false;</p><p><b>  }</b></p><p>  if(this.BindingContext[this.objDataSetBook,"Book"].Position==this.BindingContext[this.objDataSetBook,"Book"

70、;].Count-1)</p><p><b>  {</b></p><p>  this.btnNext.Enabled=false;</p><p>  this.btnLast.Enabled=false;</p><p><b>  }</b></p><p>&l

71、t;b>  }</b></p><p>  private void DatasetPostionChange()</p><p>  {this.lblDatasetPosition.Text=(this.BindingContext[this.objDataSetBook,"Book"].Position+1)+"的"+&l

72、t;/p><p>  (this.BindingContext[this.objDataSetBook,"Book"].Count);</p><p><b>  }</b></p><p>  private void TextEnableControl(bool valid)</p><p><

73、b>  {</b></p><p><b>  if(valid)</b></p><p><b>  {</b></p><p>  this.textId.Enabled=true;</p><p>  this.textName.Enabled=true;</p>

74、<p>  this.textPrice.Enabled=true;</p><p>  this.textPublish.Enabled=true;</p><p>  this.textPublishDate.Enabled=true;</p><p>  this.textWriter.Enabled=true;</p>&

75、lt;p>  this.textSort.Enabled=true;</p><p>  this.textAmount.Enabled=true;</p><p>  this.textRemain.Enabled=true;</p><p><b>  }</b></p><p><b>  

76、else</b></p><p><b>  {</b></p><p>  this.textId.Enabled=false;</p><p>  this.textName.Enabled=false;</p><p>  this.textPrice.Enabled=false;<

77、;/p><p>  this.textPublish.Enabled=false;</p><p>  this.textPublishDate.Enabled=false;</p><p>  this.textWriter.Enabled=false;</p><p>  this.textSort.Enabled=false;<

78、;/p><p>  this.textAmount.Enabled=false;</p><p>  this.textRemain.Enabled=false;</p><p><b>  }</b></p><p><b>  }</b></p><p>  priv

79、ate void ButtonEnableControl(bool valid)</p><p><b>  {</b></p><p><b>  if(valid)</b></p><p><b>  {</b></p><p>  this.btnCancel.Enabl

80、ed=true;</p><p>  this.btnApply.Enabled=true;</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  this.bt

81、nCancel.Enabled=false;</p><p>  this.btnApply.Enabled=false;</p><p><b>  }</b></p><p><b>  }</b></p><p>  private void LoadDataSet()</p>

82、<p><b>  {</b></p><p>  DataSetBook objDataSetTemp=new DataSetBook();</p><p><b>  try</b></p><p><b>  {</b></p><p>  this.FillD

83、ataSet(objDataSetTemp);</p><p><b>  }</b></p><p>  catch (System.Exception E) </p><p><b>  {</b></p><p>  this.ErrorHandle(E);</p><p&

84、gt;<b>  }</b></p><p><b>  try</b></p><p><b>  {</b></p><p>  this.objDataSetBook.Clear();</p><p>  this.objDataSetBook.Merge(objData

85、SetTemp);</p><p><b>  }</b></p><p>  catch(System.Exception E) </p><p><b>  {</b></p><p>  this.ErrorHandle(E);</p><p><b>  }

86、</b></p><p><b>  }</b></p><p>  private void FillDataSet(DataSetBook dataset)</p><p><b>  {</b></p><p>  dataset.EnforceConstraints=false;

87、</p><p><b>  try</b></p><p><b>  {</b></p><p>  this.sqlConnection1.Open();</p><p>  this.sqlDataAdapter1.Fill(dataset);</p><p><

88、;b>  }</b></p><p>  catch(System.Exception E)</p><p><b>  {</b></p><p>  this.ErrorHandle(E);</p><p><b>  }</b></p><p><

89、;b>  finally</b></p><p><b>  {</b></p><p>  dataset.EnforceConstraints=true;</p><p>  this.sqlConnection1.Close();</p><p><b>  }</b><

90、;/p><p><b>  }</b></p><p>  private void Book_Load(object sender, System.EventArgs e)</p><p><b>  {</b></p><p>  this.LoadDataSet();</p><

91、;p>  this.DatasetPostionChange();</p><p>  this.ButtonPositonChange();</p><p>  this.TextEnableControl(false);</p><p>  this.ButtonEnableControl(false);</p><p><b

92、>  }</b></p><p>  private void btnNext_Click(object sender, System.EventArgs e)</p><p><b>  {</b></p><p>  this.BindingContext[this.objDataSetBook,"Book&qu

93、ot;].Position+=1;</p><p>  this.ButtonPositonChange();</p><p>  this.DatasetPostionChange();</p><p><b>  }</b></p><p>  private void btnPrevious_Click(objec

94、t sender, System.EventArgs e)</p><p><b>  {</b></p><p>  this.BindingContext[this.objDataSetBook,"Book"].Position-=1;</p><p>  this.ButtonPositonChange();</

95、p><p>  this.DatasetPostionChange();</p><p><b>  }</b></p><p>  private void btnFirst_Click(object sender, System.EventArgs e)</p><p><b>  {</b><

96、;/p><p>  this.BindingContext[this.objDataSetBook,"Book"].Position=0;</p><p>  this.ButtonPositonChange();</p><p>  this.DatasetPostionChange();</p><p><b>

97、  }</b></p><p>  private void btnLast_Click(object sender, System.EventArgs e)</p><p>  {this.BindingContext[this.objDataSetBook,"Book"].Position=this.BindingContext[this.objDat

98、aSetBook,"Book"].Count-1;</p><p>  this.ButtonPositonChange();</p><p>  this.DatasetPostionChange();</p><p><b>  }</b></p><p>  private void btn

99、Add_Click(object sender, System.EventArgs e)</p><p><b>  {</b></p><p><b>  try</b></p><p><b>  {</b></p><p>  this.BindingContext[th

100、is.objDataSetBook,"Book"].AddNew();</p><p><b>  }</b></p><p>  catch(System.Exception E)</p><p><b>  {</b></p><p>  this.ErrorHandle(E

101、);</p><p><b>  }</b></p><p>  this.DatasetPostionChange();</p><p>  this.ButtonPositonChange();</p><p>  this.TextEnableControl(true);</p><p>

102、  this.ButtonEnableControl(true);</p><p><b>  }</b></p><p>  private void btnDelete_Click(object sender, System.EventArgs e)</p><p><b>  {</b></p><

103、;p>  if((this.BindingContext[this.objDataSetBook,"Book"].Count>0)&</p><p>  (MessageBox.Show("真的要刪除此記錄嗎","確定刪除",MessageBoxButtons.OKCancel,MessageBoxIcon.Question).Equ

104、als(DialogResult.OK)))</p><p><b>  {</b></p><p><b>  try</b></p><p><b>  {</b></p><p>  int currentPosition=this.BindingContext[this

105、.objDataSetBook,"Book"].Position;</p><p>  this.objDataSetBook.Book.Rows[currentPosition].Delete();</p><p><b>  }</b></p><p>  catch(System.Exception E)</p&

106、gt;<p><b>  {</b></p><p>  this.ErrorHandle(E);</p><p><b>  }</b></p><p>  this.ButtonPositonChange();</p><p>  this.DatasetPostionChange

107、();</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  return;</b></p><p><b>  }</b></p><p>  private void

108、btnModify_Click(object sender, System.EventArgs e)</p><p><b>  {</b></p><p>  this.TextEnableControl(true);</p><p>  this.ButtonEnableControl(true);</p><p>

109、<b>  }</b></p><p>  public void UpdateDataSet()</p><p><b>  {</b></p><p>  this.BindingContext[this.objDataSetBook,"Book"].EndCurrentEdit();</p&

110、gt;<p>  DataSetBook objDataSetTemp=new DataSetBook();</p><p>  objDataSetTemp=(DataSetBook)(this.objDataSetBook.GetChanges());</p><p><b>  try</b></p><p><b&g

111、t;  {</b></p><p>  this.UpdateDataSource(objDataSetTemp);</p><p>  this.objDataSetBook.Merge(objDataSetTemp);</p><p>  this.objDataSetBook.AcceptChanges();</p><p>

112、;<b>  }</b></p><p>  catch(System.Exception E)</p><p><b>  {</b></p><p>  this.ErrorHandle(E);</p><p><b>  }</b></p><p>

113、;<b>  }</b></p><p>  public void UpdateDataSource(DataSetBook Changerows)</p><p><b>  {</b></p><p><b>  try</b></p><p><b>  {&

114、lt;/b></p><p>  this.sqlConnection1.Open();</p><p>  this.sqlDataAdapter1.Update(Changerows);</p><p><b>  }</b></p><p>  catch(System.Exception E)</p&

115、gt;<p><b>  {</b></p><p>  this.ErrorHandle(E);</p><p><b>  }</b></p><p><b>  finally</b></p><p><b>  {</b></p

116、><p>  this.sqlConnection1.Close();</p><p><b>  }</b></p><p><b>  }</b></p><p>  private void btnApply_Click(object sender, System.EventArgs e)<

117、;/p><p><b>  {</b></p><p><b>  try</b></p><p><b>  {</b></p><p>  MessageBox.Show("成功!");</p><p>  this.UpdateDa

118、taSet();</p><p><b>  }</b></p><p>  catch(System.Exception E)</p><p><b>  {</b></p><p>  this.ErrorHandle(E);</p><p><b>  }

119、</b></p><p>  this.ButtonPositonChange();</p><p>  this.DatasetPostionChange();</p><p>  this.TextEnableControl(false);</p><p>  this.ButtonEnableControl(false);

120、</p><p><b>  }</b></p><p>  private void btnCancel_Click(object sender, System.EventArgs e)</p><p><b>  {</b></p><p><b>  try</b><

121、;/p><p><b>  {</b></p><p>  this.BindingContext[this.objDataSetBook,"Book"].CancelCurrentEdit();</p><p><b>  }</b></p><p>  catch(System.

122、Exception E)</p><p><b>  {</b></p><p>  this.ErrorHandle(E);</p><p><b>  }</b></p><p>  this.DatasetPostionChange();</p><p>  th

123、is.TextEnableControl(false);</p><p>  this.TextEnableControl(false);</p><p>  this.ButtonEnableControl(false);</p><p><b>  }</b></p><p>  private void btnE

124、xit_Click(object sender, System.EventArgs e)</p><p><b>  {</b></p><p>  this.Close();</p><p><b>  }</b></p><p><b>  6.3借還書:</b></

125、p><p>  public BorrowReturn()</p><p><b>  {</b></p><p>  InitializeComponent();</p><p><b>  }</b></p><p>  protected override void Dis

126、pose( bool disposing )</p><p><b>  {</b></p><p>  if( disposing )</p><p><b>  {</b></p><p>  if (components != null) </p><p><b&

127、gt;  {</b></p><p>  components.Dispose();</p><p><b>  }</b></p><p><b>  }</b></p><p>  base.Dispose( disposing );</p><p><

128、b>  }</b></p><p>  public void ErrorHandle(System.Exception E)</p><p><b>  {</b></p><p>  MessageBox.Show(E.ToString());</p><p><b>  }</b

129、></p><p>  private void btnExit_Click(object sender, System.EventArgs e)</p><p><b>  {</b></p><p>  this.Close();</p><p><b>  }</b></p>

130、<p>  private void btnBorrow_Click(object sender, System.EventArgs e)</p><p><b>  {</b></p><p>  DataRow row=this.objDataSetBorrowReturn.Tables["BorrowBook"].NewR

131、ow();</p><p>  row["ReaderID"]=this.textReaderID.Text;</p><p>  row["BookID"]=this.textBookID.Text;</p><p>  row["BorrowDate"]=System.DateTime.Today;&l

132、t;/p><p>  row["ReturnDate"]=DateTime.Today.AddMonths(1);</p><p>  this.objDataSetBorrowReturn.Tables["BorrowBook"].Rows.Add(rowif(BorrowBook(this.textBookID.Text)&&Bo

133、rrowReader(this.textReaderID.Text))</p><p><b>  {</b></p><p>  this.textInformation.Text=this.textReaderID.Text+"租借圖書"+this.textBookID.Text+"成功";</p><p

134、>  this.UpdateDataSet();</p><p>  this.dataGrid1.Refresh();</p><p><b>  }</b></p><p><b>  }</b></p><p>  private bool BorrowBook

135、(string BookID)</p><p><b>  {</b></p><p>  if(BorrowBookNumber(this.textBookID.Text)>0)</p><p><b>  {</b></p><p>  SqlCommand borrowbook=new

136、SqlCommand();</p><p>  borrowbook.Connection=this.sqlConnection1;</p><p>  borrowbook.CommandType=CommandType.StoredProcedure;</p><p>  borrowbook.CommandText="dbo.StoredProced

137、ureBorrowBook";</p><p>  SqlParameter parinput=borrowbook.Parameters.Add("@BookID",SqlDbType.Char);</p><p>  parinput.Direction=ParameterDirection.Input;</p><p>  par

138、input.Value=BookID;</p><p><b>  try</b></p><p><b>  {</b></p><p>  this.sqlConnection1.Open();</p><p>  borrowbook.ExecuteNonQuery();</p&g

139、t;<p>  this.sqlConnection1.Close();</p><p>  return true;</p><p><b>  }</b></p><p>  catch(System.Exception e)</p><p><b>  {</b></p&g

140、t;<p>  this.ErrorHandle(e);</p><p>  this.sqlConnection1.Close();</p><p>  return false;</p><p><b>  }</b></p><p><b>  }</b></p>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論