圖書借閱管理系統(tǒng)-畢業(yè)設(shè)計(jì)說(shuō)明書_第1頁(yè)
圖書借閱管理系統(tǒng)-畢業(yè)設(shè)計(jì)說(shuō)明書_第2頁(yè)
圖書借閱管理系統(tǒng)-畢業(yè)設(shè)計(jì)說(shuō)明書_第3頁(yè)
圖書借閱管理系統(tǒng)-畢業(yè)設(shè)計(jì)說(shuō)明書_第4頁(yè)
圖書借閱管理系統(tǒng)-畢業(yè)設(shè)計(jì)說(shuō)明書_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

VIP免費(fèi)下載

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

文檔簡(jiǎn)介

PAGEPAGE25圖書借閱管理系統(tǒng)摘要:圖書借閱管理系統(tǒng)是現(xiàn)代智能辦公系統(tǒng)的重要組成部分。因此,在本論文中詳細(xì)介紹了圖書借閱管理系統(tǒng)從開發(fā)到使用的過程。論文首先從背景上說(shuō)明了圖書借閱管理實(shí)現(xiàn)信息化的重要性;然后對(duì)所用到的軟件進(jìn)行了簡(jiǎn)單的介紹;再通過簡(jiǎn)單的需求分析來(lái)說(shuō)明在圖書借閱管理系統(tǒng)應(yīng)該具備哪些功能;然后構(gòu)建一個(gè)數(shù)據(jù)庫(kù),并對(duì)數(shù)據(jù)庫(kù)中各張表進(jìn)行分析組建相應(yīng)的關(guān)系;在需求分析和數(shù)據(jù)庫(kù)都完成后,再進(jìn)行系統(tǒng)設(shè)計(jì);然后,該論文有對(duì)系統(tǒng)編寫了使用說(shuō)明書;最后,對(duì)此次系統(tǒng)的設(shè)計(jì)進(jìn)行了總結(jié).系統(tǒng)中使用MicrosoftVisualStudio2005,Access軟件進(jìn)行代碼和數(shù)據(jù)庫(kù)的設(shè)計(jì),主要實(shí)現(xiàn)了圖書的借還書管理,讀者信息的管理以及對(duì)圖書信息的管理。關(guān)鍵字:圖書管理;借閱;還書Abstract:LibrarybookLendingManagementSystemisanimportantcomponentpartofthe(IOA),therefore,Inthispaperdetailsthelendingmanagementsystemfromdevelopmenttousetheprocess。Firstly,fromthebackgroundshowslendingmanagementrealizetheimportanceofinformationtechnology;thenthesoftwareusedasimpleintroduction;thenthroughasimpleneedsanalysistoillustratethelendingmanagementsystemwhichfeaturesshouldhave;andthenbuildadatabase,anddatabasetablestoanalyzetheformationofthecorrespondingrelationship;inrequirementsanalysisanddatabasearecomplete,thenthesystemdesign;then,thepaperhaswrittenamanualonthesystem;Finally,thedesignofthesystemsummarized。SystemusingMicrosoftVisualStudio2005,Accesssoftwarecodeanddatabasedesign,themainachievementofthemanagementofborrowingandreturningbooks,readersofbooksofinformationmanagementandinformationmanagement.Keyword:librarymanagement;borrow;returnbooks前言:當(dāng)今社會(huì)是一個(gè)飛速發(fā)展的信息時(shí)代,隨著計(jì)算機(jī)技術(shù)的普及,讓大多數(shù)的辦公事業(yè)通過計(jì)算機(jī)技術(shù)實(shí)現(xiàn)了信息的現(xiàn)代化,網(wǎng)絡(luò)化。圖書館對(duì)很多學(xué)生來(lái)說(shuō)是個(gè)每天都會(huì)去的地方,在哪里他們可以獲取他們想要的知識(shí),同時(shí)也可以從圖書館借閱資料,以方便出圖書館后仍能繼續(xù)查看資料.因此,圖書館作為一個(gè)信息量大的環(huán)境,計(jì)算機(jī)已被用來(lái)協(xié)助圖書管理員來(lái)管理讀者、圖書、和讀者借還書的信息.在信息化還不流行的時(shí)代,通常圖書館里的信息都是通過手工的方式來(lái)記錄,這種方式工作量大,出錯(cuò)率高,也不容易修改各種信息。人工的記錄信息都是以紙質(zhì)的方式來(lái)記錄信息的,大量的信息記錄容易造成資源的浪費(fèi),同時(shí)也污染了環(huán)境。手工操作時(shí),管理員記錄信息時(shí)不僅要進(jìn)行將所有的信息寫到紙張上,還需要在借還書時(shí)對(duì)記錄的數(shù)據(jù)進(jìn)行修改,又是同樣的工作要重復(fù)好幾遍,讓費(fèi)了人力物力;讀者很難進(jìn)行圖書查詢,只能在一個(gè)一個(gè)書架上找,讓費(fèi)了時(shí)間,有時(shí)也不一定能夠找到。為了能夠解決這些問題,我們需要建立一個(gè)圖書借閱管理系統(tǒng),是圖書借閱和管理能夠規(guī)范化,系統(tǒng)化,提高信息處理的速度和準(zhǔn)確性,還能夠優(yōu)化圖書借閱管理的流程,減輕管理員的工作壓力,減少讀者查詢信息所浪費(fèi)的時(shí)間。一、系統(tǒng)概述及開發(fā)工具1.系統(tǒng)概述本圖書借閱管理系統(tǒng)針對(duì)于人工管理圖書借閱時(shí)的各種功能,設(shè)置了兩種人員的使用權(quán)限,一個(gè)是系統(tǒng)管理員,還有一個(gè)是普通用戶;系統(tǒng)管理員主要有讀者信息管理、添加圖書信息、瀏覽圖書信息、借還書管理等功能,而普通用戶只具備了查詢圖書等功能。2。開發(fā)工具M(jìn)icrosoftVisualStudio2005C#是一種面向?qū)ο蟮?、運(yùn)行于.NETFramework之上的高級(jí)程序設(shè)計(jì)語(yǔ)言,具有許多優(yōu)良的特性和廣泛的應(yīng)用背景。C#(讀作“Csharp”)是Microsoft公司推出的一種以C/C++為基礎(chǔ)的新的開發(fā)語(yǔ)言。作為一種新的程序設(shè)計(jì)語(yǔ)言,主要具有一下特點(diǎn):簡(jiǎn)潔的語(yǔ)法、精心地面向?qū)ο笤O(shè)計(jì)、與Web的緊密結(jié)合、完整的安全性與錯(cuò)誤處理、版本處理技術(shù)、靈活性與兼容性。C#在帶來(lái)對(duì)應(yīng)用程序的快速開發(fā)能力的同時(shí),并沒有犧牲C與C++程序員所關(guān)心的各種特性。它忠實(shí)地繼承了C和C++的優(yōu)點(diǎn)。如果你對(duì)C或C++有所了解,你會(huì)發(fā)現(xiàn)它是那樣的熟悉。即使你是一位新手,C#也不會(huì)給你帶來(lái)任何其它的麻煩,快速應(yīng)用程序開發(fā)(RapidApplicationDevelopment,RAD)的思想與簡(jiǎn)潔的語(yǔ)法將會(huì)使你迅速成為一名熟練的開發(fā)人員.MicrosoftOfficeAccessMicrosoftOfficeAccess是由微軟發(fā)布的關(guān)聯(lián)式HYPERLINK”/view/68446.htm"\t”_blank”數(shù)據(jù)庫(kù)管理系統(tǒng)。它結(jié)合了MicrosoftJetDatabaseEngine和\t”_blank”圖形用戶界面兩項(xiàng)特點(diǎn),是MicrosoftOffice的系統(tǒng)程式之一。Assess能夠存取Access/Jet、HYPERLINK”/view/1626075。htm”\t"_blank”MicrosoftSQLServer、\t”_blank”O(jiān)racle,或者任何HYPERLINK”/view/41321。htm”\t"_blank”O(jiān)DBC兼容數(shù)據(jù)庫(kù)內(nèi)的資料。熟練的HYPERLINK”/view/483038。htm"\t"_blank”軟件設(shè)計(jì)師和資料分析師利用它來(lái)開發(fā)HYPERLINK”http:///view/7886.htm"\t”_blank”應(yīng)用軟件,而一些不熟練的程序員和非程序員的"進(jìn)階用戶"則能使用它來(lái)開發(fā)簡(jiǎn)單的應(yīng)用軟件。Access是Office系列軟件中用來(lái)專門管理數(shù)據(jù)庫(kù)的應(yīng)用軟件。Access應(yīng)用程序就是一種功能強(qiáng)大且使用方便的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),一邊也稱關(guān)系型數(shù)據(jù)庫(kù)管理軟件。他可運(yùn)行于各種MicrosoftWindows系統(tǒng)環(huán)境中,由于它繼承了Windows的特性,不僅易于使用,而且界面友好,如今在世界各地廣泛流行。它并不需要數(shù)據(jù)庫(kù)管理著具有專業(yè)的程序設(shè)計(jì)水平,任何非專業(yè)的用戶都可以用它來(lái)創(chuàng)建功能強(qiáng)大的數(shù)據(jù)庫(kù)管理系統(tǒng)。二、系統(tǒng)分析在計(jì)算機(jī)尚未在圖書館廣泛使用之前人們都是用純手工的方法進(jìn)行圖書的管理、借閱和歸還,還有對(duì)讀者信息的管理。一個(gè)最典型的手工處理還書過程就是:讀者將要借的書和借閱證交給工作人員,工作人員將每本書上附帶的描述書的信息的卡片和讀者的借閱證信息記錄下來(lái),并在借閱證和每本書貼的借閱條上填寫借閱信息。這樣借書過程就完成了。還書時(shí),讀者將要還的書交給工作人員,工作人員根據(jù)圖書信息找到相應(yīng)的書卡和借閱證信息,并填好相應(yīng)的還書信息,這樣還書過程就完成了。但是這樣的操作不僅需要大量的人力,還需投入大量的物力,而且在查詢信息時(shí)極其不方便。這樣就降低了管理員的工作效率,出錯(cuò)率也大大提高,也讓圖書信息的更新放慢了速度。但在計(jì)算機(jī)技術(shù)流行的今天,計(jì)算機(jī)的圖書館里系統(tǒng)已經(jīng)完全代替了手工,實(shí)現(xiàn)了信息化的圖書管理。在實(shí)現(xiàn)圖書借閱管理的信息化過程中,我們需要實(shí)現(xiàn)手工操作下的所有功能.如:能夠輸入圖書的綜合情況和進(jìn)行新書入庫(kù)、現(xiàn)有圖書信息修改以及刪除;能夠?qū)崿F(xiàn)對(duì)讀者檔案的查詢和編輯管理;能夠進(jìn)行借閱歷史的查詢功能.設(shè)計(jì)圖書借閱管理系統(tǒng)主要是利用數(shù)據(jù)庫(kù)和VS軟件編制一個(gè)管理軟件,用以實(shí)現(xiàn)圖書、讀者以及日常工作等多項(xiàng)管理。同時(shí)對(duì)整個(gè)系統(tǒng)的分析、設(shè)計(jì)過程給出一個(gè)完整論證.如:圖書信息的批量錄入和刪除、圖書信息的查詢、讀者信息的錄入和刪除。圖書管理系統(tǒng)是一種基于集中統(tǒng)一規(guī)劃的數(shù)據(jù)庫(kù)數(shù)據(jù)管理新模式。在對(duì)圖書、讀者的管理,其實(shí)是對(duì)圖書、讀者數(shù)據(jù)的管理。本系統(tǒng)的建成無(wú)疑會(huì)為管理者對(duì)圖書管理系統(tǒng)提供極大的幫助。其中主要包括以下功能(如圖1):圖1圖書借閱管理系統(tǒng)功能模塊圖管理員權(quán)限設(shè)置圖書管理圖書基本信息登記登記圖書的相關(guān)信息包括圖書編號(hào),圖書名稱,作者,出版日期,出版社,類型,數(shù)量,價(jià)格還有與之相關(guān)的備注。顯示書目詳細(xì)資料時(shí),要求顯示圖書編號(hào),圖書名稱,作者,出版日期,出版社,類型,數(shù)量,價(jià)格還有與之相關(guān)的備注。讀者信息管理讀者信息登記登記新讀者的相關(guān)信息包括借書證編號(hào),姓名,性別,電話,身份證,密碼,罰款,身份,和與之相關(guān)的備注。顯示讀者詳細(xì)信息時(shí),要求顯示借書證編號(hào),姓名,性別,電話,身份證,密碼,罰款,身份,和與之相關(guān)的備注.讀者借閱查詢能夠顯示出讀者的個(gè)人信息和圖書的相關(guān)信息。圖書借閱管理借閱登記提供借閱登記表,登記借閱者信息和需要借的相關(guān)圖書的信息.判斷該圖書是否已經(jīng)借出,如已經(jīng)借出則提示。借出書后,將相關(guān)信息添加到借出書表中。返還登記通過讀者相關(guān)信息的填寫,和圖書編號(hào)的填寫,顯示出借出圖書的相關(guān)信息。將該書的歸還時(shí)間記錄在借書表中。借閱信息查詢提供借閱的書目列表,包括圖書名稱,作者,借閱書籍?dāng)?shù).2、普通用戶權(quán)限圖書信息查詢圖書信息的查詢用戶通過相關(guān)要求的輸入,系統(tǒng)能夠顯示出符合用戶需求的圖書的相關(guān)信息。圖書借閱查詢用戶在登錄系統(tǒng)后可以查看自己的借書情況,以便自己的借書方便。用戶密碼修改用戶可以通過系統(tǒng)的相關(guān)操作,修改自己的密碼,保證了自己密碼的可靠性。三、系統(tǒng)設(shè)計(jì)1。后臺(tái)數(shù)據(jù)庫(kù)設(shè)計(jì)在本套系統(tǒng)中,設(shè)計(jì)了6張數(shù)據(jù)表,這些數(shù)據(jù)表分別用來(lái)存儲(chǔ)與圖書相關(guān)的信息、與讀者相關(guān)的信息.下面分別介紹這些表的數(shù)據(jù)結(jié)構(gòu)。表1圖書信息表字段名類型及長(zhǎng)度說(shuō)明備注BIDvarchar(50)圖書編號(hào)主關(guān)鍵字BNamevarchar(50)圖書名BWritervarchar(50)作者BPublishvarchar(50)出版社BDatedate出版日期BPricevarchar(50)價(jià)格BNumvarchar(50)數(shù)量Typevarchar(50)類型BRemarkvarchar(50)備注表2借出信息表字段名類型及長(zhǎng)度說(shuō)明備注OID自動(dòng)編號(hào)系統(tǒng)自動(dòng)生產(chǎn)編號(hào)主關(guān)鍵字BIDvarchar(50)圖書編號(hào)PIDvarchar(50)讀者編號(hào)ODatedate借出日期表3讀者身份信息表字段名類型及長(zhǎng)度說(shuō)明備注identityvarchar(50)身份主關(guān)鍵字longTimeint最長(zhǎng)借閱時(shí)bigNumint最大借閱數(shù)表4用戶權(quán)限表字段名類型及長(zhǎng)度說(shuō)明備注MNamevarchar(50)用戶名主關(guān)鍵字MCodevarchar(50)密碼manage是/否權(quán)限1work是/否權(quán)限2query是/否權(quán)限3表5讀者信息表字段名類型及長(zhǎng)度說(shuō)明備注PIDvarchar(50)借書證編號(hào)主關(guān)鍵字PNamevarchar(50)姓名PSexvarchar(50)性別PPhonevarchar(50)電話PNvarchar(50)身份證PCodevarchar(50)密碼PMoneyint罰款identityvarchar(50)身份PRemarkvarchar(50)備注sys是/否權(quán)限表6圖書類型表字段名類型及長(zhǎng)度說(shuō)明備注TID自動(dòng)編號(hào)系統(tǒng)自動(dòng)生產(chǎn)編號(hào)主關(guān)鍵字typevarchar(50)類型tRemarkvarchar(50)類型描述數(shù)據(jù)庫(kù)關(guān)系圖體現(xiàn)了數(shù)據(jù)庫(kù)各個(gè)表之間的聯(lián)系,直觀而清晰為系統(tǒng)的開發(fā)提供了方便。對(duì)于上述幾個(gè)表,他們的關(guān)系圖2所示圖2數(shù)據(jù)庫(kù)關(guān)系圖2.程序設(shè)計(jì)我們總會(huì)想到我們?cè)趫D書館借書時(shí),一個(gè)是管理員可以登錄界面,還有就是讀者自己也能登錄系統(tǒng)進(jìn)行信息的查看。在設(shè)計(jì)時(shí),需要根據(jù)使用者的類型來(lái)制作,在這里可以使用來(lái)個(gè)單選按鈕來(lái)讓用戶進(jìn)行選擇,在選擇用戶后,我們通過文本框中用戶編碼和密碼,然后通過確定按鈕的添加點(diǎn)擊來(lái)對(duì)比文本框中的信息與數(shù)據(jù)庫(kù)中的信息是否相符,是否能夠登錄系統(tǒng)。如圖3:圖3登錄界面代碼如下:privatevoidbtAdd_Click(objectsender,System.EventArgse){if(name。Text。Trim()=="”||password.Text.Trim()==”")//由判斷文本框中的內(nèi)容給出相應(yīng)提示MessageBox。Show(”請(qǐng)輸入用戶名和密碼","提示");else{oleConnection1.Open();//打開數(shù)據(jù)庫(kù)OleDbCommandcmd=newOleDbCommand(””,oleConnection1);//定義命令對(duì)象if(radioManage。Checked==true)//判斷選擇的用戶是否是管理員{stringsql=”select*frommanagerwhereMName=’”+name.Text.Trim()+"'andMCode='”+password。Text。Trim()+”’";//SQL語(yǔ)句表示選擇出與文本框中已知條件相同的管理員的相關(guān)信息cmd。CommandText=sql;if(null!=cmd。ExecuteScalar()){this.Visible=false;//隱藏登錄窗口mainmain=newmain();//創(chuàng)建并打開主界面main。Tag=this。FindForm();OleDbDataReaderdr;cmd.CommandText=sql;dr=cmd.ExecuteReader();dr.Read();main。menuItem1.Visible=(bool)(dr。GetValue(2));…………;//與上一行相同,都是由通過對(duì)數(shù)據(jù)的讀取和核對(duì)將管理員能夠操作的界面顯示出來(lái)main。statusBarPanel2.Text=name.Text。Trim();main.statusBarPanel6。Text="管理員”;//將單選按鈕中選擇的內(nèi)容顯示在主界面下方的statusBarPanel中main.ShowDialog();}elseMessageBox。Show(”用戶名或密碼錯(cuò)誤”,”警告"); }//選擇讀者的代碼如同管理員的一樣}在設(shè)計(jì),應(yīng)該設(shè)計(jì)一個(gè)主界面,在主界面中,可以添加一個(gè)主菜單,將每個(gè)相同類型的共能夠放在同一個(gè)功能區(qū)中,然后可以設(shè)置下拉式菜單來(lái)添加各個(gè)不同的功能。同時(shí),每個(gè)功能能夠連接到屬于每個(gè)功能的界面上。如圖4:圖4主界面代碼如下:privatevoidmenuItem8_Click(objectsender,System。EventArgse){addUser=newAddUser();//建立新的界面for(intx=0;x〈this。MdiChildren。Length;x++){FormtempChild=(Form)this.MdiChildren[x];tempChild。Close();}addUser。MdiParent=this;addUser。WindowState=FormWindowState.Maximized;addUser。Show();}在設(shè)計(jì)好主界面后,就開始設(shè)計(jì)功能窗體添加用戶,設(shè)計(jì)時(shí),需要將文本框中的信息通過Insert語(yǔ)句加入數(shù)據(jù)庫(kù)中的manager表中,insert語(yǔ)句編寫時(shí),需要一一對(duì)應(yīng)字段,如圖5:圖5添加用戶代碼如下:privatevoidbtAdd_Click(objectsender,System。EventArgse){if(textName。Text.Trim()==""||textPassword.Text。Trim()==””||textPWDNew。Text.Trim()==”"||radioManage。Checked==false&&radioWork.Checked==false)//pa判斷要填文本框中的信息是否都填寫好MessageBox。Show(”請(qǐng)輸入完整信息!","警告");else{if(textPassword.Text。Trim()!=textPWDNew.Text.Trim())//判斷兩次輸入的密碼是否一致{MessageBox.Show(”兩次密碼輸入不一致!",”警告”);}else{………;//打開數(shù)據(jù)庫(kù),創(chuàng)建操作ACccess數(shù)據(jù)庫(kù)的Command對(duì)象stringsql=”select*frommanagerwhereMName='"+textName。Text。Trim()+”’”;cmd.CommandText=sql;//獲取或設(shè)置欲對(duì)數(shù)據(jù)源執(zhí)行的SQL命令、存儲(chǔ)過程名稱、數(shù)據(jù)庫(kù)名稱if(null==cmd.ExecuteScalar()){if(radioManage。Checked==true)//通過判斷單選按鈕的選擇來(lái)確定insert語(yǔ)句中的相應(yīng)內(nèi)容sql="insertintomanager"+”values('”+textName。Text。Trim()+"’,'"+textPWDNew。Text.Trim()+"',true,false,false)";elsesql=”insertintomanager”+"values(’"+textName。Text。Trim()+"’,'”+textPWDNew.Text。Trim()+”’,false,true,false)"; …;//執(zhí)行SQL語(yǔ)句MessageBox。Show(”添加用戶成功!",”提示”);this.Close();}}}}瀏覽讀者,有時(shí)管理員需要瀏覽一些讀者的信息,設(shè)計(jì)用戶列表時(shí),我們主要是通過dataGridView的數(shù)據(jù)綁定,將用戶信息顯示在列表框中,在設(shè)計(jì)時(shí),可以對(duì)每個(gè)用戶進(jìn)行權(quán)限設(shè)置,權(quán)限1表示管理的權(quán)限,權(quán)限2表示工作人員權(quán)限,權(quán)限3表示查詢的權(quán)限如圖6:圖6用戶列表代碼如下:privatevoidUser_Load(objectsender,System.EventArgse){…………;//打開數(shù)據(jù)庫(kù)stringsql=”selectMNameas用戶名,MCodeas密碼,manageas權(quán)限,workas權(quán)限,queryas權(quán)限frommanager”;//查詢manager表中的所有字段……………;//定義命令對(duì)象ds=newDataSet();//創(chuàng)建DataSet對(duì)象結(jié)構(gòu)ds。Clear();adp。Fill(ds,”user”);//填充數(shù)據(jù)到DataSet對(duì)象的“MName"表中dataGrid1。DataSource=ds.Tables["user"].DefaultView;//定義Datatable對(duì)象dataGrid1。CaptionText=”共有"+ds.Tables["user"]。Rows。Count+”條記錄";oleConnection1.Close();}圖書類別管理,有時(shí)圖書館新增新的類別的圖書,管理員需要添加圖書類別。設(shè)計(jì)時(shí),在文本框中輸入相應(yīng)的信息,通過SQL語(yǔ)句將文本框中的信息插入到數(shù)據(jù)表中。如圖7:圖7添加圖書類型代碼如下:privatevoidType_Load(objectsender,System.EventArgse)//通過數(shù)據(jù)綁定和鏈接顯示出圖書{類別………;//打開數(shù)據(jù)庫(kù)stringsql=”selecttypeas類型,tRemarkas類型描述,TIDas類型編號(hào)fromtype”;………;//創(chuàng)建操作ACccess數(shù)據(jù)庫(kù)的Command對(duì)象,創(chuàng)建DataSet對(duì)象結(jié)構(gòu),填充數(shù)據(jù)到DataSet對(duì)象的“MName”表中,定義Datatable對(duì)象,關(guān)閉數(shù)據(jù)庫(kù)}privatevoidbtAdd_Click(objectsender,System.EventArgse){addType=newAddType();//創(chuàng)建新頁(yè)面并跳出新頁(yè)面addType.ShowDialog();}privatevoidbtAdd_Click(objectsender,System.EventArgse){if(textName.Text。Trim()==””||textRemark.Text.Trim()==”")MessageBox。Show("請(qǐng)?zhí)顚懲暾畔ⅰ保碧崾?);//判斷文本框中信息是否為空else{………;//打開數(shù)據(jù)庫(kù)stringsql=”select*fromtypewheretype='"+textName。Text。Trim()+”'”;…………;//創(chuàng)建操作ACccess數(shù)據(jù)庫(kù)的Command對(duì)象if(null!=cmd.ExecuteScalar())MessageBox。Show(”類型重復(fù),請(qǐng)重新輸入!”,”提示”);else{sql="insertintotype(type,tRemark)values(’"+textName。Text。Trim()+”’,’"+textRemark.Text.Trim()+"’)";…………;//獲取或設(shè)置欲對(duì)數(shù)據(jù)源執(zhí)行的SQL命令、存儲(chǔ)過程名稱、數(shù)據(jù)庫(kù)名稱textName.Clear();//清空文本框……;//清空文本框}…………;//關(guān)閉數(shù)據(jù)庫(kù)}}有時(shí)圖書館里的某種圖書類型退架時(shí),管理員需要?jiǎng)h除該圖書的類型,設(shè)計(jì)時(shí),可以通過數(shù)據(jù)庫(kù)的連接,讀取數(shù)據(jù),然后用SQL語(yǔ)句進(jìn)行記錄刪除。如圖8:圖8刪除圖書類型代碼如下:privatevoidbtDel_Click(objectsender,System.EventArgse){if(dataGrid1.CurrentRowIndex>=0&&dataGrid1.DataSource!=null&&dataGrid1[dataGrid1。CurrentCell]!=null){oleConnection1。Open();stringsql=”select*frombookwheretype=’”+ds.Tables[”type"]。Rows[dataGrid1.CurrentCell。RowNumber][0]。ToString()。Trim()+”’”;……………;//定義命令對(duì)象,并執(zhí)行語(yǔ)句OleDbDataReaderdr;//讀取數(shù)據(jù)dr=cmd。ExecuteReader();if(dr。Read()){MessageBox.Show("刪除類型'"+ds.Tables["type”].Rows[dataGrid1。CurrentCell.RowNumber][0]。ToString()。Trim()+”'失敗,請(qǐng)先刪掉該類型圖書!",”提示”);dr。Close();}else{dr。Close();sql="delete*fromtypewheretypenotin(selectdistincttypefrombook)andTID"+"="+ds.Tables["type"].Rows[dataGrid1。CurrentCell。RowNumber][2]。ToString()。Trim()+"”;cmd.CommandText=sql;cmd.ExecuteNonQuery();MessageBox。Show("刪除類型'"+ds。Tables[0].Rows[dataGrid1.CurrentCell.RowNumber][0].ToString().Trim()+"’成功”,”提示");}oleConnection1。Close();}elsereturn;}對(duì)讀者的管理,圖書信息的管理代碼就如圖書類型的添加刪除修改相似,在這里就不一一介紹.借書和還書管理,在讀者借書時(shí),管理員要根據(jù)要求填寫相應(yīng)的信息。設(shè)計(jì)過程中,通過數(shù)據(jù)綁定,在圖書證號(hào)輸入后,提取數(shù)據(jù)將讀者表中的相應(yīng)記錄提取出來(lái)顯示在,借閱者信息的文本框中,圖書信息也就如讀者信息一樣提取數(shù)據(jù)顯示出來(lái),借書操作就是通過SQL語(yǔ)句的編寫將新的借書記錄添加到借書表中。如圖9:圖9借書代碼如下:privatevoidtextPID_KeyDown(objectsender,System.Windows。Forms.KeyEventArgse) {……;//打開數(shù)據(jù)庫(kù)stringsql1=”selectPNameas姓名,PSexas性別,PNas身份證,PMoneyas罰款,identityas身份”+”frompersonwherePID=’"+textPID。Text。Trim()+”’”;stringsql3=”selectBIDfrombookOutwherePID=’”+textPID.Text。Trim()+"’”;………;//定義命令對(duì)象……;//創(chuàng)建DataSet對(duì)象結(jié)構(gòu),填充數(shù)據(jù)到DataSet對(duì)象的“PName和BID”表中,定義Datatable對(duì)象if(ds.Tables[0]。Rows.Count!=0){textPName.Text=ds.Tables[”person”]。Rows[dataGrid2.CurrentCell。RowNumber][0].ToString().Trim();//通過綁定,將數(shù)據(jù)庫(kù)中與編號(hào)相對(duì)應(yīng)的信息提取出來(lái)顯示在相應(yīng)的文本框中}for(intx=0;x〈ds.Tables[”bookid”].Rows.Count;x++){stringsql2="selectbook.BIDas圖書編號(hào),BNameas圖書名,BWriteras作者,BPublishas出版社,BDateas出版日期,BPriceas價(jià)格,"+"typeas類型,ODateas借書日期,(selectlongTimefromidentityinfowhereidentity=(selectidentityfrompersonwherePID='”+textPID。Text.Trim()+”’))"+”as最長(zhǎng)借書時(shí)間,dateAdd('m',最長(zhǎng)借書時(shí)間,ODate)as應(yīng)還日期frombook,bookOutwherebook。BID=bookOut.BIDandbook。BID=’”+ds。Tables["bookid"]。Rows[x][0]+"’”+”andPID=’”+textPID.Text。Trim()+”'”;OleDbDataAdapteradp2=newOleDbDataAdapter(sql2,oleConnection1);adp2.Fill(ds,”bookout”);dataGrid1.DataSource=ds.Tables["bookout"].DefaultView;dataGrid1.CaptionText=”已借圖書”+ds.Tables["bookout"]。Rows.Count+"本”;}………;//關(guān)閉數(shù)據(jù)庫(kù)}privatevoidbtOut_Click(objectsender,System.EventArgse)//借書{if(textPID.Text。Trim()==”"||textBID.Text。Trim()=="")MessageBox。Show("請(qǐng)輸入完整信息","提示");else{oleConnection1.Open();stringsql=”select*frombookOutwhereBID=’"+textBID.Text。Trim()+”'andPID='”+textPID。Text.Trim()+”'”;…………;//定義命令對(duì)象,在數(shù)據(jù)庫(kù)中執(zhí)行上面的SQL語(yǔ)句if(null!=cmd.ExecuteScalar())MessageBox.Show(”你已經(jīng)借了一本該書”,”提示”);else{sql="insertintobookOut(BID,PID,ODate)values('”+textBID。Text.Trim()+”',’"+textPID.Text。Trim()+”’,'”+date1.Text.Trim()+”’)”;…………;//獲取或設(shè)置欲對(duì)數(shù)據(jù)源執(zhí)行的SQL命令、存儲(chǔ)過程名稱、數(shù)據(jù)庫(kù)名稱cmd.ExecuteNonQuery();……………;//關(guān)閉數(shù)據(jù)庫(kù)MessageBox.Show(”借出成功",”提示”);} }}在讀者還書時(shí),管理員也應(yīng)根據(jù)要求填寫相應(yīng)的信息。還書程序的設(shè)計(jì)就如同借書程序設(shè)計(jì)一樣的原理。如圖10:圖10還書代碼如下:privatevoidbtIn_Click(objectsender,System。EventArgse)//還書{if(textBID。Text。Trim()==null)MessageBox.Show(”請(qǐng)?zhí)顚憟D書編號(hào)”,"提示”);else{……………;//打開數(shù)據(jù)庫(kù)stringsql="delete*frombookOutwhereBID=’”+textBID。Text.Trim()+"’,andPID='”+textPID。Text。Trim()+"'";……………;//定義命令對(duì)象,并執(zhí)行SQL語(yǔ)句cmd.ExecuteNonQuery();MessageBox。Show("還書成功",”提示");}}讀者在進(jìn)入系統(tǒng)后,能夠查看自己所需的圖書是否圖書庫(kù)存還有,也能夠查看自己已經(jīng)借過多少圖書以及自己這些圖書在什么時(shí)候之前還,同樣讀者還可以隨時(shí)修改自己的密碼,這樣有助于自己密碼的安全性的維護(hù)。查詢圖書,設(shè)計(jì)時(shí),應(yīng)該考慮到,讀者有些時(shí)候查詢圖書時(shí)并不能夠就記住圖書的名字,因此,我們不僅要通過圖書名來(lái)查詢,還要能夠通過圖書編號(hào)和作者名來(lái)查詢自己所需的圖書,在編寫代碼時(shí),通過文本框中輸入的信息來(lái)編寫相應(yīng)的SQL語(yǔ)句,然后通過數(shù)據(jù)綁定來(lái)將圖書的信息顯示在datagridview中。如圖11:圖11圖書查詢代碼如下:privatevoidbtQuery_Click(objectsender,System。EventArgse){stringsql1="(BNum-(selectcount(*)frombookOutwhere";stringsql="selectBIDas圖書編號(hào),BNameas圖書名,BWriteras作者,BPublishas出版社,BDateas出版日期,BPriceas價(jià)格,"+"BNumas數(shù)量,typeas類型,BRemarkas備注,”;if(textID.Text。Trim()!=””){sql1=sql1+”BID="+"’”+textID。Text。Trim()+"’))as庫(kù)存數(shù)量";sql=sql+sql1+”frombookwhereBID=”+”'”+textID。Text.Trim()+”'”;} elseif(textName。Text。Trim()!=””){……;//同上}elseif(textWriter.Text.Trim()!="”){……;//同上}else{MessageBox。Show(”請(qǐng)輸入查詢條件","提示");return;}oleConnection1.Open();//打開數(shù)據(jù)庫(kù)……………;//定義命令對(duì)象,并執(zhí)行語(yǔ)句……………;//創(chuàng)建DataSet對(duì)象結(jié)構(gòu)ds。Clear();……………;//定義Datatable對(duì)象,并初始化表dataGrid1.DataSource=ds.Tables[0].DefaultView;dataGrid1。CaptionText=”共有"+ds.Tables[0].Rows.Count+”條查詢記錄";oleConnection1。Close();}查詢自己所借圖書記錄,借閱者信息及借閱情況的查詢就如同管理員瀏覽用戶一樣,通過對(duì)dataGrid的數(shù)據(jù)綁定,編寫SQL語(yǔ)句將借閱者信息和借閱者的借書情況查詢。如圖12:圖12借閱信息用戶密碼修改,有時(shí),為了保證帳號(hào)的安全性,使用者可以修改自己的密碼。設(shè)計(jì)時(shí),通常我們需要先填寫原先的密碼,然后才能輸入新密碼,在輸入新密碼后還需確定新密碼,然后通過SQL語(yǔ)句將新的密碼修改到數(shù)據(jù)庫(kù)中.如圖13:圖13修改密碼代碼如下:privatevoidbtSave_Click(objectsender,System。EventArgse){if(textName.Text.Trim()==”"||textPWD。Text.Trim()==””||textPWDNew。Text.Trim()==""||textPWDNew2。Text。Trim()==””)MessageBox。Show(”請(qǐng)?zhí)顚懲暾畔ⅲ?,”提示");else{oleConnection1。Open();…………;//定義命令對(duì)象stringsql1="select*frompersonwherePID=’"+textName.Text.Trim()+"’andPCode='"+textPWD。Text.Trim()+”'";………;//管理員的select語(yǔ)句就和普通用戶的書寫一樣if(label5。Text=="管理員")cmd.CommandText=sql2;//執(zhí)行語(yǔ)句elsecmd.CommandText=sql1; if(null!=cmd.ExecuteScalar()){if(textPWDNew。Text.Trim()!=textPWDNew2。Text。Trim())MessageBox。Show("兩次密碼輸入不一致!”,”警告”);else{sql1="updatepersonsetPCode=’"+textPWDNew。Text。Trim()+"’wherePID='"+textName.Text.Trim()+”'”;………………;//sql2同上if(label5.Text==”管理員”)……………;//執(zhí)行語(yǔ)句else……………;//執(zhí)行語(yǔ)句cmd.ExecuteNonQuery();MessageBox.Show("密碼修改成功!",”提示”);this。Close();}}elseMessageBox。Show(”密碼錯(cuò)誤!",”提示");oleConnection1.Close();//關(guān)閉數(shù)據(jù)庫(kù)}}四、使用說(shuō)明系統(tǒng)登錄運(yùn)行系統(tǒng)后,首先進(jìn)入登錄界面,先要根據(jù)自

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。