WEB課程設(shè)計(jì)圖書借閱信息管理系統(tǒng)_第1頁(yè)
WEB課程設(shè)計(jì)圖書借閱信息管理系統(tǒng)_第2頁(yè)
WEB課程設(shè)計(jì)圖書借閱信息管理系統(tǒng)_第3頁(yè)
WEB課程設(shè)計(jì)圖書借閱信息管理系統(tǒng)_第4頁(yè)
WEB課程設(shè)計(jì)圖書借閱信息管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩20頁(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、1緒論1.1 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)簡(jiǎn)介SQLServer2005數(shù)據(jù)庫(kù)是微軟公司精心打造的企業(yè)級(jí)數(shù)據(jù)庫(kù)平臺(tái)產(chǎn)品,該產(chǎn)品不僅包含了豐富的企業(yè)及數(shù)據(jù)管理功能,還集成了商業(yè)智能等特性。數(shù)據(jù)庫(kù)由DBMS數(shù)據(jù)庫(kù)管理系統(tǒng))處理,DBMSW由開發(fā)人員和用戶通過(guò)應(yīng)用程序直接或間接地使用。它主要包括四個(gè)要素:用戶數(shù)據(jù)、元數(shù)據(jù)、索引和應(yīng)用元數(shù)據(jù)。1.2 VisualStudio2008開發(fā)平臺(tái)VisualStudio是一套完整的開發(fā)工具集,用于生成ASP.NETWeb應(yīng)用程莊_、XMLWebServices、桌面應(yīng)用程序和移動(dòng)應(yīng)用程序。VisualBasic、VisualC+卡VisualC#和VisualJ#全都使用

2、相同的集成開發(fā)環(huán)境(IDE),利用此IDE可以共享工具且有助于創(chuàng)建混合語(yǔ)言解決方案。另外,這些語(yǔ)言利用了.NETFramework的功能,通過(guò)此框架可使用簡(jiǎn)化ASPWeb應(yīng)用程序和XMLWebServices開發(fā)的關(guān)鍵技術(shù)。1.3 圖書管理系統(tǒng)當(dāng)今時(shí)代是飛速發(fā)展的信息時(shí)代。在各行各業(yè)中離不開信息處理,這正是計(jì)算機(jī)被廣泛應(yīng)用于信息管理系統(tǒng)的環(huán)境。計(jì)算機(jī)的最大好處在于利用它能夠進(jìn)行信息管理。使用計(jì)算機(jī)進(jìn)行信息控制,不僅提高了工作效率,而且大大的提高了其安全性。圖書館作為一種信息資源的集散地,圖書和用戶借閱資料繁多,包含很多的信息數(shù)據(jù)的管理,現(xiàn)今,有很多的圖書館都是初步開始使用,甚至尚未使用計(jì)算機(jī)進(jìn)

3、行信息管理。根據(jù)調(diào)查得知,他們以前對(duì)信息管理的主要方式是基于文本、表格等紙介質(zhì)的手工處理,對(duì)于圖書借閱情況(如借書天數(shù)、超過(guò)限定借書時(shí)間的天數(shù))的統(tǒng)計(jì)和核實(shí)等往往采用對(duì)借書卡的人工檢查進(jìn)行,對(duì)借閱者的借閱權(quán)限、以及借閱天數(shù)等用人工計(jì)算、手抄進(jìn)行。數(shù)據(jù)信息處理工作量大,容易出錯(cuò);由于數(shù)據(jù)繁多,容易丟失,且不易查找??偟膩?lái)說(shuō),缺乏系統(tǒng),規(guī)范的信息管理手段。盡管有的圖書館有計(jì)算機(jī),但是尚未用于信息管理,沒(méi)有發(fā)揮它的效力,資源閑置比較突出,這就是管理信息系統(tǒng)的開發(fā)的基本環(huán)境。數(shù)據(jù)處理手工操作,工作量大,出錯(cuò)率高,出錯(cuò)后不易更改。圖書館采取手工方式對(duì)圖書借閱情況進(jìn)行人工管理,由于信息比較多,圖書借閱信息

4、的管理工作混亂而又復(fù)雜;一般借閱情況是記錄在借書證上,圖書的數(shù)目和內(nèi)容記錄在文件中,圖書館的工作人員和管理員也只是當(dāng)時(shí)對(duì)它比較清楚,時(shí)間一長(zhǎng),如再要進(jìn)行查詢,就得在眾多的資料中翻閱、查找了,造成查詢費(fèi)時(shí)、費(fèi)力。如要對(duì)很長(zhǎng)時(shí)間以前的圖書進(jìn)行更改就更加困難了?;谶@此問(wèn)題,我認(rèn)為有必要建立一個(gè)圖書管理系統(tǒng),使圖書管理工作規(guī)范化,系統(tǒng)化,程序化,避免圖書管理的隨意性,提高信息處理的速度和準(zhǔn)確性,能夠及時(shí)、準(zhǔn)確、有效的查詢和修改圖書情況。2數(shù)據(jù)庫(kù)設(shè)計(jì)2.1數(shù)據(jù)庫(kù)分析本系統(tǒng)利用VisualStudio2008處理數(shù)據(jù)庫(kù)的功能,實(shí)現(xiàn)對(duì)圖書館信息的管理。主要功能為管理有關(guān)用戶、管理員、書籍和借閱的信息等。本

5、系統(tǒng)的結(jié)構(gòu)分為用戶信息管理模塊、書籍信息管理模塊、借閱信息管理模塊、管理者管理信息模塊和查詢處理模塊。圖書館管理系統(tǒng)框圖如圖2-1所示2.2.1實(shí)體列表實(shí)體描述戶所有借閱者,查閱者,以及系統(tǒng)管理員,由用戶ID標(biāo)識(shí)圖書圖書館所有圖書,由圖書ID標(biāo)識(shí)借閱圖書ID、借閱ID、借書日期、借閱證號(hào)等屬性,由借閱ID標(biāo)識(shí)2.2.2系統(tǒng)的E-R模型該圖書管理系統(tǒng)的E-R模型,如圖2-2所示2-2系統(tǒng)的E-R模型2.3設(shè)計(jì)數(shù)據(jù)庫(kù)2.3.1 創(chuàng)建數(shù)據(jù)庫(kù)(1)在服務(wù)器資源管理器中的任一節(jié)點(diǎn)右擊。(2)執(zhí)行快捷菜單中的“新建數(shù)據(jù)庫(kù)”命令,并在打開的“創(chuàng)建數(shù)據(jù)庫(kù)”對(duì)話框中輸入數(shù)據(jù)庫(kù)名BookManage其他可采用默認(rèn)

6、值。(3)單擊“確定”按鈕,則新建的數(shù)據(jù)庫(kù)就會(huì)出現(xiàn)在服務(wù)器上。2.3.2 創(chuàng)建數(shù)據(jù)表創(chuàng)建數(shù)據(jù)庫(kù)后,為BookManag做據(jù)庫(kù)添加數(shù)據(jù)表,步驟如下。(1) 在服務(wù)器資源管理器中右擊數(shù)據(jù)庫(kù)BookManage下的“表”文件夾在彈出的快捷菜單中執(zhí)行“新建表”命令。(2) 添加表的字段和其他詳細(xì)資料。各表數(shù)據(jù)結(jié)構(gòu)如下表所示。表2-1用戶信息(userinfo)列名含義數(shù)據(jù)類型說(shuō)明UID用戶IDint自動(dòng),主鍵UName用戶名vchar(50)不為空°Pwd密碼vchar(50)不為空UState用戶權(quán)限,管理員=1,普通用戶=2int不為空,默認(rèn)值為2可以為空UBookID借閱證號(hào)bigin

7、t表2-2圖書信息(bookinfo)列名含義數(shù)據(jù)類型主鍵BookID圖書IDbigint自動(dòng),主鍵BookName圖書名稱Varchar(50)不為空BookType類別Varchar(100)不為空BookAuthor作者Varchar(100)不為空BookPrice價(jià)格smallmoney不為空BookPicVarchar(200)允許為空BookContent內(nèi)容簡(jiǎn)介text不為空BookIssue圖書制定訪問(wèn)偈Varchar(50)不為空表2-3借閱信息(issueinfo)列名含義數(shù)據(jù)類型說(shuō)明IssID借閱IDbigint自動(dòng),主鍵BookID圖書IDbigint外鍵IssBoo

8、kID借閱證號(hào)bigint不為空IssDateTime借書日期datetime不為空2.4數(shù)據(jù)庫(kù)中表的關(guān)系在數(shù)據(jù)庫(kù)中新建BookManag做據(jù)庫(kù)的數(shù)據(jù)庫(kù)關(guān)系圖如圖2-4所示圖2-4數(shù)據(jù)庫(kù)關(guān)系圖3界面設(shè)計(jì)3.1主界面進(jìn)入VisualStudio2008,創(chuàng)建一個(gè)新的“Windows應(yīng)用程序”類型的項(xiàng)目,名為“圖書館管理”。將默認(rèn)創(chuàng)建的窗體命名為“圖書館管理系統(tǒng)”,把“圖書館管理系統(tǒng)”作為本系統(tǒng)中的主界面。在窗體中添加一個(gè)菜單(MenuStrip)控件,一個(gè)工具欄(ToolStrip)控件。MenuStrip中的菜單項(xiàng),子菜單項(xiàng)如圖3-1所示圖3-1主界面3.2 用戶登錄界面本系統(tǒng)的用戶非為普通用

9、戶和管理用戶,管理用戶具有系統(tǒng)提供的所有權(quán)限,普通用戶可以查詢圖書、借閱圖書。在窗體中添加3個(gè)標(biāo)簽(Label)控件,2個(gè)按鈕(Button)控件,1個(gè)組合框(ComboBoX控件,2個(gè)文本框(TextBox)控件。用戶類型分為管理用戶和普通用戶,在組合窗口中添加這兩項(xiàng)。3.3 圖書查詢界面圖書查詢提供組合查詢的方式,界面窗體名稱為“frmSearchBook.cs",圖書類別組合框中的項(xiàng)是從數(shù)據(jù)庫(kù)中獲取的,在設(shè)計(jì)時(shí)不需要添加內(nèi)容。在條件組合框中輸入“or”和“and”,來(lái)動(dòng)態(tài)實(shí)現(xiàn)條件組合。在窗體中添加2個(gè)分組框(GroupBoX)控件:搜索條件、搜索結(jié)果,各種控件的添加如圖3-3所

10、示圖3-3圖書查詢界面在右邊的分組框中添加DataGridView控件,單擊右上角的黑色三角,選擇“在父容器中??俊边x項(xiàng)。3.4 圖書入庫(kù)界面管理員有權(quán)限將圖書添加到數(shù)據(jù)庫(kù)中,圖書入庫(kù)界面的設(shè)計(jì)如圖3-4所示回區(qū)圖書人庫(kù)二圖3-4圖書入庫(kù)界面在窗體的左邊的分組框中添加標(biāo)簽和文本框,用來(lái)接收管理員輸入的圖書信 息,以便保存到數(shù)據(jù)庫(kù)中。在右邊的分組框中添加 DataGridView控件,可以顯 示數(shù)據(jù)庫(kù)中的圖書信息,新添加的圖書信息也可以顯示出來(lái)。3.5 圖書更新界面圖書更新界面用于方便管理員管理圖書信息,實(shí)現(xiàn)圖書信息修改、刪除等操作。界面設(shè)計(jì)如圖3-5所示圖3-5圖書更新界面管理員可以在Data

11、GridView控件中直接修改數(shù)據(jù),也可以通過(guò)右邊的分組框?qū)崿F(xiàn)圖書信息的修改。3.6 圖書借閱界面根據(jù)圖書館中已有的圖書信息,用戶可以通過(guò)圖書證號(hào)實(shí)現(xiàn)借閱。 界面設(shè)計(jì) 如圖3-6所示圖3-6圖書借閱界面4通用類的生成本系統(tǒng)的主要操作都需要與數(shù)據(jù)庫(kù)發(fā)生交互,為了提高代碼的重用性和規(guī)范性,把與數(shù)據(jù)庫(kù)交互的功能單獨(dú)放在一個(gè)類中,在該類中實(shí)現(xiàn)數(shù)據(jù)庫(kù)的增加、刪除、修改、查詢等通用功能。連接數(shù)據(jù)庫(kù);(1)定義數(shù)據(jù)庫(kù)連接字符串,代碼如下:“Data Source=PrivatestaticstringConnectString(local)sqlexpress;DataBase=BookManage.mdf

12、"(2)創(chuàng)建Connection對(duì)象,代碼如下:SqlConnectioncon=newSqlConnection(ConnectString);打開連接,代碼如下:con.Open();關(guān)閉連接,代碼如下:con.Close();5連接數(shù)據(jù)庫(kù)為數(shù)據(jù)庫(kù)BookManag等口本系統(tǒng)之間建立一個(gè)數(shù)據(jù)連接(1)在服務(wù)器資源管理器中右擊“數(shù)據(jù)連接”節(jié)點(diǎn)(VS2008中操作)。在彈出的快捷菜單中執(zhí)行“添加連接”命令,打開DataLinkProperties對(duì)話框。切換至ijProvider選項(xiàng)卡,選中列表框中的MicrosoftOLEDBProviderforSQLServer項(xiàng)。單擊“下一步

13、”切換到Connection選項(xiàng)卡。(2)在其中的第一個(gè)下拉列表框中選擇數(shù)據(jù)庫(kù)所在服務(wù)器名稱。輸入登錄服務(wù)器信息后選擇數(shù)據(jù)庫(kù)BookManage然后單擊測(cè)試按鈕。如果測(cè)試成功,單擊“確定”按鈕。6系統(tǒng)測(cè)試6.1 運(yùn)行主窗口運(yùn)行程序后首先顯示主窗體,如圖6-1所示單擊“登錄”按鈕,就會(huì)彈出登錄窗體,管理用戶具有系統(tǒng)提供的所有權(quán)限,普通用戶可以查詢圖書、借閱圖書。用戶百霍團(tuán)書學(xué)理子耳憎可不疏耐助呢出JAMP留越閔.劇不值凰衛(wèi)遇陽(yáng)圖6-1主窗口在登錄對(duì)話框中輸入用戶姓名和密碼,單擊“確認(rèn)”按鈕,就會(huì)對(duì)用戶身份進(jìn)行認(rèn)證,如果認(rèn)證通過(guò),那么就會(huì)彈出如圖6.2所示的圖書館管理系統(tǒng)的界面:管理員和普通用戶進(jìn)

14、入此窗體后,系統(tǒng)所提供的操作權(quán)限是不同的6.2 圖書查詢功能圖書查詢可以實(shí)現(xiàn)組合查詢,將查詢結(jié)果顯示在DataGridView控件中。窗體載入時(shí),對(duì)圖書類別組合框中的項(xiàng)進(jìn)行了初始化,通過(guò)查詢語(yǔ)句“selectdistinctBookTypefrombookinfo”,調(diào)用DataAccess類中的GetDataSetBySql方法獲取數(shù)據(jù)庫(kù)Bookinfo表中的圖書類別,使用distinct關(guān)鍵字去掉重復(fù)項(xiàng)。使用查詢功能示例如圖6-2所示圖6-2圖書查詢6.3 圖書更新功能圖書更新分為兩種,第一種通過(guò)更改第二種可以通過(guò)修改各字段值進(jìn)行更改??丶行薷牡臄?shù)據(jù)保存到數(shù)據(jù)庫(kù)中。如圖DataGridV

15、iew控件中的數(shù)據(jù)直接更改,單擊“保存修改”按鈕,將DataGridView6-3所示圖6-3圖書更新6.4 圖書入庫(kù)功能管理員登錄系統(tǒng)后,可以為數(shù)據(jù)庫(kù)添加新的圖書信息。如圖6-4所示如圖6-4圖書入庫(kù)6.5 圖書借閱功能用戶登錄系統(tǒng)后,可以借閱不同的書籍,通過(guò)選擇組合框中的書名,該書的圖書訪問(wèn)代碼和作者將顯示在文本框中。如圖6-5所示圖6-5圖書借閱7問(wèn)題分析與解決方法7.1定義連接數(shù)據(jù)庫(kù)字符串的技巧(1)stringconString="provider=sqloledb.1;datasource=.;initialcatalog=capucivar;userid=sa;pwd=

16、"(2)privatestaticstringConnectString="server=(local)sqlexpress;database=Book_Data;user=sa;pwd=1234"(3)PrivatestaticstringConnectString="DataSource=(local)sqlexpress;DataBase=BookManage.mdf"(4) 圖書更新中刪除功能的約束性在圖書館管理員管理圖示信息時(shí),有時(shí)需要不斷地增添新的圖書和刪除舊的圖書信息,但是當(dāng)有一本圖書正在被借閱當(dāng)中,則不能刪除,針對(duì)這一問(wèn)題,該系

17、統(tǒng)應(yīng)該提供有關(guān)對(duì)管理員顯示提醒的功能.下面在刪除功能代碼中用C#S旬提供相應(yīng)的解法.DataSetds=DataAccess.GetDataSetBySql("select*fromIssueInfowhereBookID="+Convert.ToInt32(this.txtbID.Text)+"");if(ds.Tables0.Rows.Count>0)MessageBoxShow("此書有借閱,不能刪除”);return;(5) 圖書查詢功能的友好交互性對(duì)于一個(gè)藏書量很大的圖書館,一本圖書可能有好幾種版本,即作者不同、出版社不同、價(jià)格

18、不同;或者同一類型的書:如計(jì)算機(jī)類的書有很多本。這時(shí)不同的用戶就需要查詢自己所需的書,在查詢時(shí)就需要同時(shí)根據(jù)多項(xiàng)圖書的信息進(jìn)行關(guān)聯(lián)性的查找,所以在查詢功能這一塊要用相應(yīng)的算法解決這一問(wèn)題,如下面的代碼所示,已經(jīng)實(shí)現(xiàn)了圖書的關(guān)聯(lián)性查找:privatevoidbtnSerch_Click(objectsender,EventArgse)stringcbo1=this.cboOR.Text;stringcbo2=this.cboAnd.Text;stringbooktype=cboType.Text;stringbookname=this.txtName.Text;stringbookcontent

19、=this.txtContent.Text;stringsql="select*frombookinfowhereBookType='"+booktype+"'"+cbol+"BookNamelike'%"+bookname+"%'"+cbo2+"BookContentlike'%"+bookcontent+"%'"DataSetMyds=DataAccess.GetDataSetBySql(sql);DataTabletabl

20、e=Myds.Tables0;this.dgvSearchBook.DataSource=table;居圖書播室二|叵空|背索芍宗:圖7-1關(guān)聯(lián)查找如圖7-1所示若要查詢“愛(ài)情情感”類中的“明曉溪”著作的心之萌這本書就要同時(shí)對(duì)圖書類別和圖書名稱這兩個(gè)信息進(jìn)行關(guān)聯(lián)查找:在圖書類別下的組合框中選中“and”,圖書類別中輸入愛(ài)情情感,圖書名稱中輸入心之明。附錄操作數(shù)據(jù)庫(kù)中的數(shù)據(jù)實(shí)現(xiàn)代碼usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Data;usingSystem.Da

21、ta.SqlClient;namespaceBookManageclassDataAccessprivatestaticstringConnectString="DataSource=A20SQLEXPRESS;AttachDb:BookManagedataBookManage.mdf;IntegratedSecurity=False"publicstaticDataTableGetDataSetByTableName(stringtable)using(SqlConnectioncon=newSqlConnection(ConnectString)stringsql=&q

22、uot;select*from"+table+""trySqlDataAdapteradapter=newSqlDataAdapter(sql,con);DataSetds=newDataSet();adapter.Fill(ds,"table");returnds.Tables0;catch(SqlExceptionex)thrownewException(ex.Message);publicstaticDataSetGetDataSetBySql(stringsql)using(SqlConnectioncon=newSqlConnecti

23、on(ConnectString)SqlDataAdapteradapter=newSqlDataAdapter(sql,con);DataSetds=newDataSet();tryadapter.Fill(ds);returnds;catch(SqlExceptionex)thrownewException(ex.Message)publicstaticSqlDataReaderGetDataReaderByID(intid)using(SqlConnectioncon=newSqlConnection(ConnectString)stringsql="select*frombo

24、okinfowherebookid="+id;trySqlCommandcomm=newSqlComman(dsql,con);con.Open();SqlDataReaderreader=comm.ExecuteReader();reader.Read()returnreader;catch(SqlExceptionex)thrownewException(ex.Message);publicstaticboolUpdateDataTable(stringsql)using(SqlConnectioncon=newSqlConnection(ConnectString)trycon

25、.Open();SqlCommandcomm=newSqlComman(dsql,con);/if(comm.ExecuteNonQuery()>0)returntrue;elsereturnfalse;catch(SqlExceptionex)thrownewException(ex.Message);publicstaticvoidUpdateDataSet(DataSetds,stringsql)using(SqlConnectioncon=newSqlConnection(ConnectString)trySqlDataAdapteradapter=newSqlDataAdapt

26、er(sql,con);SqlCommandBuilderbuilder=newSqlCommandBuilder(adapter);adapter.Update(ds,"table");catch(SqlExceptionex)thrownewException(ex.Message);主窗口實(shí)現(xiàn)代碼usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.T

27、ext;usingSystem.Windows.Forms;namespaceBookManagepublicpartialclassFrmMain:FormpublicstaticDialogResultresult;publicFrmMain()InitializeComponent();publicboolcheckchildfrm(stringchildfrmname)foreach(FormchildFrminthis.MdiChildren)if(childFrm.Name=childfrmname)if(childFrm.WindowState=FormWindowState.M

28、inimized)childFrm.WindowState=FormWindowState.Normal;childFrm.Activate();returntrue;returnfalse;privatevoid用戶登錄ToolStripMenuItem_Click(objectsender,EventArgse)if(this.checkchildfrm("frmLogin")=true)return;frmLoginuser=newfrmLogin();user.ShowDialog();if(result=DialogResult.OK)this.tsbtnAddB

29、ook.Enabled=true;this.mnuUpdateBook.Enabled=true;this.mnuAddBook.Enabled=true;privatevoidtsbtnLogin_Click(objectsender,EventArgse)if(this.checkchildfrm("frmLogin")=true)return;frmLoginuser=newfrmLogin();user.ShowDialog();if(result=DialogResult.OK)this.tsbtnAddBook.Enabled=true;this.mnuUpda

30、teBook.Enabled=true;this.mnuAddBook.Enabled=true;privatevoidtsbtnSearch_Click(objectsender,EventArgse)if(this.checkchildfrm("frmSearchBook")=true)return;frmSearchBookbook=newfrmSearchBook();book.MdiParent=this;book.Show();privatevoid圖書檢索ToolStripMenuItem_Click(objectsender,EventArgse)if(th

31、is.checkchildfrm("frmSearchBook")=true)return;frmSearchBookbook=newfrmSearchBook();book.MdiParent=this;book.Show();privatevoid圖書入庫(kù)ToolStripMenuItem1_Click(objectsender,EventArgse)if(this.checkchildfrm("frmAddBook")=true)return;frmAddBookobjbook=newfrmAddBook();objbook.MdiParent=t

32、his;objbook.Show();privatevoidtsbtnAddBook_Click(objectsender,EventArgse)if(this.checkchildfrm("frmUpdateBook")=true)return;frmUpdateBookobjbook=newfrmUpdateBook();objbook.MdiParent=this;objbook.Show();privatevoid圖書修改ToolStripMenuItem_Click(objectsender,EventArgse)if(this.checkchildfrm(&qu

33、ot;frmUpdateBook")=true)return;frmUpdateBookobjbook=newfrmUpdateBook();objbook.MdiParent=this;objbook.Show();privatevoidtsbtnIssue_Click(objectsender,EventArgse)if(this.checkchildfrm("frmIssueBook")=true)return;frmIssueBookissuebook=newfrmIssueBook();issuebook.MdiParent=this;issuebook

34、.Show();privatevoidtsbtnExit_Click(objectsender,EventArgse)Application.Exit();privatevoid退出ToolStripMenuItem1_Click(objectsender,EventArgse)Application.Exit();privatevoid退出ToolStripMenuItem_Click(objectsender,EventArgse)Application.Exit();privatevoidFrmMain_Load(objectsender,EventArgse)this.tsbtnAdd

35、Book.Enabled=false;this.mnuAddBook.Enabled=false;this.mnuUpdateBook.Enabled=false;usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;namespaceBookManagepublicpartialclassfrmSearchBook

36、:FormpublicfrmSearchBook()InitializeComponent();privatevoidbtnSerch_Click(objectsender,EventArgse)stringcbo1=this.cboOR.Text;stringcbo2=this.cboAnd.Text;stringbooktype=cboType.Text;stringbookname=this.txtName.Text;stringbookcontent=this.txtContent.Text;stringsql="select*frombookInfowhereBookTyp

37、e='"+booktype+"'"+cbo1+"BookNamelike'%"+bookname+"%'"+cbo2+ " BookContent like '%"DataSet Myds =+bookcontent+"%'"DataAccess.GetDataSetBySql(sql);DataTabletable=Myds.Tables0;this.dgvSearchBook.DataSource=table;privatevoidf

38、rmSearchBook_Load(objectsender,EventArgse)DataSetMyds=DataAccess.GetDataSetBySql("selectdistinctBookTypefrombookInfo");DataTabletable=Myds.Tables0;for(inti=0;i<table.Rows.Count;i+)this.cboType.Items.Add(table.Rowsi0.ToString().Trim();cboType.SelectedIndex=0;this.cboOR.SelectedIndex=0;th

39、is.cboAnd.SelectedIndex=0;privatevoidbtnClose_Click(objectsender,EventArgse)this.Close();usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Data.SqlClient;namespaceBookMan

40、agepublicpartialclassfrmUpdateBook:FormDataSetds=newDataSet();publicfrmUpdateBook()InitializeComponent();privatevoidfrmUpdateBook_Load(objectsender,EventArgse)stringsql="select*frombookinfo"ds=DataAccess.GetDataSetBySql(sql);this.dgvBookInfo.DataSource=ds.Tables0;this.txtbID.Enabled=false;

41、privatevoidtxtbPic_TextChanged(objectsender,EventArgse)privatevoidbtnUpdate_Click(objectsender,EventArgse)stringbooktype=this.txtbType.Text.ToString();stringbookname=this.txtbName.Text.ToString();stringbookauthor=this.txtAuthor.Text.ToString();Doublebookprice=Convert.ToDouble(this.txtbPrice.Text);st

42、ringbookpic=this.txtbPic.Text.ToString();stringbookcontent=this.txtbContent.Text.ToString();intbookissue=Convert.ToInt32(this.txtIssueID.Text);stringsql=string.Format("updatebookInfosetBookType='0',BookName='1',BookAuthor='2',BookPrice=3,BookPic='4',BookContent=&

43、#39;5',BookIssue=6whereBookID=7",booktype,bookname,bookauthor,bookprice,bookpic,bookcontent,bookissue,Convert.ToInt32(this.txtbID.Text);if(DataAccess.UpdateDataTable(sql)MessageBox.Show("更新成功","提示",MessageBoxButtons.OK);elseMessageBox.Show("更新失敗","提示"

44、,MessageBoxButtons.OK);privatevoidbtnSave_Click(objectsender,EventArgse)stringsql="select*fromBookInfo"DialogResultresult=MessageBox.Show("確實(shí)要將修改保存到數(shù)據(jù)庫(kù)嗎?","操作提示",MessageBoxButtons.OKCancel,MessageBoxIcon.Question);if(result=DialogResult.OK)DataAccess.UpdateDataSet(ds,sq

45、l);MessageBox.Show("保存成功");this.dgvBookInfo.DataSource=DataAccess.GetDataSetBySql(sql).Tables0;privatevoiddgvBookInfo_CellClick(objectsender,DataGridViewCellEventArgse)intindex=this.dgvBookInfo.CurrentCell.RowIndex;this.txtbID.Text=this.dgvBookInfo.Rowsindex.Cells0.Value.ToString().Trim();

46、this.txtbType.Text=this.dgvBookInfo.Rowsindex.Cells1.Value.ToString().Trim();this.txtbName.Text=this.dgvBookInfo.Rowsindex.Cells2.Value.ToString().Trim();this.txtAuthor.Text=this.dgvBookInfo.Rowsindex.Cells3.Value.ToString().Trim();this.txtbPrice.Text=this.dgvBookInfo.Rowsindex.Cells4.Value.ToString

47、().Trim();this.txtbPic.Text=this.dgvBookInfo.Rowsindex.Cells5.Value.ToString().Trim();this.txtbContent.Text=this.dgvBookInfo.Rowsindex.Cells6.Value.ToString();this.txtIssueID.Text=this.dgvBookInfo.Rowsindex.Cells7.Value.ToString();privatevoidbtnUpdatePic_Click(objectsender,EventArgse)stringpic=this.

48、txtbPic.Text.ToString();intbookid=Convert.ToInt32(this.txtbID.Text);frmBookPicbookpic=newfrmBookPic();bookpic.ShowContent(bookid,pic);bookpic.ShowDialog();privatevoidbtnDel_Click(objectsender,EventArgse)DataSetds=DataAccess.GetDataSetBySql("select*fromIssueInfowhereBookID="+Convert.ToInt32

49、(this.txtbID.Text)+"");if(ds.Tables0.Rows.Count>0)MessageBoxShow("此書有借閱,不能刪除”);return;elsestringsql="deletefrombookInfowhereBookID="+this.txtbID.Text+""if(DataAccess.UpdateDataTable(sql)MessageBox.Show("刪除成功","提示",MessageBoxButtons.OK);elseMe

50、ssageBox.Show("刪除失敗","提示MessageBoxButtons.OK);this this this this this this this.txtAuthor.Text =.txtbContent.Text =.txtbID.Text =.txtbName.Text =.txtbPic.Text =.txtbPrice.Text =.txtbType.Text =;privatevoidbtnClose_Click(objectsender,EventArgse)this.Close();圖書借閱功能實(shí)現(xiàn)代碼usingSystem;using

51、System.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;namespaceBookManagepublicpartialclassfrmIssueBook:FormDataSetda;publicfrmIssueBook()nitializeComponent();privatevoidfrmIssueBook_Load(objectsender,EventArgse)DataSetds=DataAccess.GetDataSetBySql("selectBookInfo.BookID,BookName,IssUBookID,IssDateTimefromIssueInfo,BookInfowhereBookInfo.BookID=IssueInfo.BookID");this.dgvIssInfo.DataSource=ds.Tables0;da=DataAccess.GetDataSetB

溫馨提示

  • 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ù)網(wǎng)僅提供信息存儲(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)論