C#圖書管理實驗報告.doc_第1頁
C#圖書管理實驗報告.doc_第2頁
C#圖書管理實驗報告.doc_第3頁
C#圖書管理實驗報告.doc_第4頁
C#圖書管理實驗報告.doc_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

C#.NET課程設(shè)計報告 項目名稱: C#實現(xiàn)圖書管理系統(tǒng) 組 員: 楊朝文(10060042) 王小龍(10060041) 于 通(10060044) 組員分工:于通:FormRegistered.cs FormLogin.cs(和楊朝文) 王小龍: FormAddBook.cs FormDeleteBook.cs FormReturnBook.cs 楊朝文:FormUserBorrowInfo.cs FormBorrowBook.cs 等協(xié)助組員一起學(xué)習(xí) 一. 概述 隨著科學(xué)技術(shù)的快速發(fā)展,給個個領(lǐng)域帶來空前的方便,如,圖書館的書籍管理,利用C#.NET語言和數(shù)據(jù)庫實現(xiàn)對圖書館的書籍管理,給學(xué)校師生閱覽書籍帶來很大的便利,同時也大大減少了圖書管理員的工作量。二. 系統(tǒng)分析1. 需求分析為了方便對圖書館書籍的管理,利用C#.NET技術(shù)和簡易的Access數(shù)據(jù)庫來實現(xiàn)此目的。2. 可行性分析2.1. 前臺功能分析閱覽者可以注冊賬號,登陸圖書管理系統(tǒng),并且能查看自己的用戶信息和修改信息,查詢圖書,借讀圖書,查看自己所借讀的所有信息。2.2. 后臺功能分析管理員登陸圖書管理系統(tǒng)后,可以查看所有用戶信息并可進行刪除,查看閱覽者所借讀的所以信息,實現(xiàn)閱覽者歸還書籍時操作,同時可以查詢書籍,更新書籍,更新書籍類型和出版社等功能。3. 功能模塊劃分3.1系統(tǒng)總體模塊圖書管理系統(tǒng)前臺后臺個人信息圖書查詢借閱圖書借閱信息查詢?nèi)款愋筒樵冇脩粜畔⒔栝喰畔D書查詢書籍歸還圖書更新添加圖書類型添加出版社查詢?nèi)款愋筒樵兲砑訄D書刪除圖書3.1系統(tǒng)總體模塊圖3.2.閱覽者注冊登陸 開始是否注冊注冊輸入信息數(shù)據(jù)是否合法合法注冊成功開始登陸輸入用戶和密碼是否通過登陸驗證登陸成功結(jié)束YNNNYY3.2用戶注冊流程圖3.3前臺借閱功能登陸開始借閱圖書是否符合條件借閱成功結(jié)束NY3.3前臺借閱流程圖3.4后臺歸還書籍功能管理員登陸開始輸入閱覽者ID是否存在閱覽者ID輸入書籍號歸還成功結(jié)束NY3.4后臺歸還書籍流程圖三. 數(shù)據(jù)庫設(shè)計1.E-R圖 adminadminPasswordAdminId1-0. 管理員表E-R圖readerreaderIdreaderPasswordreaderNamereaderSexreaderAgereaderDeptreaderZYmaxNumber1-1.閱覽者表E-R圖publisherpublisherIdpublisherName1-2.出版社表E-R圖bookbookIdbookNamebookWriterifborrowbookPricepublisherIdbookTypeId1-3.書籍表E-R圖borrowreaderIdbookIdborrowTimereturnTimeout1-4.書籍借閱信息表E-R圖2.各表的信息介紹 2-1.admin表字段名稱數(shù)據(jù)類型是否為主鍵說明adminId文本是管理員IDadminPassword文本管理員密碼2-2.book表字段名稱數(shù)據(jù)類型是否為主鍵說明BookId文本是書籍IDBookName文本書籍名稱BookWritter文本書籍作者Ifborrow文本是否被借閱BookPrice貨幣書籍價格BooktypeId文本是booktype外鍵publisherId文本是publisher外鍵2-3.booktype表字段名稱數(shù)據(jù)類型是否為主鍵說明BooktypeId文本是書籍類型IDBooktypeName文本書籍類型名稱Flow文本書籍所在樓層數(shù)2-4.borrow表字段名稱數(shù)據(jù)類型是否為主鍵說明readerId文本是讀者IDbookId文本是書籍IDborrowTime日期/時間借閱時間returnTime日期/時間到期時間Out文本是否超期2-5.publisher表字段名稱數(shù)據(jù)類型是否為主鍵說明PublisherId文本是出版社IDpublisherName文本出版社名稱 2-6.reader表字段名稱數(shù)據(jù)類型是否為主鍵說明readerId文本是讀者IDreaderPassword文本讀者登錄密碼readerName文本讀者姓名ReaderSex文本讀者性別ReaderAge文本讀者年齡ReaderDept文本讀者所在的院系readerZY文本讀者的專業(yè)Maxnumber文本讀者最多只能借閱書籍的數(shù)量 2-7各表之間的關(guān)系2-7.各表之間關(guān)系圖四.系統(tǒng)各模塊的功能詳細介紹1.登錄和注冊界面1-1.登錄主要代碼namespace BookMS public partial class FormLogin : Form public FormLogin() InitializeComponent(); private void buttonLogin_Click(object sender, EventArgs e) OdbcConnection conn = new OdbcConnection(Properties.Settings.Default.ConnectionString); if (yanzhengshuru() if (comboBoxTypeName.Text.Trim() =管理員) try String sql = string.Format(select * from admin where adminId=0, textBoxUserName.Text.Trim(); OdbcCommand cmd = new OdbcCommand(sql, conn); conn.Open(); OdbcDataReader dr = cmd.ExecuteReader(); if (dr.Read() if (dr1.ToString().Trim() = textBoxUserPsd.Text.Trim() FormAdmin admin = new FormAdmin(); admin.Show(); 1-1. 登錄界面1-2. 注冊主要代碼 private void buttonRegistered_Click(object sender, EventArgs e) OdbcConnection conn = new OdbcConnection(Properties.Settings.Default.ConnectionString); String sql = String.Format(insert into reader values (0,1,2,3,4,5,6,7),id,pw,name,sex,age,dept,major,max); OdbcCommand cmd = new OdbcCommand(sql,conn); if (id != & pw != & name != & sex != & age != & dept != & major != ) try conn.Open(); int n = cmd.ExecuteNonQuery(); if (n = 0) 1-2.注冊界面2.后臺主要功能介紹2-1.查看借閱信息主要代碼private void FormSeeBorrowInfo_Load(object sender, EventArgs e) try String sql = string.Format(select readerId from borrow); OdbcCommand cmd = new OdbcCommand(sql,conn); conn.Open(); OdbcDataReader dr = cmd.ExecuteReader(); String readerid = ; while (dr.Read() readerid = (string)dr0; comboBoxUserId.Items.Add(readerid); dr.Close(); catch (OdbcException err) MessageBox.Show(err.Message,連接失敗!); finally conn.Close(); private void buttonUserS_Click(object sender, EventArgs e) String rid = comboBoxUserId.Text.Trim(); dt.Clear(); String sql = string.Format(select borrow.readerId ,readerName,borrow.bookId,bookName,borrowTime,returnTime,out from borrow,reader,book where book.bookId=borrow.bookId and borrow.readerId=reader.readerId and reader.readerId=0,rid); adapter = new OdbcDataAdapter(sql,conn); adapter.Fill(dt); dataGridViewBorrowInfo.DataSource = dt; private void buttonAllS_Click(object sender, EventArgs e) String sql = string.Format(select borrow.readerId ,readerName,borrow.bookId,bookName,borrowTime,returnTime,out from borrow,reader,book where book.bookId=borrow.bookId and borrow.readerId=reader.readerId); dt.Clear(); adapter = new OdbcDataAdapter(sql,conn); adapter.Fill(dt); dataGridViewBorrowInfo.DataSource = dt; 2-1.查看借閱信息2-2.書籍歸還主要代碼OdbcConnection conn = new OdbcConnection(Properties.Settings.Default.ConnectionString); OdbcDataAdapter adapter; DataTable dt = new DataTable(); String rid = ; String bid = ; int maxNum; private void buttonSearch_Click(object sender, EventArgs e) dt.Clear(); rid = textBoxReaderId.Text.Trim(); String sql = string.Format(select borrow.readerId ,readerName,borrow.bookId,bookName,borrowTime,returnTime,out from borrow,reader,book where book.bookId=borrow.bookId and borrow.readerId=reader.readerId and reader.readerId=0,rid); adapter = new OdbcDataAdapter(sql,conn); adapter.Fill(dt); dataGridViewInfo.DataSource = dt; private void buttonOK_Click(object sender, EventArgs e) bid = textBoxBookId.Text.Trim(); try conn.Open(); String sql1 = string.Format(delete from borrow where readerId=0 and bookId=1, rid, bid); OdbcCommand cmd1 = new OdbcCommand(sql1, conn); int deleteN = cmd1.ExecuteNonQuery(); String sql2 = string.Format(update book set ifborrow=否 where bookId=0, bid); OdbcCommand cmd2 = new OdbcCommand(sql2, conn); int updateN = cmd2.ExecuteNonQuery(); String sql3 = string.Format(select maxnumber from reader where readerId=0, rid); OdbcCommand cmd3 = new OdbcCommand(sql3, conn); OdbcDataReader dr = cmd3.ExecuteReader(); while (dr.Read() maxNum = (int)dr0; String sql4 = string.Format(update reader set maxnumber=0 where readerId=1, maxNum + 1, rid); OdbcCommand cmd4 = new OdbcCommand(sql4, conn); int updateM = cmd4.ExecuteNonQuery(); if (deleteN != 0 & updateN != 0 & updateM != 0) finally conn.Close(); 2-2.歸還書籍3.前臺主要功能介紹3-1.查看自己借閱信息 public FormUserBorrowInfo(String userId) InitializeComponent(); this.userId = userId; public String UserId get return userId; set this.userId = value; OdbcConnection conn = new OdbcConnection(Properties.Settings.Default.ConnectionString); OdbcDataAdapter adapter; DataTable dt = new DataTable(); private void buttonOK_Click(object sender, EventArgs e) if (textBoxUserId.Text.Trim() = UserId) String sql = string.Format(select borrow.readerId ,readerName,borrow.bookId,bookName,borrowTime,returnTime,out from borrow,reader,book where book.bookId=borrow.bookId and borrow.readerId=reader.readerId and reader.readerId=0,userId); adapter = new OdbcDataAdapter(sql,conn); adapter.Fill(dt); dataGridViewBInfo.DataSource = dt; else MessageBox.Show(你輸入的用戶ID和登陸的用戶ID不一致!n你沒有權(quán)限查詢他人借閱信息!,提示,MessageBoxButtons.OK,MessageBoxIcon.Information); 3-1.借閱信息3-2.借閱書籍主要代碼private String userId; public FormBorrowBook() InitializeComponent(); public FormBorrowBook(String userId) InitializeComponent(); this.userId = userId; OdbcConnection conn = new OdbcConnection(Properties.Settings.Default.ConnectionString); OdbcDataAdapter adapter; DataTable dt = new DataTable(); int maxNum; private void FormBorrowBook_Load(object sender, EventArgs e) textBoxUserId.Text = userId; String sql = string.Format(select bookId,bookName,bookWritter,booktype.booktypeName,bookPrice,booktype.flow,publisher.publisherName,ifborrow from book,booktype,publisher where book.booktypeId=booktype.booktypeId and book.publisherId=publisher.publisherId); try adapter = new OdbcDataAdapter(sql, conn); adapter.Fill(dt); dataGridViewAll.DataSource = dt; catch (OdbcException err) MessageBox.Show(err.Message, 查詢失敗); private void buttonBorrow_Click(object sender, EventArgs e) String uid = textBoxUserId.Text.Trim(); String bid = textBoxBookId.Text.Trim(); DateTime borrowTime = DateTime.Now; TimeSpan a = new TimeSpan(30,0,0,0); DateTime returnTime = borrowTime + a; String ifout = NO; try String sql3 = string.Format(select ifborrow from book where bookId=0,bid); OdbcCommand cmd3 = new OdbcCommand(sql3,conn); conn.Open(); OdbcDataReader dr3 = cmd3.ExecuteReader(); String ifBorrow = ; while (dr3.Read() ifBorrow = (string)dr30; dr3.Close(); String sql4 = string.Format(select maxnumber from reader where readerId=0,uid); OdbcCommand cmd4 = new OdbcCommand(sql4,conn); OdbcDataReader

溫馨提示

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

評論

0/150

提交評論