圖書出版發(fā)行管理系統(tǒng)_第1頁
圖書出版發(fā)行管理系統(tǒng)_第2頁
圖書出版發(fā)行管理系統(tǒng)_第3頁
圖書出版發(fā)行管理系統(tǒng)_第4頁
圖書出版發(fā)行管理系統(tǒng)_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 學(xué)年論文(課程設(shè)計)題目: 圖書出版發(fā)行管理系統(tǒng) 學(xué) 院 數(shù)學(xué)與計算機學(xué)院 學(xué)科門類 工學(xué) 專 業(yè) 計算機科學(xué)與技術(shù) 學(xué) 號 姓 名 指導(dǎo)導(dǎo)師 2012年6月15日河北大學(xué)學(xué)年論文(課程設(shè)計)任務(wù)書(指導(dǎo)導(dǎo)師用表)學(xué) 生 姓 名 指 導(dǎo) 教 師 論文(設(shè)計)題目圖書出版發(fā)行管理系統(tǒng)主要研究(設(shè)計)內(nèi)容本課程設(shè)計主要設(shè)計并實現(xiàn)一個簡單的圖書出版發(fā)行管理系統(tǒng),包括圖書信息管理模塊、作者信息管理模塊、讀者信息管理和讀者對書評價管理模塊,各模塊能夠完成基本信息的錄入,查詢和刪除的功能,并且具有一定的權(quán)限,分為普通用戶和管理員用戶兩類人員,能通過本系統(tǒng)完成圖書出版發(fā)行管理所需要的基本功能。研究方法本課

2、程設(shè)計用C#作為系統(tǒng)的開發(fā)編程語言,在Microsoft Visual Studio 2005開發(fā)平臺上,選擇SQL Server 2005作為數(shù)據(jù)庫開發(fā)工具,通過需求分析、總體功能設(shè)計、數(shù)據(jù)庫設(shè)計和系統(tǒng)實現(xiàn)等步驟一步步實現(xiàn)圖書出版發(fā)行管理系統(tǒng)的基本功能。主要任務(wù)及目標(biāo)(1)實現(xiàn)圖書信息管理、作者信息管理、讀者信息管理和讀者對書評價管理的功能。(2)能實現(xiàn)各模塊基本信息的錄入,查詢和刪除功能。(3)具有一定的權(quán)限,分為普通用戶和管理員兩類用戶。(4)能夠與數(shù)據(jù)庫連接,保證數(shù)據(jù)的安全性,并對完成的系統(tǒng)進行調(diào)試改善。主要參考文獻1數(shù)據(jù)庫系統(tǒng)概論.王珊,薩師煊.高等教育出版社.20072數(shù)據(jù)庫原理及

3、技術(shù)課程設(shè)計. 錢雪忠,羅海馳,陳國俊. 清華大學(xué)出版社. 20093Visual C#學(xué)習(xí)筆記. 繆勇,李新峰,付志濤. 電子工業(yè)出版社. 20084CSDN.20095道客巴巴.2011進度安排論文(設(shè)計)各階段名稱日期布置任務(wù)第13周整體設(shè)計第14周編寫程序第15周-第16周撰寫論文第17周 指導(dǎo)導(dǎo)師簽字:系主任簽字:主管教學(xué)院長簽字:河北大學(xué)學(xué)年論文(課程設(shè)計)成績評定表學(xué)院: 數(shù)學(xué)與計算機學(xué)院學(xué)生姓名 專業(yè) 年級 論文(設(shè)計)題目圖書出版發(fā)行管理系統(tǒng)論文(設(shè)計)內(nèi)容提要本論文主要闡述五部分內(nèi)容:1.需求分析部分,主要說明本系統(tǒng)用戶需求、系統(tǒng)的功能需求、系統(tǒng)的性能需求與系統(tǒng)的軟硬件環(huán)境

4、;2.功能設(shè)計部分,主要闡述本系統(tǒng)的總體功能結(jié)構(gòu)和各主要功能的處理流程;3.數(shù)據(jù)庫設(shè)計部分,包括數(shù)據(jù)庫系統(tǒng)概念設(shè)計、數(shù)據(jù)庫邏輯設(shè)計和數(shù)據(jù)庫物理設(shè)計;4.系統(tǒng)實現(xiàn)部分,主要用代碼和效果截圖闡述數(shù)據(jù)庫連接的實現(xiàn)、用戶登錄功能的實現(xiàn)和系統(tǒng)各個主要管理功能的實現(xiàn);5.總結(jié)部分,主要闡述在本次課程設(shè)計的完成情況和在設(shè)計過程中中遇到的問題及個人的收獲和認(rèn)識。指導(dǎo)導(dǎo)師評語成績: 指導(dǎo)導(dǎo)師(簽名): 年 月 日圖書出版發(fā)行管理系統(tǒng)摘要本系統(tǒng)是數(shù)據(jù)庫原理課程設(shè)計,要求根據(jù)題目設(shè)計并完成一個圖書出版發(fā)行管理系統(tǒng),實現(xiàn)對圖書信息和作者信息的管理以及讀者對書可以評價等功能。本文針對課程設(shè)計題目,按照軟件工程的結(jié)構(gòu)化設(shè)

5、計思想,經(jīng)過需求分析、概要設(shè)計、詳細(xì)設(shè)計、系統(tǒng)測試等幾個階段,使用E-R圖、數(shù)據(jù)流圖、程序流程圖等實現(xiàn)了不同用戶對于各種信息的管理。本系統(tǒng)以Microsoft Visual Studio 2005為基本開發(fā)平臺,配合數(shù)據(jù)庫SQL Server 2005,實現(xiàn)了管理員用戶對圖書信息的管理、管理員用戶對讀者信息的管理、讀者用戶對圖書信息的管理及對評價信息的管理等功能。關(guān)鍵詞:數(shù)據(jù)庫C#信息管理圖書目 錄一 需求分析51.1 用戶需求51.2 系統(tǒng)功能需求61.3 系統(tǒng)性能需求61.4 系統(tǒng)軟硬件環(huán)境確定6二 系統(tǒng)功能設(shè)計82.1 系統(tǒng)功能結(jié)構(gòu)82.2 系統(tǒng)功能處理流程9三 系統(tǒng)數(shù)據(jù)庫設(shè)計143.1

6、數(shù)據(jù)庫概念設(shè)計143.2數(shù)據(jù)庫邏輯設(shè)計143.3數(shù)據(jù)庫物理設(shè)計16四 系統(tǒng)實現(xiàn)174.1數(shù)據(jù)庫連接的實現(xiàn)174.2用戶登錄功能及新用戶注冊功能的實現(xiàn)174.3管理員對于圖書管理功能的實現(xiàn)234.4管理員對于讀者信息管理功能的實現(xiàn)284.5讀者對于圖書信息管理功能的實現(xiàn)30五 小結(jié)31參考文獻32一 需求分析1.1 用戶需求本系統(tǒng)模擬出版社的圖書出版發(fā)行管理內(nèi)容,包括圖書信息管理、作者信息管理、讀者信息管理、讀者對圖書評價管理等功能模塊,用戶的主要需求如下:(1)能分類管理圖書、作者的基本信息。(2)能進行信息的錄入、查詢、刪除操作。(3)具有一定的權(quán)限,分為管理員、讀者兩種不同用戶,讀者不可進

7、行圖書信息的錄入和刪除。1.2 系統(tǒng)功能需求系統(tǒng)的功能需求有:(1)在SQL Server中,建立各關(guān)系模式對應(yīng)的庫表并初始化各表,確定各表的主鍵。(2)能實現(xiàn)圖書、作者、評價等基本信息的錄入操作。(3)能明細(xì)實現(xiàn)如下各類查詢:能查詢圖書的基本信息,能按圖書的書名、書號等條件進行查詢。能查詢作者的基本信息,能按作者的姓名、作者號等條件進行查詢。能查詢讀者的基本信息,能按讀者的讀者名、讀者號等條件進行查詢。(4)能實現(xiàn)圖書、作者、評價等基本信息的刪除操作。(5)用戶管理功能,包括用戶登錄等功能。1.3 系統(tǒng)性能需求在出版社圖書的規(guī)模日益擴增、圖書類別日益繁瑣、出版社與發(fā)行社頻繁交易、行業(yè)競爭激烈

8、的大環(huán)境下,如果還是采用傳統(tǒng)的管理方式,將會造成巨大的人力和物力的浪費,所以此系統(tǒng)要做到在性能上滿足以下要求:(1)操作簡單易學(xué),不要求過高的計算機技術(shù)技能。(2) 利用數(shù)據(jù)庫保存基本信息,數(shù)據(jù)儲存安全穩(wěn)定,能夠?qū)崿F(xiàn)信息的添加、查詢、刪改等功能。(3)具有一定的訪問權(quán)限,防止信息被隨意篡改。(4)人機界面友好,功能操作便捷合理1.4 系統(tǒng)軟硬件環(huán)境確定本圖書出版發(fā)行管理系統(tǒng)在Window 7環(huán)境下開發(fā),并保證能夠在Windows XP及以上版本中兼容運行。開發(fā)平臺:Microsoft Visual Studio 2005。開發(fā)語言:C#。數(shù)據(jù)庫平臺:SQL Server 2005。二 系統(tǒng)功能

9、設(shè)計2.1 系統(tǒng)功能結(jié)構(gòu)圖書出版發(fā)行管理系統(tǒng)的目的是實現(xiàn)圖書信息的管理(圖書信息的錄入、查詢和刪除)、作者信息的管理(作者信息的錄入、查詢和刪除)、評價信息的管理以及一些其他功能。評價信息的管理評價信息錄入評價信息查詢評價信息刪除其他功能作者信息的管理作者信息錄入作者信息查詢作者信息刪除圖書信息的管理圖書信息錄入圖書信息查詢圖書信息刪除shanchu圖書出版發(fā)行管理系統(tǒng)讀者信息的管理讀者信息錄入讀者信息查詢讀者信息刪除圖書出版發(fā)行管理系統(tǒng)的用戶包括普通用戶(讀者)和管理員兩類,系統(tǒng)的結(jié)構(gòu)圖如下所示:圖2-1 系統(tǒng)結(jié)構(gòu)圖2.2 系統(tǒng)功能處理流程本軟件的數(shù)據(jù)流圖如下:圖書出版發(fā)行管理系統(tǒng)管理員讀者

10、管理員登錄讀者登錄信息錄入注冊信息刪除信息查詢信息查詢圖2-2頂層數(shù)據(jù)流圖用戶反饋用戶查詢信息更新數(shù)據(jù)庫反饋用戶事務(wù)接收事務(wù)事務(wù)更新數(shù)據(jù)庫信息信息接收事務(wù)事務(wù)錄入信息更新數(shù)據(jù)庫事務(wù)事務(wù)刪除信息更新數(shù)據(jù)庫反饋用戶圖2-3整體數(shù)據(jù)流圖 各模塊用戶權(quán)限及操作如下:(1)圖書信息管理模塊 信息錄入部分:用戶(只有管理員擁有該權(quán)限)將圖書的基本信息通過系統(tǒng)錄入數(shù)據(jù)庫。 信息查詢部分:用戶(所有成員均有此權(quán)限)根據(jù)自己所需要的條件查詢對應(yīng)圖書的基本信息,可分別按書名、書號等條件進行查詢,并給予顯示。 信息刪除部分:用戶(只有管理員擁有該權(quán)限)將具備條件的圖書信息從數(shù)據(jù)庫中刪除。對應(yīng)流程圖分別如下:輸入需要

11、錄入的圖書的基本信息錄入程序系統(tǒng)數(shù)據(jù)庫顯示錄入圖書基本信息事務(wù)圖2-4 圖書信息錄入流程圖輸入需要查詢的圖書的基本信息查詢程序系統(tǒng)數(shù)據(jù)庫顯示查詢的圖書的基本信息事務(wù)圖2-5 圖書信息查詢流程圖輸入需要刪除的圖書的基本信息刪除程序系統(tǒng)數(shù)據(jù)庫事務(wù)圖2-6 圖書信息刪除流程圖(2)作者信息管理模塊 信息錄入部分:用戶(只有管理員擁有該權(quán)限)將作者的基本信息通過本模塊錄入數(shù)據(jù)庫。 信息查詢部分:用戶(所有成員均有此權(quán)限)根據(jù)自己所需要的條件查詢對應(yīng)作者的基本信息,可分別按姓名、性別、籍貫等條件進行查詢,并給予顯示。 信息刪除部分:用戶(只有管理員擁有該權(quán)限)將具備條件的作者信息從數(shù)據(jù)庫中刪除。對應(yīng)流程

12、圖與圖書信息流程圖類似,不再贅述。(3)評價信息管理模塊 信息錄入部分:用戶(只有讀者擁有該權(quán)限)將圖書評價的基本信息通過本模塊錄入數(shù)據(jù)庫。 信息查詢部分:用戶(所有成員均有此權(quán)限)根據(jù)自己所需要的條件查詢對應(yīng)圖書評價的基本信息,并給予顯示。 信息刪除部分:用戶(只有讀者擁有該權(quán)限)將圖書評價的基本信息通過本模塊從數(shù)據(jù)庫中刪除。對應(yīng)流程圖與圖書信息流程圖類似,不再贅述。(4)讀者信息管理模塊 信息錄入部分:用戶(只有讀者擁有該權(quán)限)將自己的基本信息通過本模塊錄入數(shù)據(jù)庫。 信息查詢部分:用戶(所有成員均有此權(quán)限)根據(jù)自己所需要的條件查詢對應(yīng)讀者基本信息,并給予顯示。 信息刪除部分:用戶(只有管理

13、員擁有該權(quán)限)將讀者的基本信息通過本模塊從數(shù)據(jù)庫中刪除。對應(yīng)流程圖與圖書信息流程圖類似,不再贅述。三 系統(tǒng)數(shù)據(jù)庫設(shè)計3.1數(shù)據(jù)庫概念設(shè)計為了把用戶的數(shù)據(jù)清楚準(zhǔn)確的表達出來,我們要建立一個概念性的數(shù)據(jù)模型。它描述了從用戶角度看到的數(shù)據(jù),它反映了用戶的現(xiàn)實環(huán)境,并脫離在軟件系統(tǒng)中的實現(xiàn)方法。數(shù)據(jù)模型中包含四種數(shù)據(jù):數(shù)據(jù)對象、數(shù)據(jù)對象的屬性以及數(shù)據(jù)對象彼此間相互連接的關(guān)系。在本系統(tǒng)中,數(shù)據(jù)對象及其屬性如下: 圖書信息:包括圖書ID、書名、作者ID、價格、圖書簡介。 作者信息:包括作者ID、姓名、性別、年齡。 評價信息:包括讀者ID、圖書ID、評價內(nèi)容。 讀者信息:包括讀者ID、讀者姓名、讀者密碼。

14、管理員信息:包括管理員ID、管理員密碼。數(shù)據(jù)對象的相互關(guān)系如下:圖書簡介評價內(nèi)容作者讀者圖書評價屬于圖書ID書名價格作者ID姓名性別年齡讀者ID讀者姓名管理員管理管理管理管理員ID管理員密碼讀者密碼圖3-1 E-R圖3.2數(shù)據(jù)庫邏輯設(shè)計關(guān)系模型的邏輯結(jié)構(gòu)是一組關(guān)系模式的集合。而E-R圖則是由實體性、實體的屬性和實體型之間的聯(lián)系三個要素組成的。所以將E-R圖轉(zhuǎn)換為關(guān)系模型實際上就是要將實體型、實體的屬性和實體之間的聯(lián)系轉(zhuǎn)換為關(guān)系模式,并確定這些關(guān)系模式的屬性和碼。把上述E-R圖轉(zhuǎn)換為關(guān)系模型,關(guān)系的主碼用下橫線標(biāo)出。本圖書出版發(fā)行管理系統(tǒng)的關(guān)系模型如下:圖書(圖書ID,書名,作者ID,價格,圖書

15、簡介)作者(作者ID,作者姓名,性別,年齡)評價(讀者ID,圖書ID,評價內(nèi)容)讀者(讀者ID,讀者姓名,讀者密碼)管理員(管理員ID,管理員密碼)本系統(tǒng)共涉及五個表。根據(jù)前面做出的一系列分析過程,可以確定出各數(shù)據(jù)庫基表的字段構(gòu)成。應(yīng)用SQL Server 2005創(chuàng)建Book、Author、Evaluate、Reader、Administrator五個表,字段名稱、數(shù)據(jù)類型、長度、說明如下:1.Book表:表 3-1 Book表字段名稱數(shù)據(jù)類型長度說明是否允許為空BookIDint4圖書ID(主鍵)否BookNamenvarchar50書名否AuthorNamenvarchar50作者ID否

16、BookPricerealreal價格否BookIntroductionnvarchar200圖書簡介是2.Author表:表 3-2 Author表字段名稱數(shù)據(jù)類型長度說明是否允許為空AuthorIDint4作者ID(主鍵)否AuthorNamenvarchar50作者姓名是3.Evaluate表:表 3-3 Evaluate表字段名稱數(shù)據(jù)類型長度說明是否允許為空ReaderIDint4讀者ID(主鍵)否BookIDint4圖書ID(主鍵)否Evaluatenvarchar200評價內(nèi)容是4.Reader表:表 3-4 Reader表字段名稱數(shù)據(jù)類型長度說明是否允許為空ReaderIDint

17、4讀者ID(主鍵)否ReaderNamenvarchar50讀者姓名否ReaderCodenvarchar50讀者密碼否5. Administrator表:表3-5 Administrator表字段名稱數(shù)據(jù)類型長度說明是否允許為空AdministratorIDint4管理員ID(主鍵)否AdministratorNamenvarchar50管理員姓名否AdministratorCodenvarchar50管理員密碼否3.3數(shù)據(jù)庫物理設(shè)計得到系統(tǒng)邏輯模型后,就該進行數(shù)據(jù)庫的物理設(shè)計和實施數(shù)據(jù)庫了,物理設(shè)計主要是要確定數(shù)據(jù)庫的存儲路徑、存儲結(jié)構(gòu)以及建立索引等,采用的均是系統(tǒng)的默認(rèn)設(shè)置。結(jié)合SQL

18、Server2005的特點,可視化的完成了基本表的建立。由于數(shù)據(jù)庫并不是特別大,為保證數(shù)據(jù)查找的速度并沒有建立索引和視圖。四 系統(tǒng)實現(xiàn)本圖書出版發(fā)行管理系統(tǒng)將訪問人員分為兩類:讀者和管理員。其中讀者訪問權(quán)限較低,能夠查詢最基本的圖書信息,作者信息和評價信息;管理員得權(quán)限較高,不僅能完成包括圖書信息、作者信息、評價信息等各種信息的查詢功能,也能夠?qū)崿F(xiàn)對圖書信息、作者信息的錄入及刪除功能,還有對讀者信息的刪除功能;另外讀者有一個對圖書評價的權(quán)限是管理員不具備的。4.1數(shù)據(jù)庫連接的實現(xiàn)在本系統(tǒng)中需要多次訪問數(shù)據(jù)庫,并對數(shù)據(jù)進行添加、查詢、刪除操作,因此可以創(chuàng)建了一個公用的模塊,在該模塊中實現(xiàn)對數(shù)據(jù)庫

19、的所有訪問。其代碼如下: public static void Start() if (conn.State = ConnectionState.Open) conn.Close(); ConnectionString = "Integrated security=SSPI;" + "initial catalog=book;" + "data source=localhost;" conn.ConnectionString = ConnectionString; conn.Open(); 4.2用戶登錄功能及新用戶注冊功能的實現(xiàn)運行

20、程序后,首先選擇登錄窗口,分為讀者和管理員兩項。無論是哪種用戶進行選擇后都要輸入用戶ID和密碼。輸入正確的用戶ID和密碼后可成功登錄,進行后續(xù)操作,否則提示錯誤。不同的用戶有不同的權(quán)限,權(quán)限的設(shè)置保證數(shù)據(jù)庫中數(shù)據(jù)與信息的安全性,防止信息被隨意篡改的情況發(fā)生。各種人員的登陸界面及重要代碼如下所示:(1)系統(tǒng)登錄界面如下:圖4-1 系統(tǒng)登錄界面圖(2)管理員用戶登錄窗口如下:圖4-2 管理員用戶登錄界面圖登錄成功后界面如下:圖4-3管理員用戶操作界面圖若不成功,則提示出錯。圖4-4登錄失敗界面圖(3)讀者用戶登錄窗口如下:圖4-5 讀者用戶登錄界面圖登錄成功后界面如下:圖4-6 讀者用戶操作界面圖

21、若登錄失敗,則如圖4-4所示,提示出錯。登錄模塊主要代碼如下:private void button1_Click(object sender, EventArgs e) if (ReaderID.Text = "") MessageBox.Show("請輸入賬號"); else function.Start(); function.sql = "SELECT * FROM reader " + "where readerid=" + ReaderID.Text + " and readercode=&#

22、39;" + ReaderCode.Text + "'" SqlDataAdapter da = new SqlDataAdapter(function.sql, function.conn); /創(chuàng)建數(shù)據(jù)集對象并填充數(shù)據(jù) DataSet ds = new DataSet(); try da.Fill(ds); DataTable dt = ds.Tables0; if (dt.Rows.Count = 0) MessageBox.Show("賬號或密碼錯誤,請重新輸入!"); ReaderID.Text = ""

23、ReaderCode.Text = "" else Reader Form = new Reader(); Form.MdiParent = this.MdiParent; Form.Show(); father = (MainForm)this.MdiParent; onereader.ReaderId = ReaderID.Text; this.Close(); father.button1.Visible = false; father.button2.Visible = false; catch/如果賬號數(shù)據(jù)類型不對會出錯!應(yīng)該有trycatch來拋出錯誤,防止系統(tǒng)

24、崩潰 MessageBox.Show("賬號應(yīng)為數(shù)字!"); (4)管理員用戶是系統(tǒng)規(guī)定的,不能任意添加或刪除。讀者用戶是可以隨意注冊的,在讀者登錄界面點擊“注冊新用戶”,進入注冊界面,如下:圖4-7讀者用戶注冊界面圖輸入賬號后可以點擊“賬號驗證”進行賬號的檢驗,若賬號已存在則不可用;若不存在,則可用,對應(yīng)界面如下:圖4-8注冊賬號驗證失敗界面圖圖4-9讀者注冊賬號驗證成功界面圖賬號、姓名、密碼的輸入后,如果各項符合條件,則注冊成功,系統(tǒng)會給與提示:圖4-10讀者用戶注冊成功界面圖如果注冊失敗(已存在此賬號或賬號、姓名、密碼中有未填項),系統(tǒng)會提示出錯:圖4-11讀者用戶注

25、冊失敗界面圖賬號注冊模塊主要代碼如下:private void button2_Click(object sender, EventArgs e) if (regiID.Text = "") MessageBox.Show("請輸入賬號"); else function.Start(); function.sql = "SELECT * FROM reader where readerid=" + regiID.Text; /適配器 SqlDataAdapter da = new SqlDataAdapter(function.sql

26、, function.conn); /數(shù)據(jù)集 DataSet ds = new DataSet(); da.Fill(ds); DataTable dt = ds.Tables0; if (dt.Rows.Count > 0) MessageBox.Show("賬號已存在,請重新選擇賬號!"); regiID.Text = "" else MessageBox.Show("恭喜您,該賬號可以使用!"); private void btn_Registration_Click(object sender, EventArgs e)

27、 if (regiID.Text = "" | regiName.Text = "" | regicode.Text = "") MessageBox.Show("每一項均為必填項!請檢查!"); else function.Start(); function.sql = "SELECT * FROM reader where readerid=" + regiID.Text; /適配器 SqlDataAdapter da = new SqlDataAdapter(function.sql, f

28、unction.conn); /數(shù)據(jù)集 DataSet ds = new DataSet(); da.Fill(ds); DataTable dt = ds.Tables0; if (dt.Rows.Count > 0) MessageBox.Show("賬號已存在,請重新選擇賬號!"); regiID.Text = "" else function.Start(); function.sql = "insert into reader(readerid,readername,readercode)" + "value

29、s(" + regiID.Text + ",'" + regiName.Text + "','" + regicode.Text + "')" function.cmd = new SqlCommand(function.sql, function.conn); try function.cmd.ExecuteNonQuery(); catch (SqlException ae) MessageBox.Show(ae.Message.ToString(); return;/出錯返回 Messa

30、geBox.Show("恭喜您,注冊成功!"); this.Close(); 4.3管理員對于圖書管理功能的實現(xiàn)圖書的基本信息包括圖書ID、作者ID、書名、價格以及圖書的簡介。此模塊提供了圖書基本信息錄入、查詢和刪除三個功能。(1)管理員用戶圖書管理功能界面如圖4-3所示。管理員用戶可分別按照圖書ID、作者ID、作者姓名、書名、價格進行查詢,并給與顯示。查詢結(jié)果(以按作者查詢?yōu)槔┤缦聢D所示:圖4-12 查詢結(jié)果圖(2)管理員用戶擁有最高權(quán)限,除了完成信息的查詢功能之外,還具有信息的錄入和刪除功能。管理員的圖書信息管理功能(以錄入圖書基本信息為例)如下所示:圖4-13 管理

31、員圖書信息錄入功能界面圖在完成信息錄入功能時,若信息填寫不全(圖書ID、作者ID、書名、價格必須填寫,簡介可不填)或者本圖書ID已存在時會有錯誤提醒: 圖4-14 信息保存提示界面圖根據(jù)查詢結(jié)果刪除圖書信息,刪除成功后界面如下所示:圖4-15信息刪除詢問界面圖 圖4-16信息刪除成功界面圖(3)管理員可以查看、刪除讀者對于圖書的評價,界面如下:圖4-17評價管理界面圖(4)圖書信息管理部分主要代碼如下: private void btnsavebook_Click(object sender, EventArgs e) try if (BookID.Text = "" |

32、AuthorID.Text = "" | AuthorName.Text = "" | BookName.Text = "" | BookPrice.Text = "") MessageBox.Show("除簡介外均為必填項,請檢查!"); else function.Start(); function.sql = "select * from book where bookid=" + BookID.Text; SqlDataAdapter da = new SqlData

33、Adapter(function.sql, function.conn); DataSet ds = new DataSet(); da.Fill(ds); DataTable dt = ds.Tables0; if (dt.Rows.Count > 0) MessageBox.Show("書號已存在,請檢查!"); else function.sql = "insert into book(bookid,bookname,authorid,bookprice,bookintroduction)values(" +BookID.Text + &qu

34、ot;,'" + BookName.Text + "'," + AuthorID.Text + "," + BookPrice.Text + ",'" + BookIntroduction.Text + "')" function.ExecuteSQLStmt(function.sql); MessageBox.Show("添加新書成功!");/說什么動態(tài)擴展,還是得定義足夠大??!定義圖書簡介為1000字 function.sql = "sel

35、ect*from author where authorid=" + AuthorID.Text; da = new SqlDataAdapter(function.sql, function.conn); ds = new DataSet(); da.Fill(ds); dt = ds.Tables0; if (dt.Rows.Count > 0) /什么也不做 else function.sql = "insert into author(authorid,authorname)values(" + AuthorID.Text + ",'

36、;" + AuthorName.Text + "')" function.ExecuteSQLStmt(function.sql); MessageBox.Show("有新作者,已加入數(shù)據(jù)庫!"); catch MessageBox.Show("書號和作者號必須為數(shù)字!"); private void btnselectbook_Click(object sender, EventArgs e) try string buffer = "select bookid,bookname,book.authori

37、d,authorname,bookprice,bookintroduction from book,author where book.authorid=author.authorid" if (BookID.Text != "") buffer += " and bookid=" + BookID.Text; if (AuthorID.Text != "") buffer += " and book.authorid=" + AuthorID.Text; if (AuthorName.Text != &

38、quot;") buffer += " and authorname='" + AuthorName.Text + "'" if (BookName.Text != "") buffer += " and bookname='" + BookName.Text + "'" if (BookPrice.Text != "") buffer += " and bookprice=" + BookPrice.Text;

39、function.sql = buffer;/形成完整的查詢語句 function.Start(); da = new SqlDataAdapter(function.sql, function.conn); ds = new DataSet("result");/為結(jié)果取一個名字,方便使用 da.Fill(ds, "result"); dt = ds.Tables0; if (dt.Rows.Count = 0) MessageBox.Show("對不起,沒有您要查詢的信息。"); dataGridViewBook.DataSour

40、ce = ds.Tables0.DefaultView;/空的也要顯示出來 else dataGridViewBook.DataSource = ds.Tables"result".DefaultView; catch MessageBox.Show("書號和作者號必須為數(shù)字!"); private void btndeletebook_Click(object sender, EventArgs e) try string buffer = "select * from book,author where book.authorid=auth

41、or.authorid" if (BookID.Text != "") buffer += " and bookid=" + BookID.Text; if (AuthorID.Text != "") buffer += " and book.authorid=" + AuthorID.Text; if (AuthorName.Text != "")buffer += " and authorname='" + AuthorName.Text + "

42、;'" if (BookName.Text != "") buffer += " and bookname='" + BookName.Text + "'" if (BookPrice.Text != "") buffer += " and bookprice=" + BookPrice.Text; function.sql = buffer;/形成完整的查詢語句 function.Start(); da = new SqlDataAdapter(functio

43、n.sql, function.conn); ds = new DataSet("result");/為結(jié)果取一個名字,方便使用 da.Fill(ds, "result"); dt = ds.Tables0; string book;/記錄書號,之后用來刪除 string author;/記錄作者號,用來查看作者的書是否已經(jīng)刪除完,若刪除完,該作者也將被刪除 if (dt.Rows.Count = 0) MessageBox.Show("對不起,沒有該書,無法刪除。"); dataGridViewBook.DataSource = d

44、s.Tables0.DefaultView;/空的也要顯示出來 else if (MessageBox.Show("確實要刪除這本書嗎?", "詢問", MessageBoxButtons.YesNo) = DialogResult.Yes) author = dataGridViewBook.RowsdataGridViewBook.CurrentRow.Index.Cells"authorid".Value.ToString();/記錄作者號,方便查詢 book = BookID.Text = dataGridViewBook.R

45、owsdataGridViewBook.CurrentRow.Index.Cells"bookid".Value.ToString();/記錄書號,方便刪除 function.sql = "delete from book where bookid=" + book; function.Start(); function.ExecuteSQLStmt(function.sql);MessageBox.Show("書號為" + book + "的圖書已刪除"); dataGridViewBook.DataSource

46、 = null; dataGridViewBook.Refresh();/清空后重新顯示 function.sql = "select * from book where authorid=" + author; da = new SqlDataAdapter(function.sql, function.conn); ds = new DataSet("authorresult"); da.Fill(ds, "authorresult"); dt = ds.Tables0;/也可以是ds.Tables"authorresu

47、lt"吧,沒試過 if (dt.Rows.Count = 0) MessageBox.Show("作者號為" + author + "的作者已經(jīng)沒有相關(guān)圖書,該作者即將被刪除!"); function.Start();/應(yīng)該在執(zhí)行所有語句之前都要做這一步吧,我是這么認(rèn)為的 function.sql = "delete from author where authorid=" + author; function.ExecuteSQLStmt(function.sql);/正式刪除 BookID.Text = "" AuthorID.Text = "&qu

溫馨提示

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

評論

0/150

提交評論