數(shù)據(jù)庫課程設(shè)計報告--圖書管理信息系_第1頁
已閱讀1頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  本 科 數(shù) 據(jù) 庫 課 程 設(shè) 計(論文)</p><p>  題 目:圖書管理信息系</p><p>  學 院:信息工程學院</p><p>  專 業(yè):網(wǎng)絡工程</p><p>  班 級:091班</p><p><b>  學 生:</b&

2、gt;</p><p><b>  學 號:</b></p><p>  指導教師: </p><p><b>  目 錄</b></p><p><b>  一 、需求分析</b></p><p><b&

3、gt;  二 、概念結(jié)構(gòu)設(shè)計</b></p><p>  三 、開發(fā)平臺,開發(fā)工具,后臺數(shù)據(jù)庫介紹說明</p><p>  四 、關(guān)鍵代碼和主要界面</p><p><b>  一 、需求分析</b></p><p>  圖書管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護以及前臺

4、應用程序的開發(fā)兩個方面,一方面要求建立數(shù)據(jù)庫的一致性和完整性;另一方面則要求應用程序具有功能完備、易使用的特點。</p><p>  圖書管理設(shè)計圖書信息、系統(tǒng)用戶信息、讀者信息、圖書借閱信息等多種數(shù)據(jù)管理。從管理的角度可將數(shù)據(jù)管理分為3類:圖書信息管理、系統(tǒng)用戶管理、讀者數(shù)據(jù)管理。圖書信息管理還包括圖書征訂、查詢、借還的操作。系統(tǒng)用戶管理包括系統(tǒng)用戶類別和用戶數(shù)據(jù)管理,讀者數(shù)據(jù)管理包括讀者類別管理和個人數(shù)據(jù)的錄

5、入、修改和刪除。</p><p>  通過對用戶需求和設(shè)計思想的分析。可以得出該圖書管理系統(tǒng)可大致分為以下借個模塊:圖書管理人員維護管理模塊、圖書館工作人員借還管理模塊、借閱查詢模塊。</p><p>  圖書管理人員維護管理模塊</p><p><b>  系統(tǒng)管理模塊</b></p><p>  系統(tǒng)用戶身份的分類、

6、錄入、修改和刪除:</p><p><b>  圖書管理模塊</b></p><p>  圖書數(shù)據(jù)的錄入、修改和刪除等</p><p><b>  讀者管理模塊</b></p><p>  借閱者個人數(shù)據(jù)的錄入、修改和刪除等</p><p>  圖書館工作人員借還管理模塊&l

7、t;/p><p>  包括圖書的借閱、續(xù)借、返還;圖書借閱數(shù)據(jù)的修改;圖書書目查詢等。</p><p><b>  借閱查詢模塊</b></p><p>  圖書書目的查詢;借閱情況的查詢。</p><p>  本系統(tǒng)的系統(tǒng)結(jié)構(gòu)功能圖</p><p><b>  二 、概念結(jié)構(gòu)設(shè)計</

8、b></p><p><b>  局部E-R模式</b></p><p>  圖書(編號,名稱,作者,出版社,出版日期,價格,數(shù)量,類別)</p><p>  借出圖書(借書證號,姓名,性別,身份證,電話,密碼,罰款,身份編號)</p><p>  借閱者(借書證號,姓名,性別,身份證,電話,密碼,罰款,身份編號)

9、</p><p>  圖書類別(圖書類別編號,類別描述)</p><p>  身份(身份編號,身份描述,最大借閱數(shù),最長借閱時間)</p><p><b>  全局E-R 圖</b></p><p><b>  數(shù)據(jù)結(jié)構(gòu)表</b></p><p><b>  圖書信

10、息表數(shù)據(jù)結(jié)構(gòu)</b></p><p><b>  借出圖書信息表</b></p><p><b>  借閱者信息表</b></p><p><b>  身份信息表</b></p><p><b>  圖書類別信息表</b></p>

11、<p><b>  管理信息表</b></p><p>  三 、本系統(tǒng)后臺數(shù)據(jù)庫采用Microsoft Access,前臺采用Microsoft visual studio 2008 C#作為這要開發(fā)工具。采用ADO技術(shù)連接數(shù)據(jù)庫,完成對數(shù)據(jù)庫的一系列操作。本系統(tǒng)按照面向?qū)ο蟮乃枷朐O(shè)計系統(tǒng),進行程序開發(fā),程序設(shè)計條例清楚。</p><p>  四 、關(guān)鍵

12、代碼和主要界面</p><p><b>  1 、登入界面</b></p><p><b>  主要代碼:</b></p><p>  static void Main() </p><p><b>  {</b></p><p>  Applicati

13、on.Run(new Login());</p><p><b>  }</b></p><p>  private void btAdd_Click(object sender, System.EventArgs e)</p><p><b>  {</b></p><p>  if(name.T

14、ext.Trim()==""||password.Text.Trim()=="")</p><p>  MessageBox.Show("請輸入用戶名和密碼","提示");</p><p><b>  else</b></p><p><b>  {<

15、;/b></p><p>  oleConnection1.Open();</p><p>  OleDbCommand cmd=new OleDbCommand("",oleConnection1);</p><p>  if (radioManage.Checked==true)</p><p><b>

16、;  {</b></p><p>  string sql="select * from manager where MName='"+name.Text.Trim()+"' and MCode='"+password.Text.Trim()+"'";</p><p>  cmd.Com

17、mandText=sql;</p><p>  if (null!=cmd.ExecuteScalar())</p><p><b>  {</b></p><p><b>  //隱藏登錄窗口</b></p><p>  this.Visible=false; </p><p

18、>  //創(chuàng)建并打開主界面</p><p>  main main=new main();</p><p>  main.Tag=this.FindForm();</p><p>  OleDbDataReader dr;</p><p>  cmd.CommandText=sql;</p><p>  dr=c

19、md.ExecuteReader();</p><p>  dr.Read();</p><p>  main.statusBarPanel2.Text=name.Text.Trim();</p><p>  main.statusBarPanel6.Text="管理員";</p><p>  main.ShowDialo

20、g(); </p><p><b>  }</b></p><p><b>  else</b></p><p>  MessageBox.Show("用戶名或密碼錯誤","警告");</p><p><b>  }</b>&l

21、t;/p><p>  else if (radioPerson.Checked==true)</p><p><b>  {</b></p><p>  string sql="select * from person where PID='"+name.Text.Trim()+"' and PCode

22、='"+password.Text.Trim()+"'";</p><p>  cmd.CommandText=sql;</p><p>  if (null!=cmd.ExecuteScalar())</p><p><b>  {</b></p><p><b>

23、;  //隱藏登錄窗口</b></p><p>  this.Visible=false; </p><p>  //創(chuàng)建并打開主界面</p><p>  main main=new main();</p><p>  main.Tag=this.FindForm();</p><p>  OleDbDa

24、taReader dr;</p><p>  cmd.CommandText=sql;</p><p>  dr=cmd.ExecuteReader();</p><p>  dr.Read();</p><p>  main.statusBarPanel2.Text=name.Text.Trim();</p><p>

25、;  main.statusBarPanel6.Text="讀者";</p><p>  main.ShowDialog(); </p><p><b>  }</b></p><p><b>  else</b></p><p>  MessageBox.Show("

26、用戶名或密碼錯誤","警告");</p><p><b>  } </b></p><p><b>  else</b></p><p>  MessageBox.Show("沒有選擇角色","提示");</p><p> 

27、 oleConnection1.Close();</p><p><b>  }</b></p><p><b>  }</b></p><p>  private void btClose_Click(object sender, System.EventArgs e)</p><p><b

28、>  {</b></p><p>  this.Close();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  2 主界面&

29、lt;/b></p><p><b>  主要代碼:</b></p><p>  private System.ComponentModel.Container components = null;</p><p>  private OleDbConnection oleConnection1 = null;</p>&l

30、t;p>  public Person()</p><p><b>  {</b></p><p>  InitializeComponent();</p><p>  this.oleConnection1 = new OleDbConnection(LibraryMIS.database.dbConnection.connection

31、);</p><p><b>  }</b></p><p>  private void Person_Load(object sender, System.EventArgs e)</p><p><b>  {</b></p><p>  oleConnection1.Open();</

32、p><p>  string sql = "select PID as 借書證編號,PName as 姓名,PSex as 性別,PPhone as 電話,PN as 身份證,PCode as 密碼,"+</p><p>  "PMoney as 罰款,identity as 身份,PRemark as 備注from person";</p>

33、<p>  OleDbDataAdapter adp = new OleDbDataAdapter(sql,oleConnection1);</p><p>  ds = new DataSet();</p><p>  ds.Clear();</p><p>  adp.Fill(ds,"person");</p>

34、<p>  dataGrid1.DataSource = ds.Tables["person"].DefaultView;</p><p>  dataGrid1.CaptionText = "共有"+ds.Tables["person"].Rows.Count+"條記錄";</p><p>  ol

35、eConnection1.Close();</p><p><b>  }</b></p><p>  AddPerson addPerson;</p><p>  private void btAdd_Click(object sender, System.EventArgs e)</p><p><b> 

36、 {</b></p><p>  addPerson = new AddPerson();</p><p>  addPerson.ShowDialog();</p><p><b>  }</b></p><p>  ModifyPerson modifyPerson;</p><p&g

37、t;  private void btModify_Click(object sender, System.EventArgs e)</p><p><b>  {</b></p><p>  if (dataGrid1.DataSource!=null || dataGrid1[dataGrid1.CurrentCell]!=null)</p><

38、;p><b>  {</b></p><p>  modifyPerson = new ModifyPerson();</p><p>  modifyPerson.textID.Text = ds.Tables["person"].Rows[dataGrid1.CurrentCell.RowNumber][0].ToString().Tri

39、m();</p><p>  modifyPerson.textName.Text = ds.Tables["person"].Rows[dataGrid1.CurrentCell.RowNumber][1].ToString().Trim();</p><p>  modifyPerson.comboSex.Text = ds.Tables["person&

40、quot;].Rows[dataGrid1.CurrentCell.RowNumber][2].ToString().Trim();</p><p>  modifyPerson.textPhone.Text = ds.Tables["person"].Rows[dataGrid1.CurrentCell.RowNumber][3].ToString().Trim();</p>

41、<p>  modifyPerson.textPN.Text = ds.Tables["person"].Rows[dataGrid1.CurrentCell.RowNumber][4].ToString().Trim();</p><p>  modifyPerson.textCode.Text = ds.Tables["person"].Rows[dataGr

42、id1.CurrentCell.RowNumber][5].ToString().Trim();</p><p>  modifyPerson.textMoney.Text = ds.Tables["person"].Rows[dataGrid1.CurrentCell.RowNumber][6].ToString().Trim();</p><p>  modifyP

43、erson.textiden.Text = ds.Tables["person"].Rows[dataGrid1.CurrentCell.RowNumber][7].ToString().Trim();</p><p>  modifyPerson.textRemark.Text = ds.Tables["person"].Rows[dataGrid1.CurrentCel

44、l.RowNumber][8].ToString().Trim();</p><p>  modifyPerson.Show();</p><p><b>  } </b></p><p><b>  else</b></p><p>  MessageBox.Show("沒有指定信息!&

45、quot;,"提示");</p><p><b>  }</b></p><p>  private void btDel_Click(object sender, System.EventArgs e)</p><p><b>  {</b></p><p>  if (dat

46、aGrid1.CurrentRowIndex>=0&&dataGrid1.DataSource!=null&&dataGrid1[dataGrid1.CurrentCell]!=null)</p><p><b>  {</b></p><p>  oleConnection1.Open();</p><p&g

47、t;  string sql="delete * from person where PID='"+ds.Tables[0].Rows[dataGrid1.CurrentCell.RowNumber][0].ToString().Trim()+"'";</p><p>  OleDbCommand cmd = new OleDbCommand(sql,ole

48、Connection1);</p><p>  cmd.ExecuteNonQuery();</p><p>  MessageBox.Show("刪除借閱者'"+ds.Tables[0].Rows[dataGrid1.CurrentCell.RowNumber][1].ToString().Trim()+"'成功","提示

49、");</p><p><b>  } </b></p><p><b>  else</b></p><p><b>  return;</b></p><p><b>  }</b></p><p>  privat

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

51、</p><p><b>  }</b></p><p><b>  圖書界面</b></p><p><b>  主要代碼:</b></p><p>  private System.ComponentModel.Container components = null;<

52、;/p><p>  private OleDbConnection oleConnection1 = null;</p><p>  private void Book_Load(object sender, System.EventArgs e)</p><p><b>  {</b></p><p>  oleConne

53、ction1.Open();</p><p>  string sql = "select BID as 圖書編號,BName as 圖書名,BWriter as 作者,BPublish as 出版社,BDate as 出版日期,BPrice as 價格,"+</p><p>  "BNum as 數(shù)量,type as 類型,BRemark as 備注from

54、 book";</p><p>  OleDbDataAdapter adp = new OleDbDataAdapter(sql,oleConnection1);</p><p>  ds = new DataSet();</p><p>  ds.Clear();</p><p>  adp.Fill(ds,"book

55、");</p><p>  dataGrid1.DataSource = ds.Tables["book"].DefaultView;</p><p>  dataGrid1.CaptionText = "共有"+ds.Tables["book"].Rows.Count+"條記錄";</p>

56、;<p>  oleConnection1.Close();</p><p><b>  }</b></p><p>  AddBook addBook;</p><p>  private void btAdd_Click(object sender, System.EventArgs e)</p><p&g

57、t;<b>  {</b></p><p>  addBook = new AddBook();</p><p>  addBook.ShowDialog();</p><p><b>  }</b></p><p>  ModifyBook modifyBook;</p><p

58、>  private void btModify_Click(object sender, System.EventArgs e)</p><p><b>  {</b></p><p>  if (dataGrid1.DataSource!=null || dataGrid1[dataGrid1.CurrentCell]!=null)</p>&

59、lt;p><b>  {</b></p><p>  modifyBook = new ModifyBook();</p><p>  modifyBook.textID.Text = ds.Tables["book"].Rows[dataGrid1.CurrentCell.RowNumber][0].ToString().Trim();&l

60、t;/p><p>  modifyBook.textName.Text = ds.Tables["book"].Rows[dataGrid1.CurrentCell.RowNumber][1].ToString().Trim();</p><p>  modifyBook.textWriter.Text = ds.Tables["book"].Rows[

61、dataGrid1.CurrentCell.RowNumber][2].ToString().Trim();</p><p>  modifyBook.textPublish.Text = ds.Tables["book"].Rows[dataGrid1.CurrentCell.RowNumber][3].ToString().Trim();</p><p>  mod

62、ifyBook.date1.Text = ds.Tables["book"].Rows[dataGrid1.CurrentCell.RowNumber][4].ToString().Trim();</p><p>  modifyBook.textPrice.Text = ds.Tables["book"].Rows[dataGrid1.CurrentCell.RowNum

63、ber][5].ToString().Trim();</p><p>  modifyBook.textNum.Text = ds.Tables["book"].Rows[dataGrid1.CurrentCell.RowNumber][6].ToString().Trim();</p><p>  modifyBook.textType.Text = ds.Table

64、s["book"].Rows[dataGrid1.CurrentCell.RowNumber][7].ToString().Trim();</p><p>  modifyBook.textRemark.Text = ds.Tables["book"].Rows[dataGrid1.CurrentCell.RowNumber][8].ToString().Trim();&l

65、t;/p><p>  modifyBook.Show();</p><p><b>  } </b></p><p><b>  else</b></p><p>  MessageBox.Show("沒有指定圖書信息!","提示");</p>&l

66、t;p><b>  }</b></p><p>  private void btDel_Click(object sender, System.EventArgs e)</p><p><b>  {</b></p><p>  if (dataGrid1.CurrentRowIndex>=0&&am

67、p;dataGrid1.DataSource!=null&&dataGrid1[dataGrid1.CurrentCell]!=null)</p><p><b>  {</b></p><p>  oleConnection1.Open();</p><p>  string sql="select * from b

68、ookOut where BID='"+ds.Tables["book"].Rows[dataGrid1.CurrentCell.RowNumber][0].ToString().Trim()+"'";</p><p>  OleDbCommand cmd = new OleDbCommand(sql,oleConnection1);</p&

69、gt;<p>  OleDbDataReader dr;</p><p>  dr = cmd.ExecuteReader();</p><p>  if (dr.Read())</p><p><b>  {</b></p><p>  MessageBox.Show("刪除圖書'&qu

70、ot;+ds.Tables["book"].Rows[dataGrid1.CurrentCell.RowNumber][1].ToString().Trim()+"'失敗,該圖書正在流通中!","提示");</p><p>  dr.Close();</p><p><b>  } </b></

71、p><p><b>  else</b></p><p><b>  {</b></p><p>  dr.Close();</p><p>  sql = "delete * from book where BID not in(select distinct BID from bookOu

72、t) and BID "+</p><p>  "= '"+ds.Tables["book"].Rows[dataGrid1.CurrentCell.RowNumber][0].ToString().Trim()+"'";</p><p>  cmd.CommandText = sql;</p>

73、;<p>  cmd.ExecuteNonQuery();</p><p>  MessageBox.Show("刪除圖書'"+ds.Tables[0].Rows[dataGrid1.CurrentCell.RowNumber][1].ToString().Trim()+"'成功","提示");</p><

74、;p><b>  }</b></p><p>  oleConnection1.Close();</p><p><b>  } </b></p><p><b>  else</b></p><p><b>  return;</b></p&

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

76、<b>  }</b></p><p>  private void label1_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p><b>  }</b></p><p><b>  }<

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論