

已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
c#.net 程序设课程设计题目:简易图书管理程序班级: 12级3班 姓名: 陈志勇 学号: 3112006229 教师: 蒋艳荣 广东工业大学2015年 6 月 5 日题目:简易的图书馆管理程序设计一个具有基本功能的图书馆管理程序。【功能提示】(1) 图书的管理可以使用b-树数据结构(2) 管理图书功能:增加、删除、修改某些图书的信息(3) 借书、还书功能。其它功能可自行扩展。一、系统需求分析本图书管理系统可以为用户提供数据库搜素功能,另外本图书管理系统主要为管理员提供一下功能:1、为新用户提供注册以及登录功能;2、 登记书本借出给的用户;3、 添加新的书籍信息到数据库中;4、删除过期或者损毁的图书。二、程序设计过程首先确定程序主面板内容,最大需求目的为图书搜索功能,界面设计应为搜索结果提供大部分位置。其次登陆和注册功能在右上角,点击会弹出相应的界面。如果不是系统管理员,点击管理员选项会显示权限不足,当账号的权限等级为1时,才能打开图书管理操作面板。图书管理面板包括登记借阅者的账号,添加图书信息选项以及删除图书操作。三、数据库设计图书系统用户账号列表:名称代码数据类型外键关联用户iduseridchar(15)主键,非空密码passwordvarchar(20)非空用户名称usernamechar(15)权限等级userlevelint用户身份证useridentitychar(25)非空数据库代码如下:create table userlist(userid char(15) primary key not null,password varchar(20),username char(10), useridentity char(25) not null,userlevel int )图书系统图书列表:名称代码数据类型外键关联图书代码图书代码char(10)主键,非空书名书名char(30)作者作者char(10)可借数量可借数量int借出账号useridchar(15)外键,级联数据库代码如下:create table booklist(图书代码 char(10) primary key not null,书名 char(30),可借数量 int,作者 char(10),出版年份 char(20),借出账号 char(10),foreign key (userid) references userlist(userid)四、主要代码数据库代码连接:using system;using system.collections.generic;using system.linq;using system.text;using system.data.sqlclient;using system.data;using system.windows.forms;namespace librarydb class database /数据库公共操作类 public sqlconnection conn = new sqlconnection(); public sqldataadapter dbadapter; public dataset dataset = new dataset(); string dbconnectstr = server=user-20150310nxvssql;database=libdatabase;integrated security=sspi;/数据库连接字符串 public dataset dbgetdata(string sqlstr) try conn.connectionstring = dbconnectstr; dbadapter = new sqldataadapter(sqlstr, conn); dataset.clear(); dbadapter.fill(dataset); /填充数据集 conn.close(); catch messagebox.show(数据库连接错误!); conn.close(); if (dataset.tables0.rows.count != 0) return dataset; else return null; public bool dbcommand(string sqlstr) try conn.connectionstring = dbconnectstr; sqlcommand cmd = new sqlcommand(sqlstr, conn); cmd.commandtype = commandtype.text; conn.open(); cmd.executenonquery(); /执行sql语句 conn.close(); return true; catch (exception ex) messagebox.show(ex.tostring(); conn.close(); return false; 窗体1(程序主界面)代码设计: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 system.data.sqlclient;namespace library public partial class form1 : form public form1() initializecomponent(); private void button2_click(object sender, eventargs e) /管理员选项:点击按钮显示管理员操作窗口,账号等级不够时不允许操作 try /设置连接数据库字符串 string connectionstr = server=user-20150310nxvssql;database=libdatabase;integrated security=sspi; dataset dataset = new dataset(); /创建一个连接 sqlconnection conn = new sqlconnection(connectionstr); /创建一个数据提供者 sqldataadapter dataadepter = new sqldataadapter(select userid,userlevel from userlist where userid = + class1.user + and userlevel = 1, conn); /填充数据集dataset,并为本次填充的数据起名account dataadepter.fill(dataset, account); if (dataset.tables0.rows.count 0) form2 fm2 = new form2(); fm2.show(); else messagebox.show(权限不足!); conn.close(); conn.dispose(); dataset.dispose(); catch (exception ex) messagebox.show(ex.tostring(); private void button1_click(object sender, eventargs e) /搜索按钮相应事件 try /设置连接数据库字符串 string connectionstr = server=user-20150310nxvssql;database=libdatabase;integrated security=sspi; dataset dataset = new dataset(); /创建一个连接 sqlconnection conn = new sqlconnection(connectionstr); /创建一个数据提供者 sqldataadapter dataadepter = new sqldataadapter(select *from booklist where 书名 like %+textbox1.text+% or 作者 = +textbox1.text+, conn); /填充数据集dataset,并为本次填充的数据起名student_table dataadepter.fill(dataset, booklist); datagridview1.datasource = dataset; /在 datagridview1控件中显示名为student_table的填充数据 datagridview1.datamember = booklist; conn.close(); conn.dispose(); dataset.dispose(); catch (exception ex) messagebox.show(ex.tostring(); public void linklabel1_linkclicked(object sender, linklabellinkclickedeventargs e) /点击登陆相应事件弹出登录窗口 log login = new log(); login.show(); private void linklabel2_linkclicked(object sender, linklabellinkclickedeventargs e) /注册页面跳转 reg regedit = new reg(); regedit.show(); public void linklabel3_linkclicked(object sender, linklabellinkclickedeventargs e) 管理员操作界面窗体设计: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 system.data.sqlclient;using librarydb;namespace library /管理员操作窗口 public partial class form2 : form public form2() initializecomponent(); private void button2_click(object sender, eventargs e) /确定登记借阅信息 try /设置连接数据库字符串 string connectionstr = server=user-20150310nxvssql;database=libdatabase;integrated security=sspi; dataset dataset = new dataset(); /创建一个连接 sqlconnection conn = new sqlconnection(connectionstr); /修改数据 try database db = new database(); string sqlstr = update booklist set userid = + textbox3.text + where 图书代码 = + textbox2.text + ; db.dbcommand(sqlstr); messagebox.show(已登记); catch (exception ex) messagebox.show(登记出错!); conn.close(); conn.dispose(); dataset.dispose(); catch (exception ex) messagebox.show(ex.tostring(); private void button3_click(object sender, eventargs e) /添加书籍按钮 /设置连接数据库字符串 string connectionstr = server=user-20150310nxvssql;database=libdatabase;integrated security=sspi; dataset dataset = new dataset(); /创建一个连接 sqlconnection conn = new sqlconnection(connectionstr); /修改数据 try database db = new database(); string sqlstr = insert into booklist(图书代码,书名,作者,出版年份) values(+textbox4.text+,+textbox5.text+,+textbox6.text+,+textbox7.text+) ; db.dbcommand(sqlstr); messagebox.show(已成功入库); catch (exception ex) messagebox.show(录入失败!); conn.close(); conn.dispose(); dataset.dispose(); private void button4_click(object sender, eventargs e) /删除图书 /设置连接数据库字符串 string connectionstr = server=user-20150310nxvssql;database=libdatabase;integrated security=sspi; dataset dataset = new dataset(); /创建一个连接 sqlconnection conn = new sqlconnection(connectionstr); /修改数据 try database db = new database(); string sqlstr = delete from booklist where 图书代码 = + textbox8.text + ; db.dbcommand(sqlstr); messagebox.show(删除成功); catch (exception ex) messagebox.show(找不到此书!); conn.close(); conn.dispose(); dataset.dispose(); 登录界面窗体设计: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 system.data.sqlclient;using librarydb;namespace library public partial class log : form public log() initializecomponent(); public void button2_click(object sender, eventargs e) /点击取消关闭窗口 this.dispose(); public void button1_click(object sender, eventargs e) /确定登录响应事件,设置主界面显示当前登陆的账号 try /设置连接数据库字符串 string connectionstr = server=user-20150310nxvssql;database=libdatabase;integrated security=sspi; dataset dataset = new dataset(); /创建一个连接 sqlconnection conn = new sqlconnection(connectionstr); /创建一个数据提供者 sqldataadapter dataadepter = new sqldataadapter(select userid,password from userlist where userid = + textbox1.text + and password = +textbox2.text+, conn); /填充数据集dataset,并为本次填充的数据起名account dataadepter.fill(dataset, account); if (dataset.tables0.rows.count 0) class1.user = textbox1.text; messagebox.show(登陆成功!当前账号为:+ textbox1.text); this.dispose(); else messagebox.show(账号不存在或密码错误!); conn.close(); conn.dispose(); dataset.dispose(); catch (exception ex) messagebox.show(ex.tostring(); 注册界面窗体设计: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 system.data.sqlclient;using librarydb;namespace library public partial class reg : form public reg() initializecomponent(); private void button2_click(object sender, eventargs e) /取消按钮操作 this.dispose(); private void button1_click(object sender, eventargs e) /点击确定按钮注册账号 if (textbox1.text.length 15) messagebox.show(账号填写出错); else if (textbox3.text.equals(textbox2.text) = false) messagebox.show(密码不一致!); else if (textbox2.text.length 20) messagebox.show(密码过长!); else try /设置连接数据库字符串 string connectionstr = server=user-20150310nxvssql;database=libdatabase;integrated security=sspi; dataset dataset = new dataset(); /
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年上海海事大学公开招聘专任教师(第二批)笔试备考试题及答案解析
- 2025贵州兴黔人才资源有限责任公司招聘17人笔试参考题库附答案解析
- 医疗行业远程诊断与治疗支持方案
- 小微企业信贷解决方案信用评级模型构建与应用
- 2025公司高层岗位劳动合同范本
- 宜宾市翠屏区城乡道路运输事务中心公开招聘见习工作人员笔试备考试题及答案解析
- 战略投资合作框架协议
- 英语专业生物毕业论文
- 会计系毕业论文2018
- 企业管理创新经验分享指南
- 《现代涉外礼仪》课件
- 家庭教育学整套课件
- 社区生殖健康知识培训方案
- 春风十里不如你:一本书读尽冯唐人生金线年轻时极尽欢喜年长
- 耳鼻喉科患者的心理护理与干预策略
- 30道医院妇产科医生岗位高频面试问题附考察点及参考回答
- 设计单位工程质量检查报告(合格证明书)
- (完整word版)中国银行交易流水明细清单模版
- 怎么点评施工方案好坏
- 非标设备检验标准
- 皖2015s209 混凝土砌块式排水检查井
评论
0/150
提交评论