圖書管理系統(tǒng)設(shè)計報告_第1頁
圖書管理系統(tǒng)設(shè)計報告_第2頁
圖書管理系統(tǒng)設(shè)計報告_第3頁
圖書管理系統(tǒng)設(shè)計報告_第4頁
圖書管理系統(tǒng)設(shè)計報告_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、圖書管理系統(tǒng)設(shè)計報告學(xué) 院:信息科學(xué)與工程學(xué)院專業(yè)班級:自動化0701姓 名:李瑮冉學(xué) 號:090107011140 / 43文檔可自由編輯打印摘要本課程設(shè)計是一個圖書信息管理系統(tǒng)的后臺數(shù)據(jù)庫的設(shè)計。由于時間和精力的限制本設(shè)計僅實現(xiàn)了圖書管理系統(tǒng)基本功能的設(shè)計與實現(xiàn)。通過本次課程設(shè)計,達到了了解數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)過程,熟悉了系統(tǒng)分析和設(shè)計的過程和方法的目的。在實踐中掌握了知識,達到了學(xué)以致用的目標。本次設(shè)計首先通過查閱資料對圖書領(lǐng)域的基本知識有一定的認識,了解用戶各個方面的需求,包括現(xiàn)有的以及將來的可能增加的需求。然后按照數(shù)據(jù)庫設(shè)計的六個階段進行了設(shè)計與實現(xiàn):需求分析、概念結(jié)構(gòu)設(shè)計、邏輯結(jié)構(gòu)

2、設(shè)計、物理結(jié)構(gòu)設(shè)計、數(shù)據(jù)庫實施、數(shù)據(jù)庫的運行和維護。數(shù)據(jù)庫在各種信息的提供、保存、更新和查詢方面都要求滿足各種信息的輸出和輸入,符合用戶的基本需求。應(yīng)用sql建立數(shù)據(jù)庫,選用Delphi作為開發(fā)工具,完成了對圖書管理系統(tǒng)的實現(xiàn)。索引關(guān)鍵詞:數(shù)據(jù)庫設(shè)計 sql應(yīng)用 Delphi設(shè)計目錄第一章 緒 論11.1課題研究現(xiàn)狀分析11.2 選題的目的及意義11.3 章節(jié)安排1第二章 系統(tǒng)需求分析22.1 用戶調(diào)查2.圖書管理系統(tǒng)數(shù)據(jù)流圖22.3 數(shù)據(jù)字典5第三章 數(shù)據(jù)庫設(shè)計73.1數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計73.2數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計93.3數(shù)據(jù)庫實施10第四章 圖書管理系統(tǒng)使用說明13.圖書管理系統(tǒng)登錄界面:1

3、3.辦公室子系統(tǒng)界面:20.編目部子系統(tǒng)界面:24.流通部子系統(tǒng)界面:29.讀者子系統(tǒng)界面:34第五章 總結(jié)39第一章 緒 論隨著數(shù)據(jù)庫技術(shù)在各行各業(yè)的廣泛應(yīng)用,強大的數(shù)據(jù)庫窗口技術(shù)、良好的數(shù)據(jù)庫訪問能力和友好的用戶界面,日益成為設(shè)計者的得力助手。1.1課題研究現(xiàn)狀分析在現(xiàn)今信息化發(fā)達的社會,圖書的發(fā)行量與日俱增。傳統(tǒng)的圖書館需要制作有署名與對應(yīng)編號的書卡,由讀者按分類查找再交由圖書管理員來處理借書工作,還書也要人工翻閱大量的記錄,這樣使得工作量大并及其繁瑣,效率變得低下。因此需要對書籍資源、讀者資源、借書信息、還書信息進行管理,及時了解各個環(huán)節(jié)中信息的變更,有利用管理效率的提高。建立網(wǎng)上電子

4、圖書管理系統(tǒng)的目的是實現(xiàn)無紙化圖書管理,減輕管理員的工作量,方便讀者查閱所需的圖書,還可以利用網(wǎng)絡(luò)實現(xiàn)提醒讀者還書的功能。管理員還可以對各種圖書進行分析統(tǒng)計,對過時、損壞的圖書進行刪除,預(yù)約圖書供應(yīng)商訂購更新的圖書。達到降低成本提高工作效率的目標。1.2 選題的目的及意義目的:圖書管理系統(tǒng)主要目的是對圖書館種類繁多的書籍進行管理,并且合理管理好用戶的借還信息。提高圖書館的工作效率,降低管理成本。意義:通過完成從用戶需求分析、數(shù)據(jù)庫設(shè)計到上機編程、調(diào)試和應(yīng)用等全過程,進一步了解和掌握本書中所講解的內(nèi)容。1.3 章節(jié)安排 第一章為緒論部分,介紹課題的基本情況。第二章為系統(tǒng)需求設(shè)計分析,主要為數(shù)據(jù)流

5、圖和數(shù)據(jù)字典。第三章介紹數(shù)據(jù)庫的設(shè)計,主要介紹數(shù)據(jù)庫的邏輯設(shè)計,結(jié)構(gòu)設(shè)計等。第四章主要為圖書管理系統(tǒng)的各個界面說明。第二章 系統(tǒng)需求分析2.1 用戶調(diào)查1.圖書館工作人員對功能的需求工作人員對功能的需求細分如下:、職工信息的輸入,查詢,修改; 、書籍信息的輸入,查詢,修改; 、借書信息的輸入。 、還書信息的輸入。、讀者信息的查詢。2.讀者對功能的需求、圖書信息檢索:范圍可按書名,作者,出版社,類別等檢索款目進行任意條件組合精確或模糊檢索,最快時間查找目標書籍;、讀者人個信息的輸入、修改。查詢。建立讀者個人信息檔案,獲取當前讀者的個人信息。并根據(jù)學(xué)號查詢當前讀者當前的借書情況,歷史借書情況等。.

6、圖書管理系統(tǒng)數(shù)據(jù)流圖圖書管理系統(tǒng)編目部子系統(tǒng)流通部子系統(tǒng)辦公室子系統(tǒng)讀者子系統(tǒng)圖書借閱圖書歸還圖書信息查詢職工信息錄入職工信息修改職工信息檢索讀者信息錄入,修改借閱情況查詢圖書信息檢索讀者信息查詢圖書編目圖書修改圖書編目圖2-1 系統(tǒng)功能分解圖2-2 第0層數(shù)據(jù)流圖數(shù)據(jù)輸出數(shù)據(jù)來源數(shù)據(jù)存儲數(shù)據(jù)處理數(shù)據(jù)流數(shù)據(jù)流檢查有效性根據(jù)權(quán)限處理數(shù)據(jù)用戶登錄要求圖2-3 第1層數(shù)據(jù)流圖無效輸入輸出查詢信息查詢請求接受查詢數(shù)據(jù)查詢圖書信息編目請求錄入圖書信息圖書信息表數(shù)據(jù)文件輸出修改信息修改請求修改圖書信息圖2-4 采編部數(shù)據(jù)流圖圖書借閱信息表輸出借閱信息借閱請求判斷讀者借閱權(quán)限記錄借閱信息接受讀者信息圖書歸還

7、信息表輸出信息歸還請求添加歸還記錄接受圖書信息輸出查詢信息圖書查詢請求接受查詢數(shù)據(jù)查詢圖書信息圖書信息表輸出查詢信息讀者信息查詢請求接受查詢數(shù)據(jù)查詢讀者信息讀者信息表圖2-5 流通部數(shù)據(jù)流圖輸出查詢信息查詢請求接受查詢數(shù)據(jù)查詢職工信息職工信息錄入請求錄入職工信息職工信息表數(shù)據(jù)文件輸出修改信息修改請求修改職工信息圖2-6 辦公室數(shù)據(jù)流圖輸出查詢信息查詢請求接受查詢數(shù)據(jù)查詢讀者信息職工信息錄入請求錄入讀者信息讀者信息表數(shù)據(jù)文件輸出修改信息修改請求修改讀者信息圖2-7 讀者系統(tǒng)數(shù)據(jù)流圖輸出查詢信息圖書查詢請求接受查詢數(shù)據(jù)查詢圖書信息圖書信息表2.3 數(shù)據(jù)字典1. 主要數(shù)據(jù)項的定義 .圖書信息表屬性名

8、數(shù)據(jù)類型長度允許空備注流水號char10N唯一分類號char10N索取號char10N書名char50N作者char30N價格moneyY出版社char50Y出版日期char10Y是否借出char5N2.讀者信息表屬性名數(shù)據(jù)類型長度允許空備注學(xué)號char10N唯一密碼char10N姓名char30N性別char2N所屬系char50Y電子郵件char50Y備注char100Y3.職工信息表屬性名數(shù)據(jù)類型長度允許空備注職工編號char5N唯一密碼char10N姓名char30N性別char2N聯(lián)系電話char11Y所屬部門char3N4.部門信息表屬性名數(shù)據(jù)類型長度允許空備注部門編號char3N

9、唯一部門名稱char30N5.借閱圖書信息表屬性名數(shù)據(jù)類型長度允許空備注流水號char10N學(xué)號char10N書名char50N借書日期datetimeN應(yīng)還日期datetimeN歸還標記char5N6.歸還圖書信息表屬性名數(shù)據(jù)類型長度允許空備注流水號char10N學(xué)號char10N書名char50N還書日期datetimeN2. 主要數(shù)據(jù)存儲的定義(1)存儲名稱:圖書記錄 輸入:流水號 輸出:圖書所有信息及是否借出 數(shù)據(jù)結(jié)構(gòu):流水號+分類號+索取號+書名+作者+價格+出版社+出版日期+是否借出(2)存儲名稱:讀者記錄 輸入:學(xué)號 輸出:讀者信息及借書記錄(所借書的流水號) 數(shù)據(jù)結(jié)構(gòu):學(xué)號+姓

10、名+流水號+書名+應(yīng)還日期(3)存儲名稱:借閱記錄 輸入: 書號+讀者編號+職工編號 輸出:圖書的借閱記錄信息 數(shù)據(jù)結(jié)構(gòu):流水號學(xué)號+職工編號+書名+借書日期+應(yīng)還日期歸還標記(4)存儲名稱:歸還記錄 輸入:書號 輸出:圖書的歸還記錄信息 數(shù)據(jù)結(jié)構(gòu):流水號+學(xué)號+書名+還書日期(5)存儲名稱:職工記錄 輸入:職工編號 輸出:職工信息 數(shù)據(jù)結(jié)構(gòu):職工編號+密碼姓名+性別+聯(lián)系電話所屬部門第三章 數(shù)據(jù)庫設(shè)計3.1數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計1.數(shù)據(jù)庫需要表述的信息有以下幾種:(1)圖書信息,(2)學(xué)生信息,(3)管理員信息(4)學(xué)生借閱歸還圖書信息部門部門號職工部門名稱屬于管理圖書借閱歸還圖書館讀者歸還日期

11、歸還人借出日期應(yīng)還日期學(xué)號所屬系姓名性別電子郵件職工號聯(lián)系電話姓名性別電子郵件流水號分類號索取號書名作者價格出版社出版日期是否借出圖3-1 系統(tǒng)E-R圖通過分析整理可得圖書管理系統(tǒng)E-R圖為:由系統(tǒng)圖可得其主要數(shù)據(jù)流和主要處理過程:. 主要數(shù)據(jù)流定義 (1)數(shù)據(jù)流名稱:讀者信息 定義:學(xué)號+密碼姓名+性別+所屬系+電子郵件+備注 (2)數(shù)據(jù)流名稱:圖書信息 定義:流水號+分類號+索取號+書名+作者+價格+出版社+出版日期+是否借出 (3)數(shù)據(jù)流名稱:職工信息 定義:職工編號+密碼姓名+性別+聯(lián)系電話所屬部門 (4)數(shù)據(jù)流名稱:借閱圖書 定義:流水號+學(xué)號+書名+借書日期+應(yīng)還日期歸還標記 (5

12、)數(shù)據(jù)流名稱:歸還圖書 定義:流水號+學(xué)號+書名+還書日期 (6)數(shù)據(jù)流名稱:部門信息 定義:部門號+部門名稱. 主要處理過程的定義 (1)處理過程:讀者管理輸入:讀者編號 輸出:讀者的注冊信息處理操作:對所有注冊的讀者信息建表,用學(xué)號作為讀者統(tǒng)一編號,編號是唯一的。 (2)處理過程:職工管理 輸入:職工編號號 輸出:職工的基本信息 處理操作:對所有職工編號,建立職工信息表,職工編號具有唯一性, (3)處理過程:圖書管理 輸入:流水號 輸出:圖書的基本信息 處理操作:對所有進館的圖書編號,建立圖書信息表,圖書編號具有唯一性, (4)處理過程:圖書查詢 輸入:流水號 輸出:所查詢圖書的相關(guān)信息

13、處理操作:用戶登錄后可以查詢圖書信息,按圖書編號可以查詢到某本書的詳細情況,也可以通過書名,作者,出版社進行模糊查詢(5)處理過程:圖書借出 輸入:流水號,學(xué)號 輸出:圖書借閱信息 處理操作:添加圖書借閱記錄,建立圖書借閱信息表。(6)處理過程:圖書歸還 輸入:流水號 輸出:圖書歸還信息 處理操作:添加圖書歸還記錄,建立圖書歸還信息表。3.2數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計通過E/R模型到關(guān)系模型的轉(zhuǎn)化,可以得到如下關(guān)系模式:圖書(流水號,分類號,索取號,書名,作者,價格,出版社,出版日期,是否借出)。讀者(學(xué)號,姓名,性別,所屬系,電子郵件,備注)。職工(職工編號,密碼,姓名,性別,聯(lián)系電話,所屬部門)。

14、部門(部門號,部門名稱)借閱圖書(流水號,學(xué)號,借書日期,書名,應(yīng)還日期,歸還標記)。歸還圖書(流水號,學(xué)號,還書日期,書名)。每個關(guān)系模式的主鍵碼都用下劃線標出。(1)流水號是圖書的鍵碼,每本書有唯一的流水號。一個讀者可以同時借閱多本書,一個管理員可以處理多個讀者的借閱事宜。(2)同一本書可以借給不同的同學(xué),同一個讀者可以再次借同一本書。于是借書關(guān)系的鍵碼為流水號,學(xué)號和借書日期的組合。(3)要知道圖書當前的狀態(tài),是在圖書館存放還是被借閱。需要在圖書的模式中增加對應(yīng)項用以表示圖書當前的狀態(tài),現(xiàn)在增加是否借出項,并且約定取值和狀態(tài)的對應(yīng)關(guān)系如下:0:在圖書館中沒有被借閱;1:已經(jīng)被借出。3.3

15、數(shù)據(jù)庫實施 3.3.1數(shù)據(jù)庫及表結(jié)構(gòu)的創(chuàng)建 設(shè)本系統(tǒng)使用的數(shù)據(jù)庫名為圖書管理系統(tǒng),根據(jù)已設(shè)計的關(guān)系模式及各模式的完整性要求,現(xiàn)在就可以在SQL Server 2005數(shù)據(jù)庫系統(tǒng)中實現(xiàn)這些邏輯結(jié)構(gòu)。下面是創(chuàng)建基本表的SQL語句:create table 讀者信息(學(xué)號char(10)not null primary key,密碼char(10)not null,姓名char(30) not null,性別char(5)not null,所屬系char(50),電子郵件char(50),備注char(100),)create table 職工信息(職工編號char(5)not null prima

16、ry key,密碼char(10)not null,姓名char(30)not null,性別char(5)not null,聯(lián)系電話char(11),所屬部門char(3)not null,)create table 部門信息(部門編號char(3)not null primary key,部門名稱char(30)not null,)create table 借閱圖書信息(流水號char(10)not null,學(xué)號char(10)not null,書名char(50)not null,借書日期datetime not null,應(yīng)還日期datetime not null,歸還標記char(

17、5)not null,)create table 歸還圖書信息(流水號char(10)not null,學(xué)號char(10)not null,書名char(50)not null,還書日期datetimenot null,) 下面是使用sql server 2005 建立的圖書管理系統(tǒng):系統(tǒng)各基本表的屬性如下:讀者信息圖書信息:職工信息:部門信息:借閱圖書信息:歸還圖書信息:表與表關(guān)系的建立截圖(部分):3.3.2數(shù)據(jù)庫前臺的設(shè)計根據(jù)數(shù)據(jù)庫的設(shè)計,該圖書管理系統(tǒng)可以分成四個子模塊:、編目部子模塊:負責實現(xiàn)行圖書信息的錄入,修改以及查詢。、流通部子模塊:進行圖書的借閱,歸還信息的處理。、辦公室子

18、模塊:負責進行職工信息的錄入與修改及查詢。、讀者子模塊:進行讀者信息的錄入,借閱情況的查詢,圖書信息的查詢。根據(jù)四個模塊的不同功能,可以分別設(shè)計不同的操作界面,以實現(xiàn)其功能。根據(jù)不同模塊的權(quán)限不同,設(shè)計登錄界面,根據(jù)不同的權(quán)限訪問不同的子系統(tǒng)。第四章 圖書管理系統(tǒng)使用說明.圖書管理系統(tǒng)登錄界面:圖書管理系統(tǒng)登錄界面:通過下拉菜單可以選擇用戶類型,共有五種類型:讀者,辦公室,流通部,編目部,管理員。輸入正確的用戶名和密碼就可以分別進入對應(yīng)的操作界面。如下圖:登錄部分相關(guān)代碼為:var code:string;begincase combobox1.ItemIndex of0:beginadoqu

19、ery1.Close;adoquery1.SQL.Clear;adoquery1.SQL.Add('select 密碼 from 讀者信息 where 學(xué)號='''+edit1.text+'''');adoquery1.Open;code:=adoquery1.fieldbyname('密碼').asstring;if adoquery1.RecordCount = 0 then begin showmessage('該用戶不存在'); edit1.Clear; edit1.SetFocus; ed

20、it2.Clear; endelsebeginif edit2.Text=code thenbeginshowmessage('登陸成功');form1.Hide;form10.show;endelse begin showmessage('密碼錯誤'); edit2.Clear; edit2.SetFocus; end;end;end;1:beginadoquery1.Close;adoquery1.SQL.Clear;adoquery1.SQL.Add('select 密碼 from 職工信息 where 職工編號='''+e

21、dit1.text+'''');adoquery1.Open;code:=adoquery1.fieldbyname('密碼').asstring;if adoquery1.RecordCount = 0 then begin showmessage('沒有此用戶'); edit1.Clear; edit1.SetFocus; edit2.Clear; endelsebeginif edit2.Text=code thenbeginshowmessage('登陸成功');form1.Hide;form3.show;

22、endelsebegin showmessage('密碼錯誤'); edit2.Clear; edit2.SetFocus; end;end;end;2:beginadoquery1.Close;adoquery1.SQL.Clear;adoquery1.SQL.Add('select 密碼 from 職工信息 where 職工編號='''+edit1.text+'''');adoquery1.Open;code:=adoquery1.fieldbyname('密碼').asstring;if ad

23、oquery1.RecordCount = 0 then begin showmessage('沒有此用戶'); edit1.Clear; edit1.SetFocus; edit2.Clear; endelsebeginif edit2.Text=code thenbeginshowmessage('登陸成功');form1.Hide;form6.show;endelsebegin showmessage('密碼錯誤'); edit2.Clear; edit2.SetFocus; end;end;end;3:beginadoquery1.Clo

24、se;adoquery1.SQL.Clear;adoquery1.SQL.Add('select 密碼 from 職工信息 where 職工編號='''+edit1.text+'''');adoquery1.Open;code:=adoquery1.fieldbyname('密碼').asstring;if adoquery1.RecordCount = 0 then begin showmessage('沒有此用戶'); edit1.Clear; edit1.SetFocus; edit2.Cle

25、ar; endelsebeginif edit2.Text=code thenbeginshowmessage('登陸成功');form1.Hide;form2.show;endelsebegin showmessage('密碼錯誤'); edit2.Clear; edit2.SetFocus; end;end;end;對于讀者,若未在該系統(tǒng)注冊過則可以點擊注冊按鈕進行注冊。注冊界面如下:按要求填寫注冊信息,點擊注冊按鈕就可以成功注冊為本系統(tǒng)的用戶。注冊部分相關(guān)代碼為“adoquery1.Close; adoquery1.sql.clear; adoquery1

26、.sql.add('insert into 讀者信息(學(xué)號,密碼,姓名,性別,所屬系,電子郵件,備注)'); adoquery1.SQL.Add('values('''+edit1.text+''','''+edit3.text+''','''+edit4.text+''','''+combobox1.text+''','''+edit5.text+'

27、;'','''+edit6.text+''','''+edit7.text+''')'); adoquery1.execsql; showmessage('注冊成功');以管理員身份登錄該系統(tǒng),可以顯示管理員界面,管理員可以快速進入各模塊,沒有權(quán)限限制。.辦公室子系統(tǒng)界面:辦公室系統(tǒng)主要進行對圖書館工作人員信息的管理。可以進行添加,修改,刪除,查詢等操作。上圖為職工信息添加界面。相關(guān)代碼為: adoquery1.Close; adoquery1.sql.cle

28、ar; adoquery1.sql.add('insert into 職工信息(職工編號,密碼,姓名,性別,聯(lián)系電話,所屬部門)'); adoquery1.SQL.Add('values('''+edit1.text+''','''+edit2.text+''','''+edit3.text+''','''+combobox1.text+''','''+ed

29、it5.text+''','''+edit6.text+''')'); adoquery1.execsql; showmessage('添加成功');職工信息修改界面:修改職工信息時需填寫欲修改的職工的職工編號,然后在需要修改的項目上填寫新信息,不需要修改的地方可以不填寫。點擊修改按鈕確認職工信息的修改。相關(guān)代碼為:adoquery1.Close;adoquery1.sql.clear;if edit1.text ='' then begin showmessage('職工編

30、號不能為空'); endelsebegin if edit2.text <>'' then begin adoquery1.sql.add('update 職工信息 set 密碼='''+edit2.Text+''' where 職工編號='''+edit1.text+''''); adoquery1.execsql; end; if edit3.text <>'' then begin adoquery1.sql.ad

31、d('update 職工信息 set 姓名='''+edit3.Text+''' where 職工編號='''+edit1.text+''''); adoquery1.execsql; end; adoquery1.sql.add('update 職工信息 set 性別='''+combobox1.Text+''' where 職工編號='''+edit1.text+''''

32、;); adoquery1.execsql; if edit5.text <>'' then begin adoquery1.sql.add('update 職工信息 set 聯(lián)系電話='''+edit5.Text+''' where 職工編號='''+edit1.text+''''); adoquery1.execsql; end; if edit6.text <>'' then begin adoquery1.sql.add

33、('update 職工信息 set 所屬部門='''+edit6.Text+''' where 職工編號='''+edit1.text+''''); adoquery1.execsql; end;showmessage('修改成功');職工信息查詢界面:可以按職工編號,姓名,所屬部門進行職工信息查詢,也可以查看全部職工信息。相關(guān)代碼為:adoquery1.Close;adoquery1.SQL.Clear;case n of1:begin adoquery1.SQL.

34、Add('select 職工編號,姓名,性別,聯(lián)系電話,所屬部門 from 職工信息 where 職工編號='''+edit1.text+'''');end;2:begin adoquery1.SQL.Add('select 職工編號,姓名,性別,聯(lián)系電話,所屬部門 from 職工信息 where 姓名='''+edit1.text+'''');end;3:begin adoquery1.SQL.Add('select 職工編號,姓名,性別,聯(lián)系電話,所屬部門

35、 from 職工信息 where 所屬部門='''+edit1.text+'''');end;end;adoquery1.Open;adoquery1.Close;adoquery1.SQL.Clear;adoquery1.SQL.Add('select 職工編號,姓名,性別,聯(lián)系電話,所屬部門 from 職工信息');adoquery1.Open;職工信息刪除界面:輸入欲刪除的職工編號可以刪除該職工的所有信息。相關(guān)代碼為:adoquery1.Close;adoquery1.SQL.Clear;adoquery1.sql.

36、add('delete from 職工信息 where 職工編號='''+edit1.Text+'''');adoquery1.execsql;.編目部子系統(tǒng)界面:編目部系統(tǒng)主要進行圖書信息的管理,如添加圖書,修改圖書信息,刪除圖書信息,查詢圖書信息等。相關(guān)代碼為: adoquery1.Close; adoquery1.sql.clear; adoquery1.sql.add('insert into 圖書信息(流水號,分類號,索取號,書名,作者,價格,出版社,出版日期)'); adoquery1.SQL.Add(

37、'values('''+edit1.text+''','''+edit2.text+''','''+edit3.text+''','''+edit4.text+''','''+edit5.text+''','''+edit6.text+''','''+edit7.text+

38、9;'','''+edit8.text+''')'); adoquery1.execsql; showmessage('添加成功');下圖為添加圖書信息界面。圖書信息修改界面:修改圖書信息時,先輸入欲修改的圖書的流水號,然后在欲修改的項目內(nèi)填寫新信息,不修改項目可以不填寫。相關(guān)代碼為:adoquery1.Close;adoquery1.sql.clear;if edit1.text ='' then begin showmessage('流水號不能為空'); endelseb

39、egin if edit2.text <>'' then begin adoquery1.sql.add('update 圖書信息 set 分類號='''+edit2.Text+''' where 流水號='''+edit1.text+''''); adoquery1.execsql; end; if edit3.text <>'' then begin adoquery1.sql.add('update 圖書信息 se

40、t 索取號='''+edit3.Text+''' where 流水號='''+edit1.text+''''); adoquery1.execsql; end; if edit4.text <>'' then begin adoquery1.sql.add('update 圖書信息 set 書名='''+edit4.Text+''' where 流水號='''+edit1.text+&

41、#39;'''); adoquery1.execsql; end; if edit5.text <>'' then begin adoquery1.sql.add('update 圖書信息 set 作者='''+edit5.Text+''' where 流水號='''+edit1.text+''''); adoquery1.execsql; end; if edit6.text <>'' then beg

42、in adoquery1.sql.add('update 圖書信息 set 價格='''+edit6.Text+''' where 流水號='''+edit1.text+''''); adoquery1.execsql; end; if edit7.text <>'' then begin adoquery1.sql.add('update 圖書信息 set 出版社='''+edit7.Text+'''

43、;where 流水號='''+edit1.text+''''); adoquery1.execsql; end; if edit8.text <>'' then begin adoquery1.sql.add('update 圖書信息 set 出版日期='''+edit8.Text+'''where 流水號='''+edit1.text+''''); adoquery1.execsql; end;sh

44、owmessage('修改成功');圖書信息查詢界面:圖書信息查詢可以按照書名,作者,索取號,分類號,流水號等項目分類查詢,也可以查詢所有圖書信息,查詢結(jié)果如下:查詢相關(guān)代碼為:TabControl3.show;adoquery1.Close;adoquery1.SQL.Clear;case n of1:begin adoquery1.SQL.Add('select * from 圖書信息 where 書名='''+edit9.text+'''');end;2:begin adoquery1.SQL.Add(

45、9;select * from 圖書信息 where 作者='''+edit9.text+'''');end;3:begin adoquery1.SQL.Add('select * from 圖書信息 where 索取號='''+edit9.text+'''');end;4:begin adoquery1.SQL.Add('select * from 圖書信息 where 分類號='''+edit9.text+'''&#

46、39;);end;5:begin adoquery1.SQL.Add('select * from 圖書信息 where 流水號='''+edit9.text+'''');end;end;adoquery1.Open;if adoquery1.Fields0.Value=0 thenshowmessage('不存在該記錄');圖書信息刪除界面:刪除圖書信息時直接填寫圖書流水號進行刪除即可。相關(guān)代碼:adoquery1.Close;adoquery1.SQL.Clear;if m=1 thenbeginadoquer

47、y1.sql.add('delete from 圖書信息 where 流水號='''+edit10.Text+'''');adoquery1.execsql;endelseshowmessage('刪除失敗');m:=0;.流通部子系統(tǒng)界面:流通部主要負責圖書的借閱與歸還,由于讀者不親自進行圖書借閱與歸還的記錄工作,故該功能由圖書館職工完成。圖書借閱界面:圖書借閱時,輸入借閱人的學(xué)號及所借圖書的流水號,可以自動顯示出該讀者當前的借閱情況以及該圖書的基本信息。輸入借書日期及應(yīng)歸還日期,點擊確定即可進行圖書借閱。顯示部

48、分代碼為:if edit1.text <> '' thenbeginadoquery1.Close;adoquery1.sql.clear;adoquery1.sql.add('select * from 讀者信息 where 學(xué)號='''+edit1.Text+'''');adoquery1.open;if adoquery1.RecordCount <> 0 thenbeginadoquery1.Close;adoquery1.sql.clear;adoquery1.sql.add(&#

49、39;select 讀者信息.學(xué)號,姓名,書名,借書日期 from 讀者信息 left outer join 借閱圖書信息 on 讀者信息.學(xué)號 = 借閱圖書信息.學(xué)號 and 歸還標記=''否'' where 讀者信息.學(xué)號='''+edit1.Text+'''');adoquery1.open;i:=true;endelse begin showmessage('無此人'); i:=false; end;end;if edit2.Text <> '' then

50、beginadoquery2.Close;adoquery2.sql.clear;adoquery2.sql.add('select 流水號,書名,作者,出版社,是否借出 from 圖書信息 where 流水號='''+edit2.Text+'''');adoquery2.open;if adoquery2.RecordCount = 0 then begin showmessage('無此書'); i:=false; end借書部分相關(guān)代碼:adoquery2.Close;adoquery2.sql.clear;

51、adoquery2.SQL.Add('select * from 圖書信息 where 流水號='''+edit2.Text+'''');adoquery2.open;if adoquery2.fieldbyname('是否借出').asstring = '是' thenbegini:=false;showmessage('該書已借出');end;if i=true thenbeginadoquery2.Close;adoquery2.sql.clear;adoquery2.SQL.

52、Add('select 書名 from 圖書信息 where 流水號='''+edit2.Text+'''');adoquery2.open;adoquery1.Close;adoquery1.sql.clear;adoquery1.sql.add('insert into 借閱圖書信息(流水號,學(xué)號,書名,借書日期,應(yīng)還日期,歸還標記) values ('''+edit2.Text+''','''+edit1.Text+'''

53、,'''+adoquery2.fieldbyname('書名').asstring+''','''+edit3.text+''','''+edit4.Text+''',''否'')');adoquery1.ExecSQL;adoquery1.sql.clear;adoquery1.sql.add('update 圖書信息 set 是否借出=''是'' whe

54、re 流水號='''+edit2.text+'''');adoquery1.ExecSQL;showmessage('借閱成功');圖書歸還界面:圖書歸還時,輸入圖書流水號,可顯示出該書的借閱人的信息和該書的基本信息。輸入歸還日期就可以添加歸還記錄。顯示部分代碼為:adoquery1.Close;adoquery1.sql.clear;adoquery1.sql.add('select * from 圖書信息 where 流水號='''+edit1.Text+'''&

55、#39;);adoquery1.open;if adoquery1.RecordCount = 0 then begin showmessage('無此書'); i:=false; endelse begin if adoquery1.fieldbyname('是否借出').asstring = '否' then i:=false else begin i:=true; adoquery1.Close; adoquery1.sql.clear; adoquery1.sql.add('select 流水號,借閱圖書信息.學(xué)號,姓名,所屬系,

56、書名,借書日期 from 借閱圖書信息 left outer join 讀者信息 on 讀者信息.學(xué)號=借閱圖書信息.學(xué)號 where 流水號='''+edit1.Text+''' and 歸還標記=''否'''); adoquery1.open; end; end;歸還功能相關(guān)代碼為:adoquery1.Close;adoquery1.sql.clear;adoquery1.SQL.Add('select 學(xué)號 from 借閱圖書信息 where 流水號='''+edit1

57、.Text+''' and 歸還標記=''否''');adoquery1.open;num:=adoquery1.fieldbyname('學(xué)號').asstring;adoquery1.Close;adoquery1.sql.clear;adoquery1.SQL.Add('select 書名 from 借閱圖書信息 where 流水號='''+edit1.Text+''' and 歸還標記=''否''');adoqu

58、ery1.open;name:=adoquery1.fieldbyname('書名').asstring;adoquery2.Close;adoquery2.sql.clear;adoquery2.sql.add('update 借閱圖書信息 set 歸還標記=''是'' where 流水號='''+edit1.text+''' and 歸還標記=''否''');adoquery2.ExecSQL;adoquery2.sql.add('upda

59、te 圖書信息 set 是否借出=''否'' where 流水號='''+edit1.text+'''');adoquery2.ExecSQL;adoquery2.sql.add('insert into 歸還圖書信息(學(xué)號,流水號,書名,還書日期) values ('''+num+''','''+edit1.Text+''','''+name+''','''+edit2.Text+''')');adoquery2.ExecSQL; showmessage('歸還成功');.讀者子系統(tǒng)界面:讀者系統(tǒng)可以進行圖書的檢索,讀者當前的借閱情況,以及讀者借閱的歷史情況。圖書檢索相關(guān)代碼為:adoquery1.Close;adoquery1.SQL.Clear;case

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論