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

下載本文檔

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

文檔簡介

1、基于c#的圖書館管理系統(tǒng)課程設計報告書專 業(yè):信息管理與信息系統(tǒng) 課程設計名稱:可視化編程技術(shù)課程設計題 目:圖書館管理系統(tǒng)班 級:0634081班設 計 者:063408113 同 組 人 員: 指 導 老 師:】完 成 時 間:2011-1-5摘要隨著社會的發(fā)展,人們生活水平的不斷提高,物質(zhì)文化的發(fā)展已經(jīng)遠遠滿足不了人們的需求,精神文明有了飛速的發(fā)展,因此圖書事業(yè)的發(fā)展就成為了精神文明進步的一個動力。在邁入二十一世紀的今天,對圖書館的管理顯得極其重要,合理的管理不但反映了一個國家的科技水平,而且影響人們對知識掌握的速度和質(zhì)量。在知識經(jīng)濟時代到來的今天,用計算機管理圖書館的工作由自動化系統(tǒng)運

2、行而完成。這不僅節(jié)省了人力,還提高了工作效率和服務質(zhì)量,而且還加速了圖書的流通。本圖書館管理系統(tǒng)是按基本圖書館系統(tǒng)結(jié)構(gòu)開發(fā)的,本文重點描述圖書添加、圖書信息更新、刪除圖書、圖書查詢等功能。前言部分論述了圖書館系統(tǒng)的發(fā)展以及圖書館用計算機自動化管理的前景。正文論述了圖書館管理系統(tǒng)的特點及圖書館自動化管理的重要性和圖書館管理系統(tǒng)軟件需要實現(xiàn)的主要功能,分析圖書館管理系統(tǒng)以及實現(xiàn)軟件開發(fā)的系統(tǒng)要求,簡述了實現(xiàn)圖書館管理系統(tǒng)設計需要,圖書館系統(tǒng)數(shù)據(jù)庫的設計,程序流程圖以及詳細設計,并陳列了改系統(tǒng)開發(fā)所應用的主要參考文獻。關鍵詞:理信息系統(tǒng) 圖書館 c# 數(shù)據(jù)庫表 sql server2000目錄目錄1

3、第一章開發(fā)環(huán)境和開發(fā)工具21.1c#語言簡介21.2 開發(fā)背景21.3 開發(fā)環(huán)境3第二章 圖書館管理系統(tǒng)的分析與設計32.1 系統(tǒng)需求分析32.2 系統(tǒng)總體設計42.2.1 系統(tǒng)設計目標42.2.2 開發(fā)設計思想42.2.3 系統(tǒng)功能模塊設計5第三章數(shù)據(jù)庫設計63.1 引入背景63.2 數(shù)據(jù)庫需求分析73.3 數(shù)據(jù)庫概念結(jié)構(gòu)設計83.4 數(shù)據(jù)庫邏輯結(jié)構(gòu)設計9第四章系統(tǒng)詳細設計與實現(xiàn)114.1 公共類設計與實現(xiàn)124.2 數(shù)據(jù)訪問層類設計與實現(xiàn)134.3 業(yè)務邏輯層類設計與實現(xiàn)194.4 界面設計及實現(xiàn)204.4.1 登陸界面及代碼204.4.2 主界面及代碼21結(jié) 論24心得體會25參考文獻2

4、6第一章 系統(tǒng)開發(fā)環(huán)境和開發(fā)工具1.1 c#語言簡介 c#是美國微軟公司推出的windows操作系統(tǒng)下的應用程序開發(fā)平臺visualstudio.net(簡稱vs.net)家族中的一員c#是對c+進行了很大改進的一種完全面向?qū)ο蟮目梢暬绦蛟O計語言。由于c#采用了類似于visual basic 的較易使用的程序設計界面,從而成為了一種更加簡單易學、功能強大的應用程序開發(fā)工具。c#是一種先進的、面向?qū)ο蟮恼Z言,使用c#語言可以讓開發(fā)人員快速的建立大范圍的基于ms網(wǎng)絡平臺的應用,并且提供大量的開發(fā)工具和服務,幫助開發(fā)人員開發(fā)機基于計算和通信的各種應用。由于c#是一種面向?qū)ο蟮拈_發(fā)語言,所以c#可以

5、大范圍地適用于高層商業(yè)應用和底層系統(tǒng)的開發(fā)。即使是通過簡單的c#構(gòu)造,也可以讓各種組件方便的轉(zhuǎn)變?yōu)榛趙eb的應用,并且能夠通過internet被各種系統(tǒng)或是其他開發(fā)語言所開發(fā)的應用調(diào)用。1.2 開發(fā)背景圖書館在正常運營中面對大量書籍、讀者信息以及兩者間相互聯(lián)系產(chǎn)生的借書信息、還書信息。現(xiàn)有的人工記錄方法既效率低又錯誤過多,大大影響了圖書館的正常管理工作。因此需要對書籍資源、讀者資源、借書信息、還書信息進行管理,及時了解各個環(huán)節(jié)中信息的變更,有利用管理效率的提高。目前社會上信息管理系統(tǒng)發(fā)展飛快,各個企事業(yè)單位都引入了信息管理軟件來管理自己日益增長的各種信息,圖書管理系統(tǒng)也是有了很大的發(fā)展,商業(yè)

6、化的圖書信息管理軟件也不少。但本系統(tǒng)完全獨立開發(fā),力求使系統(tǒng)功能簡潔明了,但功能齊全且易于操作。1.3 開發(fā)環(huán)境本文所采用的開發(fā)環(huán)境主要是基于數(shù)據(jù)庫系統(tǒng)的sql server 2000 和基于面向?qū)ο蟪绦蛟O計的c#。利用sql server 2000創(chuàng)建圖書館管理各信息表用戶信息表、圖書信息表。利用c#和數(shù)據(jù)庫建立連接之后,利用c#中的控件按鈕以及一些程序代碼實現(xiàn)一些特定的功能,例如用戶圖書信息查詢、書庫借出查詢、密碼修改、查找圖書、個人信息查詢、添加用戶等,極大地提高了圖書館管理的效率。第二章 圖書館管理系統(tǒng)的析與設計2.1 系統(tǒng)需求分析 隨著經(jīng)濟全球化的推進以及企業(yè)激烈的競爭,各大高校的圖

7、書管理系統(tǒng)已經(jīng)越來越不能夠適應讀者和圖書信息劇增的局面了,所以我們現(xiàn)在需要一個檢索迅速、查找方便、易修改功能齊全方便的系統(tǒng)來適應我們的需求。系統(tǒng)采用先進的兩層體系結(jié)構(gòu),client(客戶端)負責提供表達邏輯、顯示用戶界面信息、基本操作;server(服務器端)負責實現(xiàn)數(shù)據(jù)服務。問題的提出:為了減少人工工作量,提高工作效率,使圖書館管理員的工作更加有效地進行。2.2 系統(tǒng)總體設計2.2.1 系統(tǒng)設計目該圖書管管理系統(tǒng)的核心思想是實現(xiàn)對圖書信息增、刪、改、查的管理。根據(jù)圖書館日常圖書管理工作的需求和圖書借閱的管理流程,該系統(tǒng)實施后,應該達到以下目標:1. 充分了解用戶需求及當前形式,功能齊備,能完

8、成圖書處理;2. 要有詳細的設計說明書;3. 每一模塊的流程圖要很清晰;4. 系統(tǒng)能夠正常的運行,能較好的完成預定的功能;5. 系統(tǒng)要有完整的幫助文件,供前臺操作員能方便的操作本系統(tǒng)。6. 系統(tǒng)應該具備管理用戶的信息,對用戶的信息進行管理,實現(xiàn)用戶圖書的借閱功能。2.2.2 開發(fā)設計思想基于以上系統(tǒng)設計目標,本文在開發(fā)人事管理信息系統(tǒng)時遵循了以下開發(fā)設計思想:(1)采用現(xiàn)有的軟硬件環(huán)境及先進的管理系統(tǒng)開發(fā)方案,從而達到充分利用現(xiàn)有資源,提高系統(tǒng)開發(fā)水平和應用效果的目的。(2)盡量達到操作過程中的直觀、方便、實用、安全等要求。(3)系統(tǒng)采用c/s體系結(jié)構(gòu),clinet(客戶端)負責提供表達邏輯、

9、顯示用戶界面信息、訪問數(shù)據(jù)庫服務器;server(服務器端)則用于提供數(shù)據(jù)服務。三層體系的應用程序?qū)I(yè)務規(guī)則、數(shù)據(jù)訪問、合法性校驗等工作放到了中間層進行處理。通常情況下,客戶端不直接與數(shù)據(jù)庫進行交互,而是中間層向外提供接口,通過com/dcom通訊或者http等方式與中間層建立連接,再經(jīng)由中間層與數(shù)據(jù)庫進行交互。當然數(shù)據(jù)通過中間層的中轉(zhuǎn)無疑是降低了效率,但是它脫離于界面與數(shù)據(jù)庫的完美封裝,使得它的缺點顯然不值得一提。典型的三層結(jié)構(gòu)分為表示(presentation)層, 領域(domain)層, 以及基礎架構(gòu)(infrastructure)層,而微軟的dna架構(gòu)定義了三個層:表示層(prese

10、ntation),業(yè)務層(business),和數(shù)據(jù)存儲層(data access)。(4)系統(tǒng)采用模塊化程序設計方法,既便于系統(tǒng)功能的各種組合和修改,又便于未參與開發(fā)的技術(shù)維護人員補充、維護。(5)系統(tǒng)應具備數(shù)據(jù)庫維護功能,及時根據(jù)用戶需求進行數(shù)據(jù)的添加、刪除、修改、備份等操作。2.2.3 系統(tǒng)功能模塊設計本系統(tǒng)分為普通用戶(讀者)和管理員,普通用戶的職能模塊包括查詢圖書、借閱圖書和查詢已借圖書信息,管理員職能模塊包括用戶管理、圖書管理、借閱管理、登錄管理,得到如圖系統(tǒng)功能模塊:第三章 數(shù)據(jù)庫設計3.1 引入背景圖書館管理系統(tǒng)是一個數(shù)據(jù)庫應用系統(tǒng),用戶及圖書的所有信息都保存在數(shù)據(jù)庫中。數(shù)據(jù)庫

11、結(jié)構(gòu)設計是圖書館管理信息系統(tǒng)數(shù)據(jù)庫應用系統(tǒng)開發(fā)過程中一個非常重要的環(huán)節(jié),設計的好壞將直接對所開發(fā)的圖書館管理信息系統(tǒng)的效率以及實現(xiàn)的效果產(chǎn)生影響。好的數(shù)據(jù)庫結(jié)構(gòu)設計會減少數(shù)據(jù)庫的存儲量,數(shù)據(jù)的完整性和一致性比較高,系統(tǒng)具有較快的響應速度,簡化基于此數(shù)據(jù)庫的應用程序的實現(xiàn)等等。數(shù)據(jù)庫結(jié)構(gòu)設計主要就是要設計好數(shù)據(jù)庫中各個表的結(jié)構(gòu),包括信息保存在哪些表格中、各個表的結(jié)構(gòu)如何以及各個表之間的關系。由于數(shù)據(jù)庫設計的重要性,人們提出了許多數(shù)據(jù)庫結(jié)構(gòu)設計的技術(shù)。3.2 數(shù)據(jù)庫需求分析數(shù)據(jù)庫需求分析是數(shù)據(jù)庫結(jié)構(gòu)設計的第一個階段,也是非常重要的一個階段。在這個階段主要工作是收集基本數(shù)據(jù)以及數(shù)據(jù)處理的流程,為以后

12、進一步設計一打下基礎。需求分析主要解決兩個問題:(1)內(nèi)容要求。調(diào)查應用系統(tǒng)用戶所需要操作的數(shù)據(jù),決定在數(shù)據(jù)庫中存儲什么數(shù)據(jù)。(2)處理要求。調(diào)查應用系統(tǒng)用戶要求對數(shù)據(jù)庫進行什么樣的處理,理清數(shù)據(jù)庫中各種數(shù)據(jù)之間的關系。在數(shù)據(jù)庫需求分析后,得到一個數(shù)據(jù)字典文檔,包括3方面內(nèi)容:(1)數(shù)據(jù)項。包括名稱、含義、類型、取值范圍、長度以及和其他數(shù)據(jù)項之間的邏輯關系。(2)數(shù)據(jù)結(jié)構(gòu)。若干個數(shù)據(jù)項的有意義的集合,包括名稱、含義以及組成數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)項。(3)數(shù)據(jù)流。指數(shù)據(jù)中數(shù)據(jù)的處理過程,包括輸入、處理和輸出。本系統(tǒng)數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)設計如下:(1)圖書基本情況。包括的數(shù)據(jù)項有圖書id、圖書名稱、圖書類別類

13、別、作者、價格、出版社、內(nèi)容簡介、圖書指定訪問碼。(2)圖書借閱信息。包括的數(shù)據(jù)項有圖書指定訪問碼、圖書id、圖書名稱、圖書類別、作者、出版社、借閱者權(quán)限、借出時間、用戶編號。(3)用戶登錄信息。包括用戶id、用戶名、密碼、借閱者權(quán)限。3.3 數(shù)據(jù)庫概念結(jié)構(gòu)設計數(shù)據(jù)庫概念結(jié)構(gòu)設計是在需求分析的基礎上,設計出能夠滿足用戶需求的各種實體,以及它們之間的關系,為后面的邏輯結(jié)構(gòu)設計打下基礎。用e-r圖是描述數(shù)據(jù)實體關系的一種直觀描述工具,所以本系統(tǒng)采用了e-r圖的方法進行數(shù)據(jù)庫概念結(jié)構(gòu)設計。用戶實體e-r圖:圖書實體e-r圖:圖書借閱實體e-r圖:3.4 數(shù)據(jù)庫邏輯結(jié)構(gòu)設計概念結(jié)構(gòu)是獨立于實際數(shù)據(jù)模型

14、的信息結(jié)構(gòu),必須將其轉(zhuǎn)化為邏輯結(jié)構(gòu)后才能進行數(shù)據(jù)庫應用的設計。也就是要將概念上的結(jié)構(gòu)轉(zhuǎn)化為bp數(shù)據(jù)庫系統(tǒng)所支持的實際數(shù)據(jù)模型。根據(jù)需求分析進行數(shù)據(jù)庫設計,數(shù)據(jù)庫名稱為 bookmanage ,共需要三張表:用戶表(userinfo)、 圖書信息表(bookinfo)、圖書借閱信息表(bookout)。用戶表存放用戶賬號的信息,一個用戶可以對應一個賬戶,包括用戶名、密碼、借閱證號和用戶權(quán)限。通過用戶表查閱用戶權(quán)限和借閱證號,判斷是否是管理員,是否擁有修改圖書和用戶信息的權(quán)限。圖書信息表里每條記錄都是一本書,包括圖書名稱、圖書類別、作者、價格、內(nèi)容簡介和圖書的訪問碼。通過圖書信息表可以獲取圖書信息

15、。 圖書借閱表記錄用戶借閱圖書的信息,包括借閱的圖書、借閱時間、借閱人。通過圖書借閱信息表可以獲取圖書借閱的信息。圖書借閱情況表:在此三個表的基礎上輸入數(shù)據(jù)完成表的創(chuàng)建。第四章 系統(tǒng)詳細設計與實現(xiàn) 為實現(xiàn)該系統(tǒng),建立名為book的解決方案,建立三層架構(gòu),用戶訪問層(bookui)、數(shù)據(jù)訪問層(bookdal)、邏輯業(yè)務層(bookbll)4.1 公共類設計與實現(xiàn)用戶訪問層用戶訪問層(bookui),位于最外層,離用戶最近。用于顯示數(shù)據(jù)和接收用戶輸入的數(shù)據(jù),為用戶提供一種交互式操作的界面。本系統(tǒng)創(chuàng)建窗口,實現(xiàn)圖書信息和用戶信息的增、刪、改、查操作。實體類model:book.cs、user.cs

16、、bookout.cs, 是關系數(shù)據(jù)庫和對象之間架起一座橋梁,幫助我們完成傳遞參數(shù)功能,實現(xiàn)按某一字段進行查詢。如圖所示: 4.2 數(shù)據(jù)訪問層類設計與實現(xiàn) 數(shù)據(jù)訪問層(bookdal):該層所做事務直接操作數(shù)據(jù)庫,針對數(shù)據(jù)的增添、刪除、修改、更新、查找等。本實例系統(tǒng)的主要操作都需要與數(shù)據(jù)庫發(fā)生交互,操作數(shù)據(jù)庫是必不可少的,為了減少 重復代碼提高代碼的重用性和規(guī)范性,把與數(shù)據(jù)庫交互的功能單獨放在一個類中,在該類中 實現(xiàn)數(shù)據(jù)庫的增加、刪除、修改、查詢等通用功能。因此創(chuàng)建databa.cs類,放在bookutility方案下,實現(xiàn)對數(shù)據(jù)庫的操作,代碼如下:namespace bookutility

17、public class database private static string _connstr = data source=.;initial catalog=bookmanage;integrated security=true; private static sqlconnection sqlcon = null; private static void createconnection() if (sqlcon = null) sqlcon = new sqlconnection(_connstr); sqlcon.open(); else if (sqlcon.state =

18、 connectionstate.closed | sqlcon.state = connectionstate.broken) sqlcon.close(); sqlcon.open(); public static sqlcommand querry(string strsql) try createconnection(); sqlcommand sqlcmd = new sqlcommand(strsql, sqlcon); sqlcmd.commandtext = strsql; return sqlcmd; catch return null; /執(zhí)行insert/update/d

19、elete,不帶參數(shù) public static int executenoquery(string strsql) int i; try createconnection(); sqlcommand sqlcmd = new sqlcommand(strsql, sqlcon); i = sqlcmd.executenonquery(); sqlcon.close(); return i; catch return -1; /執(zhí)行insert/update/delete,帶參數(shù) public static int executenoquery(string strsql, params sq

20、lparameter param) int i; try createconnection(); sqlcommand sqlcmd = new sqlcommand(strsql, sqlcon); /sqlcmd.parameters.add(param); foreach (sqlparameter par in param) /遍歷數(shù)組將參數(shù)對象添加到操作命令中 sqlcmd.parameters.add(par); i = sqlcmd.executenonquery(); return i; catch return -1; public static dataset getdat

21、aset(string strsql) createconnection(); sqldataadapter sda = new sqldataadapter(strsql, sqlcon); dataset ds = new dataset(); try sda.fill(ds); return ds; catch return null; public static dataset getdataset(string strsql, params sqlparameter param) createconnection(); sqldataadapter sda = new sqldata

22、adapter(strsql, sqlcon); dataset ds = new dataset(); foreach (sqlparameter par in param) sda.selectcommand.parameters.add(par); try sda.fill(ds); return ds; catch return null; public static datatable gettable(string strsql) try createconnection(); sqldataadapter sda = new sqldataadapter(strsql, sqlc

23、on); dataset ds = new dataset(); sda.fill(ds, temp); sqlcon.close(); return ds.tablestemp; catch return null; public static datatable gettable(string strsql, params sqlparameter param) try createconnection(); string str = strsql; sqldataadapter sda = new sqldataadapter(strsql, sqlcon); foreach (sqlp

24、arameter par in param) sda.selectcommand.parameters.add(par); dataset ds = new dataset(); sda.fill(ds, temp); sqlcon.close(); return ds.tablestemp; catch return null; 數(shù)據(jù)訪問層創(chuàng)建了兩個類,bookaccess.cs和useraccess.cs,分別實現(xiàn)訪問存放書籍和用戶的信息的功能,代碼如下:namespace bookdal public class bookaccess public datatable bookquarr

25、y(book b) string str = select * from bookinfo where booktype= + b.booktype + or bookname like% + b.bookname + % or bookauthor=% + b.bookauthor + %or bookid= + b.bookid + ; return database.gettable(str); public datatable quarryall() string str = select * from bookinfo; return database.gettable(str);

26、public datatable quarrymybook(string id) sqlparameter param = new sqlparameter new sqlparameter(uid,id); string str = select bookissue,bookid,bookname,booktype,bookauthor,bookpub,bookouttime from bookout where uid=uid; return database.gettable(str,param); public datatable quarryallout() string str =

27、 select * from bookout; return database.gettable(str); public sqlcommand quarrybyid(string id) string str = select * from bookinfo where bookid= + id + ; return database.querry(str); public int addbook(book b) sqlparameter parm = new sqlparameter new sqlparameter(bookid, b.bookid), new sqlparameter(

28、bookname, b.bookname), new sqlparameter(booktype, b.booktype), new sqlparameter(bookauthor, b.bookauthor), new sqlparameter(bookprice, b.bookprice), new sqlparameter(bookpub, b.bookpub), new sqlparameter(bookcontent, b.bookcontent), new sqlparameter(bookissue, b.bookissue) ; string str = insert into

29、 bookinfo values(bookid,bookname,booktype,bookauthor,bookprice,bookpub,bookcontent,bookissue); int i = database.executenoquery(str, parm); return i; public int bookout(bookout bo) sqlparameter parm = new sqlparameter new sqlparameter(bookissue, bo.bookissue), new sqlparameter(bookid, bo.bookid), new

30、 sqlparameter(bookname, bo.bookname), new sqlparameter(booktype, bo.booktype), new sqlparameter(bookauthor, bo.bookauthor), new sqlparameter(bookpub, bo.bookpub), new sqlparameter(uidentify, bo.uidentify), new sqlparameter(bookouttime, bo.bookouttime),new sqlparameter(uid, bo.uid) ; string str = ins

31、ert into bookout values(bookissue,bookid,bookname,booktype,bookauthor,bookpub,uidentify,bookouttime,uid); int i = database.executenoquery(str, parm); return i; public int updatebook(book b) sqlparameter parm = new sqlparameter new sqlparameter(bookid, b.bookid), new sqlparameter(bookname, b.bookname

32、), new sqlparameter(booktype, b.booktype), new sqlparameter(bookauthor, b.bookauthor), new sqlparameter(bookprice, b.bookprice), new sqlparameter(bookpub, b.bookpub), new sqlparameter(bookcontent, b.bookcontent), new sqlparameter(bookissue, b.bookissue) ; string str = update bookinfo set bookname=bo

33、okname,booktype=booktype,bookauthor=bookauthor,bookprice=bookprice,bookpub=bookpub,bookcontent=bookcontent,bookissue=bookissue where bookid=bookid; int i = database.executenoquery(str, parm); return i; public int deletebook(string bookid) string str = delete bookinfo where bookid= + bookid + ; int i

34、 = database.executenoquery(str); return i; public datatable deletemybook(string bookissue) sqlparameter param = new sqlparameter new sqlparameter(bookissue, bookissue) ; string str = delete bookout where bookissue=bookissue; return database.gettable(str, param); 4.3 業(yè)務邏輯層類設計與實現(xiàn) 業(yè)務邏輯層(bookbll)在體系架構(gòu)中的

35、位置很關鍵,負責關鍵業(yè)務的處理和數(shù)據(jù)傳遞,它處于數(shù)據(jù)訪問層與表示層中間,起到了數(shù)據(jù)交換中承上啟下的作用。由于層是一種弱耦合結(jié)構(gòu),層與層之間的依賴是向下的,底層對于上層而言是“無知”的,改變上層的設計對于其調(diào)用的底層而言沒有任何影響。如果在分層設計時,遵循了面向接口設計的思想,那么這種向下的依賴也應該是一種弱依賴關系。因而在不改變接口定義的前提下,理想的分層式架構(gòu),應該是一個支持可抽取、可替換的“抽屜”式架構(gòu)。正因為如此,業(yè)務邏輯層的設計對于一個支持可擴展的架構(gòu)尤為關鍵,因為它扮演了兩個不同的角色。對于數(shù)據(jù)訪問層而言,它是調(diào)用者;對于表示層而言,它卻是被調(diào)用者。 本管理系統(tǒng)創(chuàng)建bookmessa

36、ge、usermessage兩個類,實現(xiàn)數(shù)據(jù)訪問層和用戶訪問層之間的數(shù)據(jù)傳遞。4.4 界面設計及實現(xiàn)4.4.1 登錄界面及代碼本系統(tǒng)的用戶分為普通用戶(讀者)和管理員用戶,管理員用戶具有系統(tǒng)提供的所有權(quán)限,普通用戶可以查詢圖書、借閱圖書、查詢個人借閱信息。系統(tǒng)登錄界面是判斷用戶身份的一個交互窗體,在其中輸入正確的用戶名和密碼后,單擊“確定”按鈕,可根據(jù)用戶角色在主界面中擁有相應的權(quán)限。登錄界面如圖所示:4.4.2 主界面及代碼 菜單界面,添加menustrip菜單控件,實現(xiàn)各操作界面的連接,本圖書館管理系統(tǒng)有兩個菜單界面,管理員窗口和讀者窗口,完成不同權(quán)限用戶的交互操作界面。圖書管理窗口,瀏覽

37、圖書信息,實現(xiàn)管理員對圖書的增刪改查操作。添加圖書窗口:完成圖書的入庫操作管理員有權(quán)限可以將圖書添加到數(shù)據(jù)庫中,圖書入庫界面如上圖所示。在分組框中添加標簽和文本框,用來接收管理員輸人的圖書信息,以便保存到數(shù)據(jù)庫中。代碼如下:public partial class addbook : form public addbook() initializecomponent(); bookmessage bm = new bookmessage(); book books = new book(); private void button1_click(object sender, eventargs

38、 e) if (textbox1.text.trim() = | textbox2.text.trim() = | textbox3.text.trim() = | textbox4.text.trim() = | textbox5.text.trim() = | textbox6.text.trim() = | textbox7.text.trim() = | combobox1.text.trim() = ) messagebox.show(信息輸入不完整,請重新輸入, 確定); else books.bookid = textbox1.text.trim(); books.booknam

39、e = textbox2.text.trim(); books.booktype = combobox1.text.trim(); books.bookauthor = textbox5.text.trim(); books.bookprice = textbox4.text.trim(); books.bookpub = textbox3.text.trim(); books.bookcontent = textbox7.text.trim(); books.bookissue = textbox6.text.trim(); sqlcommand cm = bm.qurrybyid(books.bookid); if (null!=cm.executescalar() messagebox.show(此圖書已存在, 確定); else int i = bm.addbook(books); if (i!= 0) messagebox.show(添加圖書成功, 確定); 查詢用戶信息界面: 結(jié)論本系統(tǒng)用sql server 2000做為后臺數(shù)據(jù)庫創(chuàng)建所需要的數(shù)據(jù)庫和表,用c#語言進行連接,以及對數(shù)據(jù)庫進行檢索、添加和刪除。從最后設計出的測試結(jié)果來看,效果比較明顯,檢索迅速、查找方便、可靠性高、存儲量大、信

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論