版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、华北电力大学科技学院实 验 报 告| 实验名称 图书管理数据库系统的设计与实现课程名称 数据库原理及应用 | 专业班级:电气15K9 学生姓名:寿泽锋 学 号:151905020119 成 绩:指导教师:廖尔崇 实验日期: 2017年5月4日 (实验报告如打印,纸张用A4,左装订;页边距:上下2.5cm,左2.9cm, 右2.1cm;字体:宋体小四号,1.25倍行距。)验证性、综合性实验报告应含的主要内容:一、实验目的及要求二、所用仪器、设备三、实验原理四、实验方法与步骤五、实验结果与数据处理 六、讨论与结论(对实验现象、实验故障及处理方法、实验中存在的问题等进行分析和讨论,对实验的进一步想法
2、或改进意见)七、所附实验输出的结果或数据设计性实验报告应含的主要内容:一、设计要求二、选择的方案三、所用仪器、设备四、实验方法与步骤五、实验结果与数据处理 六、结论(依据“设计要求”)七、所附实验输出的结果或数据* 封面左侧印痕处装订华 北 电 力 大 学 科 技 学 院 实 验 报 告1、 系统功能设计本系统利用Visual Studio 2010处理数据库的功能,实现对图书馆信息的管理。主要功能为管理有关用户、管理员、书籍和借阅的信息等。本系统的结构分为书籍信息管理模块、借阅信息管理模块、查询处理模块。图书馆管理系统框图如图1.1所示:查询图书查询图书查询图书查询图书增加图书修改图书删除图
3、书成功图书管理登录失败登录处理用户密码修改管理员用户系统设置图书馆管理系统书籍信息 图1.1 图书馆管理系统框图2、 数据库概念设计2.1实体列表实体属 性管理员系统管理员名,管理员ID标识,账户密码,管理记录用户用户ID、用户名、借阅记录图书图书ID、书名、作者、出版社、借阅与否、所在书架位置、图书介绍、封面图书管理藏书量、新增书ID、新增书时间、卖出或销毁书ID、卖出或销毁书时间借阅管理借阅ID、借书日期、借阅人ID 、归还日期、所借书ID 2.2系统的E-R模型该图书管理系统的E-R模型,如图2.1所示管理员名图书ID管理员ID标识书名账户密码作者图书管理管理记录1管理员出版社用户IDm
4、图书m借阅与否用户名N借阅用户所在书架位置借阅记录所借书ID图书介绍借阅人ID借阅ID归还日期借书日期封面图2.1 系统的E-R模型3、 数据库逻辑设计3.1创建数据库(1)在服务器资源管理器中的任一节点右击。(2)执行快捷菜单中的“新建数据库”命令,并在打开的“创建数据库”对话框中输入数据库名library,其他可采用默认值。(3)单击“确定”按钮,则新建的数据库就会出现在服务器上。3.2创建数据表 创建数据库后,为library数据库添加数据表,步骤如下。 (1)在服务器资源管理器中右击数据库library下的“表”文件夹在弹出的快捷菜单中执行“新建表”命令。 (2)添加表的字段和其他详细
5、资料。各表数据结构如下图所示。图3-1用户信息(reader)表3-1图书信息(bookinfo)列 名含 义数据类型主 键BookID图书IDbigint自动,主键BookName书名Varchar(50)不为空BookType出版社Varchar(100)不为空BookAuthor作者Varchar(100)不为空BookPrice借阅与否Varchar(20)不为空BookPic封面Varchar(200)允许为空BookContent图书介绍text不为空BookAddres所在书架位置text不为空表3-2借阅信息(issueinfo)列 名含 义数据类型说明IssID借阅IDbig
6、int自动,主键BookID图书IDbigint外键IssBookID借阅人IDbigint不为空IssDateTime借书日期datetime不为空IssReturnTime归还日期datetime允许为空4、 系统编码与实现数据库设计:设计数据表,选定reder表,其他自由设计create table reader(rno char(12) primary key,rname varchar(20) not null,rsex char(2) check(rsex in(男,女) default 男, rbirthday datetime,rdept varchar(20),rclass
7、varchar(20),rtype char(6) check(rtype in(教师,研究生,本科生),rvalid char(1) default Y,rpassword varchar(10),rnote varchar(100);insert into reader(rno,rname,rdept,rtype) values(201109010101,张三,电力系,教师);insert into reader(rno,rname,rdept,rtype) values(201109010102,李四,电力系,研究生);insert into reader(rno,rname,rdept
8、,rtype) values(201109010103,王五,电力系,本科生);insert into reader(rno,rname,rdept,rtype) values(201109010104,赵六,计算机系,本科生);2、在click事件添加代码/数据库名为library SqlConnection conn = new SqlConnection(); String strCon = Data Source=STU-N07;Initial Catalog=library;Integrated Security=SSPI; conn.ConnectionString = strCo
9、n; conn.Open();/打开数据库连接 SqlCommand cmd = new SqlCommand(select * from reader, conn);/查询读者信息表 SqlDataReader dr_reader = cmd.ExecuteReader(); BindingSource Bs = new BindingSource(); Bs.DataSource = dr_reader; dataGridView_Reader.DataSource = Bs; /偶数行显示为粉色底 if (this.dataGridView_Reader.Rows.Count != 0)
10、 for (int i = 0; i this.dataGridView_Reader.Rows.Count; ) this.dataGridView_Reader.Rowsi.DefaultCellStyle.BackColor = System.Drawing.Color.Pink; i += 2; conn.Close();/关闭数据库连接三、返回第一行第一列数据1、添加控件添加按钮Button,设置其Text属性为:读者总数;设置name属性为:btnCount添加文本框TextBox,设置其name属性为:txtCount2、双击按钮,添加代码: SqlConnection conn
11、 = new SqlConnection(); String strCon = Data Source= STU-N07;Initial Catalog=library;Integrated Security=SSPI; conn.ConnectionString = strCon; conn.Open();/打开数据库连接 SqlCommand cmd = new SqlCommand(select count(*) from reader, conn);/查询读者信息表 txtCount.Text = cmd.ExecuteScalar().ToString(); conn.Close()
12、;四、DataReader读取数据,如读者姓名1、添加控件添加按钮Button,设置其Text属性为:读者姓名集;设置name属性为:btn_ReaderName添加列表框ListBox,设置其name属性为:listBox_Rname2、双击按钮,添加代码: SqlConnection conn = new SqlConnection(); String strCon = Data Source= STU-N07;Initial Catalog=library;Integrated Security=SSPI; conn.ConnectionString = strCon; conn.Ope
13、n();/打开数据库连接 SqlCommand cmd = new SqlCommand(select rname as 姓名 from reader, conn);/查询读者信息表 SqlDataReader dr = cmd.ExecuteReader(); while (dr.Read() listBox_Rname.Items.Add(dr姓名.ToString(); conn.Close();五、DataAdapter举例-修改数据1、添加控件添加按钮Button,设置其Text属性为:适配器举例;设置name属性为:btnDA_exp2、双击按钮,添加代码: SqlConnecti
14、on conn = new SqlConnection(); String strCon = Data Source= STU-N07;Initial Catalog=library;Integrated Security=SSPI; conn.ConnectionString = strCon; conn.Open();/打开数据库连接 string SqlStr = select * from reader; SqlCommand com = new SqlCommand(SqlStr, conn); SqlDataAdapter da = new SqlDataAdapter(); da
15、.SelectCommand = com; DataTable dt = new DataTable(); SqlCommandBuilder builder = new SqlCommandBuilder(da); da.Fill(dt); DataRow updaterow = dt.Rows0; updaterow1 = 王丽; updaterow2 = 女; updaterow6 = 本科生; da.Update(dt); conn.Close();六、DataAdapter举例-查询数据1、完全注释掉(/* */)“显示读者”按钮下的click事件的代码2、添加新的代码:SqlCon
16、nection conn = new SqlConnection(); String strCon = Data Source= STU-N07;Initial Catalog=library;Integrated Security=SSPI; conn.ConnectionString = strCon; SqlDataAdapter dapter = new SqlDataAdapter(select * from reader, conn); DataSet dataset = new DataSet(); /使用DataAdapter填充数据集DataSet dapter.Fill(d
17、ataset, reader); dataGridView_Reader.DataSource = dataset.Tablesreader.DefaultView; /偶数行显示为粉色底 if (this.dataGridView_Reader.Rows.Count != 0) for (int i = 0; i this.dataGridView_Reader.Rows.Count; ) this.dataGridView_Reader.Rowsi.DefaultCellStyle.BackColor = System.Drawing.Color.Pink; i += 2; 七、DataA
18、dapter举例-查询数据再举例1、完全注释掉(/* */)“读者姓名集”按钮下的click事件的代码2、添加新的代码: SqlConnection conn = new SqlConnection(); conn.ConnectionString = Data Source= STU-N07;Initial Catalog=library;Integrated Security=SSPI; conn.Open(); string strsql = select rname as 姓名 from reader; SqlCommand com = new SqlCommand(strsql, c
19、onn); SqlDataAdapter dapter = new SqlDataAdapter(); dapter.SelectCommand = com; DataSet dataset = new DataSet(); dapter.Fill(dataset); dataGridView_Reader.DataSource = dataset.Tables0.DefaultView;八、DataAdapter举例-删除读者1、添加控件添加按钮Button,设置其Text属性为:删除读者;设置name属性为:btnDelete2、双击按钮,添加代码: SqlConnection conn
20、= new SqlConnection(); String strCon = Data Source= STU-N07;Initial Catalog=library;Integrated Security=SSPI; conn.ConnectionString = strCon; SqlDataAdapter apdater = new SqlDataAdapter(select * from reader, conn); DataSet dataset = new DataSet();/建立DataSet实例 /使用DataAdapter填充数据集DataSet apdater.Fill(
21、dataset, reader); dataGridView_Reader.DataSource = dataset.Tables0.DefaultView; DataRow dr = dataset.Tablesreader.Rows1; dr.Delete(); SqlCommandBuilder cb = new SqlCommandBuilder(apdater); apdater.Update(dataset, reader);九、DataAdapter举例-修改读者1、添加控件添加按钮Button,设置其Text属性为:修改读者;设置name属性为:btnUpdate2、双击按钮,
22、添加代码: SqlConnection conn = new SqlConnection(); String strCon = Data Source= STU-N07;Initial Catalog=library;Integrated Security=SSPI; conn.ConnectionString = strCon; SqlDataAdapter apdater = new SqlDataAdapter(select * from reader, conn); DataSet dataset = new DataSet();/建立DataSet实例 /使用DataAdapter填
23、充数据集DataSet apdater.Fill(dataset, reader); dataGridView_Reader.DataSource = dataset.Tables0.DefaultView; DataRow dr = dataset.Tablesreader.Rows0; drrname=修改后; drrtype = 研究生; SqlCommandBuilder cb = new SqlCommandBuilder(apdater); apdater.Update(dataset, reader);十、DataAdapter举例-添加读者1、添加控件添加按钮Button,设置其Text属性为:添加读者;设置name属性为:btnADDReader添加四个Label控件:Text属性分别为:编号、姓名、专业、类型添加四个TextBox控件,Name属性分别为:txtRno,txtRname,txtRdept,txtRtype2、双击按钮,添加代码: SqlConnection conn = new SqlConnection(); String strCon = Data Source= STU-N0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 畜牧业设备采购核准表
- 航空会员账户管理办法
- 2025年度水利工程项目承包合伙合同3篇
- 科技园区房产交易合同
- 建筑工程项目担保细则
- 医疗设备招议标管理办法
- 国际石油勘探招投标详解
- 翻译服务业机构装饰施工合同
- 长途客运司机招聘合同样本
- 智能化煤矿配件管理未来趋势
- 2024-2030年中国建设工程质量检测行业发展模式规划分析报告
- 企业文化塑造与员工激励方案
- 2024年01月22504学前儿童科学教育活动指导期末试题答案
- 2024甘肃省建筑安全员-A证考试题库及答案
- 华中农业大学《操作系统实验》2021-2022学年第一学期期末试卷
- 国家开放大学电大11251丨操作系统(统设课)期末终考题库及答案
- 2024年贵州省中考数学真题含解析
- 东南大学版三基内科
- 多发性神经病护理
- 【MOOC】线性代数-浙江大学 中国大学慕课MOOC答案
- 开门红包费用申请
评论
0/150
提交评论