毕业设计(论文)-图书馆管理系统设计(附带源代码).doc_第1页
毕业设计(论文)-图书馆管理系统设计(附带源代码).doc_第2页
毕业设计(论文)-图书馆管理系统设计(附带源代码).doc_第3页
毕业设计(论文)-图书馆管理系统设计(附带源代码).doc_第4页
毕业设计(论文)-图书馆管理系统设计(附带源代码).doc_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计_图书管理系统 一、数据库设计数据库设createdatabasetsgl go usetsgl go createtablebmanage( bid varchar(10)primarykey,bnamevarchar(50),-添加图书-图书编号-书名bnumbervarchar(10),-书数目) 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 -读者号-姓名-密码-年龄-性别-状态-电话号码-电子邮件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)-读者编号学号-读者姓名-图书编号-图书名称-借书时间-还书时间-读者角色-读者可借书数-过期罚款设置-可借书天数)二、界面截图及说明1)登录窗口(实现管理员和馆长的登陆) 2)管理员窗口 3)馆长窗口 4)关于窗口 5)新增图书窗口 6)新增管理员、查找及修改窗口 7)新增读者、查找及修改窗口 8)图书的查找及修改窗口 9)借阅窗口 10)系统设置窗口 三、主要代码主要代1)登录窗口(实现管理员和馆长的登陆) 登陆检查: 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(您没有权限!); loginpwd.focus(); return; else if (type =管理员) this.hide(); frmadmin objadmin = newfrmadmin(); objadmin.show(); else messagebox.show(您没有权限!); 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 系统设置toolstripmenuitem_click_1(object sender, eventargs e) showform(newfrmsys(); privatevoid 关于toolstripmenuitem_click(object sender, eventargs e) showform(newfrmabout(); privatevoid 退出toolstripmenuitem_click_1(object sender, eventargs e) application.exit(); 4)关于窗口 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(请输入图书数目!, 输入提示, 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(操作数据库出错!, 操作演示, 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(抱歉,没有您要找的用户!, 结果提示, 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(); /连接数据库,将数据读取出放入madmindata catch (exception ex) messagebox.show(查询数据库出错!, 提示, messageboxbuttons.ok, messageboxicon.error); console.writeline(ex.message); privatevoid btnsearch_click(object sender, eventargs e) selectadmin();/调用函数 /实现修改功能 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(操作数据库出错!, 操作演示, 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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论