




已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 智能化设备协同控制-洞察及研究
- 手指课件教学课件
- 手指画介绍课件
- 轨道车运输安全生产合同8篇
- 期中测试卷(Unit1-4)-2025-2026学年译林版(三起)英语五年级上册(含答案含听力原文无听力音频)
- 【高处吊篮安装拆卸工(建筑特殊工种)】理论考题及答案
- 手写课件字体美化技巧
- 注册税法题目及答案
- 邮政专招考试题库及答案
- 2025年翻译专业资格水平考试试卷及答案
- 儿童抽动障碍的诊断与评估(2025年)解读课件
- 甘露醇治疗颅内压增高中国专家共识解读 4
- 美容院设备维护管理规章
- 敏捷企业组织结构与设计的案例研究
- 2025年行政执法考试-公安民警中级执法资格考试历年参考题库含答案解析(5套典型考题)
- 【语文 北京版】2025年高考招生统一考试高考真题语文试卷(真题+答案)
- 大健康产业发展现状与趋势分析
- 国企贸易业务管理办法
- 2025年芳香保健师(初级)职业技能鉴定综合试题
- 世界避孕日培训
- 3done入门基础知识课件
评论
0/150
提交评论