已閱讀5頁,還剩42頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
畢業(yè)設(shè)計_圖書管理系統(tǒng) 一、數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)createdatabasetsgl go usetsgl go createtablebmanage( bid varchar(10)primarykey,bnamevarchar(50),-添加圖書-圖書編號-書名bnumbervarchar(10),-書數(shù)目) go bsorevarchar(50)-分類createtablemadmin( mnamevarchar(10)primarykey,mpwdvarchar(25),magevarchar(8),msexvarchar(4),mnumbervarchar(15),mrolevarchar(8) go -圖書員管理-圖書管理員姓名-圖書管理員密碼-圖書管理員年齡-圖書管理員性別-圖書管理員電話-圖書管理員角色createtablereader( rsnovarchar(10)primarykey,rnamevarchar(10),rpwdvarchar(25),ragevarchar(8),rsexvarchar(4),rstatevarchar(8),rnumbervarchar(15),remailvarchar(25),-讀者信息表reader -讀者號-姓名-密碼-年齡-性別-狀態(tài)-電話號碼-電子郵件radressvarchar(50),-地址) go rgradevarchar(15),rclassvarchar(15),rrolevarchar(8)-年級-班級-角色createtablerrecord( rsnovarchar(10)primarykey,rnamevarchar(10),bid varchar(10),bnamevarchar(50),btimevarchar(10),bbacktimevarchar(10) go createtablesysset( rrolevarchar(8)primarykey,rstatevarchar(8),finefloat(25),rdayvarchar(8)-讀者編號學號-讀者姓名-圖書編號-圖書名稱-借書時間-還書時間-讀者角色-讀者可借書數(shù)-過期罰款設(shè)置-可借書天數(shù))二、界面截圖及說明1)登錄窗口(實現(xiàn)管理員和館長的登陸) 2)管理員窗口 3)館長窗口 4)關(guān)于窗口 5)新增圖書窗口 6)新增管理員、查找及修改窗口 7)新增讀者、查找及修改窗口 8)圖書的查找及修改窗口 9)借閱窗口 10)系統(tǒng)設(shè)置窗口 三、主要代碼主要代1)登錄窗口(實現(xiàn)管理員和館長的登陸) 登陸檢查: using system; using system.collections.generic; using system.linq; using system.text; using system.data; using prjtsgl.classlib.dbaccess; namespace prjtsgl.classlib.logic classclslogincheck publicstaticdatatable checklogin(string userid, string pwd) string sqlstmt = select mname,mpwd,mrole from madmin where mname= + userid + and mpwd= + pwd + ; datatable dt = clsglobalvar.getdatatable(sqlstmt); return dt; 登陸: using system; using system.collections.generic; using system.componentmodel; using system.data; using system.drawing; using system.linq; using system.text; using system.windows.forms; using prjtsgl.classlib.logic; namespace prjtsgl.tsgl_ui publicpartialclassfrmlogin : form public frmlogin() initializecomponent(); privatevoid btnlogin_click(object sender, eventargs e) string struserid = loginid.text.trim(); string strpwd = loginpwd.text.trim(); string type = ; try datatable dt = clslogincheck.checklogin(struserid, strpwd); if (dt.rows.count = 0) messagebox.show(登陸失敗,請重新輸入!); loginpwd.focus(); return; else type = dt.rows0mrole.tostring().trim(); if (cbolt.text.trim()=館長 ) if (type = 館長) this.hide(); frmmanager objmanager = newfrmmanager(); objmanager.show(); else messagebox.show(您沒有權(quán)限!); loginpwd.focus(); return; else if (type =管理員) this.hide(); frmadmin objadmin = newfrmadmin(); objadmin.show(); else messagebox.show(您沒有權(quán)限!); loginpwd.focus(); return; catch (exception ex) throw ex; privatevoid btnexit_click(object sender, eventargs e) this.close(); 2)管理員窗口 using system; using system.collections.generic; using system.componentmodel; using system.data; using system.drawing; using system.linq; using system.text; using system.windows.forms; namespace prjtsgl.tsgl_ui publicpartialclassfrmadmin : form public frmadmin() initializecomponent(); privatevoid showform(form frmtoshow) this.cursor = cursors.waitcursor; foreach (form frmchild inthis.mdichildren) if (frmchild.gettype() = frmtoshow.gettype() frmtoshow.dispose(); frmchild.activate(); this.cursor = cursors.default; return; frmtoshow.mdiparent = this; frmtoshow.show(); this.cursor = cursors.default; privatevoid 讀者信息修改toolstripmenuitem_click(object sender, eventargs e) showform(newfrmupdatereader(); privatevoid 新增圖書toolstripmenuitem_click(object sender, eventargs e) showform(newfrmaddnewbook(); privatevoid 圖書的查找和修改toolstripmenuitem_click(object sender, eventargs e) showform(newfrmupdatebook(); privatevoid 流通管理toolstripmenuitem_click(object sender, eventargs e) showform(newfrmborrow(); privatevoid 幫助toolstripmenuitem_click(object sender, eventargs e) showform(newfrmabout(); privatevoid 退出toolstripmenuitem_click(object sender, eventargs e) application.exit(); 3)館長窗口 using system; using system.collections.generic; using system.componentmodel; using system.data; using system.drawing; using system.linq; using system.text; using system.windows.forms; namespace prjtsgl.tsgl_ui publicpartialclassfrmmanager : form public frmmanager() initializecomponent(); privatevoid showform(form frmtoshow) this.cursor = cursors.waitcursor; foreach (form frmchild inthis.mdichildren) if (frmchild.gettype() = frmtoshow.gettype() frmtoshow.dispose(); frmchild.activate(); this.cursor = cursors.default; return; frmtoshow.mdiparent = this; frmtoshow.show(); this.cursor = cursors.default; privatevoid frmmanager_formclosed(object sender, formclosedeventargs e) application.exit(); privatevoid 管理員信息管理toolstripmenuitem_click_1(object sender, eventargs e) showform(newfrmselectadmin(); privatevoid 系統(tǒng)設(shè)置toolstripmenuitem_click_1(object sender, eventargs e) showform(newfrmsys(); privatevoid 關(guān)于toolstripmenuitem_click(object sender, eventargs e) showform(newfrmabout(); privatevoid 退出toolstripmenuitem_click_1(object sender, eventargs e) application.exit(); 4)關(guān)于窗口 using system; using system.collections.generic; using system.componentmodel; using system.data; using system.drawing; using system.linq; using system.text; using system.windows.forms; namespace prjtsgl.tsgl_ui publicpartialclassfrmabout : form public frmabout() initializecomponent(); privatevoid button1_click(object sender, eventargs e) this.close(); 5)新增圖書窗口 using system; using system.collections.generic; using system.componentmodel; using system.data; using system.drawing; using system.linq; using system.text; using system.windows.forms; using prjtsgl.classlib.dbaccess; namespace prjtsgl.tsgl_ui publicpartialclassfrmaddnewbook : form public frmaddnewbook() initializecomponent(); privatebool validatinput() if (textbox1.text = ) messagebox.show(請輸入圖書編號!, 輸入提示, messageboxbuttons.ok, messageboxicon.information); textbox1.focus(); returnfalse; if (textbox2.text = ) messagebox.show(請輸入圖書名稱!, 輸入提示, messageboxbuttons.ok, messageboxicon.information); textbox2.focus(); returnfalse; if (textbox3.text = ) messagebox.show(請輸入圖書數(shù)目!, 輸入提示, messageboxbuttons.ok, messageboxicon.information); textbox3.focus(); returnfalse; if (combobox1.text = ) messagebox.show(請選擇圖書類別!, 輸入提示, messageboxbuttons.ok, messageboxicon.information); textbox3.focus(); returnfalse; returntrue; privatevoid btnok_click_1(object sender, eventargs e) if (validatinput() /string id = textbox1.text; /string name = textbox2.text; /string number = textbox3.text; /string sore = combobox1.text; string sql = select *from bmanage where bid= + textbox1.text.trim() + ; datatable dt = clsglobalvar.getdatatable(sql); if (dt.rows.count = 0) string sql = insert into bmanage(bid,bname,bnumber,bsore)values( + textbox1.text.trim() + , + textbox2.text.trim() + , + textbox3.text.trim() + ,+ combobox1.text.trim() + ); try bool result = clsglobalvar.execsql(sql); if (result) messagebox.show(添加成功!, 操作提示, messageboxbuttons.ok, messageboxicon.information); textbox1.text = ; textbox2.text = ; textbox3.text = ; combobox1.text = ; textbox1.focus(); else messagebox.show(添加失?。? 操作提示, messageboxbuttons.ok, messageboxicon.error); catch (exception ex) messagebox.show(操作數(shù)據(jù)庫出錯!, 操作演示, messageboxbuttons.ok, messageboxicon.error); console.writeline(ex.message); else messagebox.show(圖書編號已存在!, 操作提示, messageboxbuttons.ok, messageboxicon.information); textbox1.focus(); privatevoid btncancel_click(object sender, eventargs e) this.close(); 6)新增管理員、查找及修改窗口 using system; using system.collections.generic; using system.componentmodel; using system.data; using system.drawing; using system.linq; using system.text; using system.windows.forms; using prjtsgl.classlib.dbaccess; namespace prjtsgl.tsgl_ui publicpartialclassfrmselectadmin : form public frmselectadmin() initializecomponent(); string name = ; string sql = ; string pwd = ; string age = ; string sex = ; string tel = ; string role = ; privatevoid selectadmin() string strfilter = ; string sql = select mname as 用戶名,mpwd as 密碼,mage as 年齡 ,msex as 性別,mnumber as 電話,mrole as 角色 from madmin ; if (txtname.text = ) strfilter = ; else strfilter = where mname= + txtname.text.trim() + ; try datatable dt = clsglobalvar.getdatatable(sql + strfilter); int intindex = 0; if (dt.rows.count = 0) messagebox.show(抱歉,沒有您要找的用戶!, 結(jié)果提示, messageboxbuttons.ok, messageboxicon.information); txtname.text = ; txtpwd.text = ; txtage.text = ; cbosex.text = ; txttel.text = ; cborole.text = ; else lv.columns.clear(); lv.items.clear(); lv.columns.add(序號, 100, horizontalalignment.center); for (int intj = 0; intj dt.columns.count; intj+) lv.columns.add(dt.columnsintj.columnname, 200, horizontalalignment.center); for (int inti = 0; inti dt.rows.count; inti+) intindex = inti + 1; lv.items.add(intindex.tostring(); lv.itemsinti.subitems.add(dt.rowsinti用戶名.tostring().trim(); lv.itemsinti.subitems.add(dt.rowsinti密碼.tostring().trim(); lv.itemsinti.subitems.add(dt.rowsinti年齡.tostring().trim(); lv.itemsinti.subitems.add(dt.rowsinti性別.tostring().trim(); lv.itemsinti.subitems.add(dt.rowsinti電話.tostring().trim(); lv.itemsinti.subitems.add(dt.rowsinti角色.tostring().trim(); /連接數(shù)據(jù)庫,將數(shù)據(jù)讀取出放入madmindata catch (exception ex) messagebox.show(查詢數(shù)據(jù)庫出錯!, 提示, messageboxbuttons.ok, messageboxicon.error); console.writeline(ex.message); privatevoid btnsearch_click(object sender, eventargs e) selectadmin();/調(diào)用函數(shù) /實現(xiàn)修改功能 privatevoid btnupdata_click(object sender, eventargs e) if (txtname.text = | cborole.text=) messagebox.show(請選擇要修改的用戶!); else sql = update madmin set mname= + txtname.text.trim() + ,mpwd= + txtpwd.text.trim() + ,mage= + txtage.text.trim() + ,msex= + cbosex.text.trim() + ,mnumber= + txttel.text.trim() + ,mrole= + cborole.text.trim() + where mname= + name + and mpwd= + pwd + and mage= + age + and msex= + sex + and mnumber= + tel + and mrole= + role + ; try bool result = clsglobalvar.execsql(sql); if (result) /txtname.text = ; txtpwd.text = ; txtage.text = ; cbosex.text = ; txttel.text = ; cborole.text = ; messagebox.show(修改已成功); selectadmin(); else messagebox.show(更新失??!, 操作提示, messageboxbuttons.ok, messageboxicon.error); catch (exception ex) messagebox.show(操作數(shù)據(jù)庫出錯!, 操作演示, messageboxbuttons.ok, messageboxicon.error); console.writeline(ex.message); privatevoid btnexit_click(object sender, eventargs e) this.close(); privatevoid lv_selectedindexchanged_1(object sender, eventargs e) txtname.text = lv.focuseditem.subitems1.text.trim(); txtpwd.text = lv.focuseditem.subitems2.text.trim(); txtage.text = lv.focuseditem.subitems3.text.trim(); cbosex.text = lv.focuseditem.subitems4.text.trim(); txttel.text = lv.focuseditem.subitems5.text.trim(); cborole.text = lv.focuseditem.subitems6.text.trim(); name = lv.focuseditem.subitems1.text.trim(); pwd = lv.focuseditem.subitems2.text.trim(); age = lv.focuseditem.subitems3.text.trim(); sex = lv.focuseditem.subitems4.text.trim(); tel = lv.focuseditem.subitems5.text.trim(); role = lv.focuseditem.subitems6.text.trim(); privatevoid frmselectadmin_load(object sender, eventargs e) this.btnsearch_click(sender, e); privatevoid btnadd_click(object sender, eventargs e) if (txtname.text = | txtpwd.text = | txtage.text = |cbosex.text = | txttel.text= |cborole.text = ) messagebox.show(請至少輸入用戶名,密碼和角色!); else sql = select mname,mpwd,mage ,msex,mnumber,mrole from madmin where mname= + txtname.text.trim() + ; datatable dt = clsglobalvar.getdatatable(sql); if (dt.rows.count = 0) sql
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工作獲獎感言(21篇)
- 幸福的演講稿(15篇)
- 悲傷逆流成河觀后感7篇
- 建筑工程實習報告(15篇)
- 智研咨詢發(fā)布:2024年中國園林古建筑行業(yè)市場發(fā)展環(huán)境及前景研究報告
- 現(xiàn)代農(nóng)業(yè)產(chǎn)業(yè)園功能建設(shè)方案
- 應(yīng)急預(yù)案中的食品與藥品安全管理
- 金融信托行業(yè)顧問工作總結(jié)
- 2025版西瓜新品種研發(fā)與應(yīng)用推廣合同3篇
- 二零二五年度鋼構(gòu)建筑保溫分包施工協(xié)議2篇
- 充電樁知識培訓課件
- 老年髖部骨折患者圍術(shù)期下肢深靜脈血栓基礎(chǔ)預(yù)防專家共識(2024版)解讀
- 信息對抗與認知戰(zhàn)研究-洞察分析
- 手術(shù)室專科護士工作總結(jié)匯報
- 2025屆高三聽力技巧指導-預(yù)讀、預(yù)測
- 蘇州市2025屆高三期初陽光調(diào)研(零模)政治試卷(含答案)
- 2024年安徽省初中學業(yè)水平考試中考數(shù)學試卷(真題+答案)
- 學前兒童美術(shù)教育與活動指導第4版全套教學課件
- 標桿門店打造方案
- 蔚來用戶運營分析報告-數(shù)字化
- 食品安全公益訴訟
評論
0/150
提交評論