1、学号:031202534姓名:张逸君email:455852025学院:数计学院专业:网络工程数据库应用实践实验三:数据库应用系统的开发实验目的:初步掌握数据库应用系统分析设计的基本方法;进一步提高分析与解决问题的综合能力;初步掌握数据库建模工具的使用方法;熟悉掌握C/S或B/S结构的数据库应用系统开发的整个过程。实验环境:操作系统: Windows 7 SP1 X64数据库管理系统: Microsoft SQL Server 2012系统设计与开发工具:Microsoft Visual Studio 2010实验内容;一、系统选题情况选题四:借书管理系统B类:独立完成以下功能(红色加粗部分为
2、我多添加的功能)业务需求:实现某图书管理系统。读者每次可借阅多本书,每本书有一定库存量与借阅时间要求。系统角色:经办人员,读者,系统维护人员读者-1、读者按自己帐号密码登入系统2、图书查询3、已借图书查询和个人借阅历史查询经办人员-1、销售人员按自己帐号密码登入系统2、办理图书借阅与归还(综合查询分析图书借阅信息)系统维护人员-1、系统维护人员按自己帐号密码登入系统2、管理维护系统基本信息(含图书信息、图书库存信息、经办人员信息、读者信息、系统维护人员信息、图书借阅信息),实现基本信息的增、删、改、查功能。(综合信息查询功能)二、需求说明:本设计的任务是模拟一个图书馆管理系统的设计与实现,其中
3、要实现图书信息管理(添加、删除、修改、查询)、读者/经办/系统用户的信息管理(注册新用户、修改信息、删除用户、查询用户)和图书借阅/归还的办理功能,因此我将所做的系统称为“模拟图书管理系统”而不是“借书管理系统”。三、系统概要设计及概念数据模型(E-R图)设计该系统首页是一个登录界面,在登录界面要选择用户的身份(读者/经办/系统),输入用户名和密码后按不同身份登录到不同界面。可以在登录界面进行新用户注册。当用户类型为“读者”时,进入的界面为“读者界面”,界面中将会显示用户的姓名及身份,里面有三个选项:图书资源检索、借阅情况查询、个人信息修改。其中图书资源检索可按照图书名、编著者、出版社进行图书
4、检索,同时点击检索得到的图书名可以查阅图书的具体信息和内容简介;借阅情况查询则增添了“历史借阅情况查询”。当用户类型为“经办”时,进入经办界面有三个功能选项:办理图书借阅、办理图书归还、个人信息修改。当用户类型为“系统”时,进入的界面有六个选项:系统人员信息管理、经办人员信息管理、读者用户信息管理、图书信息管理、借阅情况管理、个人信息修改。其中系统/经办/读者信息管理界面中均含有查看用户信息、修改用户信息、删除用户的功能。添加用户的功能则设计为需要用户在登录界面自行注册,另外,系统人员可以将自己删除!添加了借阅情况管理,可以查询全部借阅记录、已归还的借阅记录,但是不能修改、删除任何借阅记录。四
5、、系统详细设计及数据库表/视图结构设计(一)、数据库表/视图结构设计表:读者表:(用户名,密码,姓名,性别,出生年月,学院,专业,电子邮箱,身份)图书表:(图书号,图书名,编著者,出版社,出版年,索书号,价格,内容简介,入库时间,流通状态)借阅表:(图书号,用户名,借阅时间,图书名,姓名,学院,应还时间,归还时间,当前状态,罚款数)读者表、经办表、系统表三表同构,在此就不赘述经办表、系统表。主要视图:图书综合情况视图:(图书名,编著者,出版社,出版年,索书号,价格,馆藏数)具体页面查询图书表:(图书号,图书名,编著者,出版社,出版年,索书号,流通状态,价格,入库时间)读者在借数量视图:(用户名
6、,姓名,学院,在借数量)还有一些其他视图,主要用于方便用户不同需求的查看,在此就不再一一列出,仅附图。(二)、登录界面的设计:Microsoft Visual Studio 2010中ASP.NET设计界面的方法非常方便,直接用鼠标拖动控件即可实现,故在本实验报告中对于创建界面等一些意义不大的步骤就略去,重点报告实现功能的代码。实现按不同身份登录的功能代码的主要部分为:(界面中“登录”按钮的功能实现) string username = TextBox1.Text.Trim(); string userpassword = TextBox2.Text.Trim(); string userro
7、le = RadioButtonList1.SelectedItem.Value; string selectstr = ; switch(userrole) case 读者: selectstr=select * from 读者表 where 用户名=+username+;break; case 经办: selectstr=select * from 经办表 where 用户名=+username+;break; case 系统: selectstr=select * from 系统表 where 用户名=+username+;break; SqlConnection conn = new
8、SqlConnection(ConfigurationManager.ConnectionStrings图书管理系统ConnectionString.ConnectionString); SqlCommand cmd = new SqlCommand(selectstr, conn); conn.Open(); SqlDataReader sdr = cmd.ExecuteReader(); string readname = string.Empty; string readpwd = string.Empty; while (sdr.Read() readname = sdr用户名.ToS
9、tring();readpwd = sdr密码.ToString(); if (username.Trim()=readname.Trim()&userpassword.Trim()=readpwd.Trim() Sessionpass = yes; Sessionusername = username; Sessionuserrole = userrole; conn.Close(); switch (userrole) case 读者: Response.Redirect(读者界面.aspx?username= + username); break; case 经办: Response.R
10、edirect(经办界面.aspx?username= + username); break; case 系统: Response.Redirect(系统界面.aspx?username= + username); break; else Response.Write(alert(用户不存在或密码错误!);); TextBox1.Focus(); conn.Close();(三)、注册新用户界面的设计“注册”按钮的功能代码主要部分如下:(略去对用户所填信息的约束条件检查如“验证”用户名是否已被使用等部分):string connsql = System.Configuration.Config
11、urationManager.ConnectionStrings图书管理系统ConnectionString.ConnectionString; SqlConnection conn = new SqlConnection(connsql); conn.Open(); SqlDataAdapter da = new SqlDataAdapter(); string selectsql = ; switch (userrole.SelectedItem.Value) case 读者: selectsql = select * from读者表; break; case 经办: selectsql
12、= select * from 经办表; break; case 系统: selectsql = select * from 系统表; break; da.SelectCommand = new SqlCommand(selectsql, conn); SqlCommandBuilder scb = new SqlCommandBuilder(da); DataSet ds = new DataSet(); da.Fill(ds); conn.Close(); DataRow newrow = ds.Tables0.NewRow(); newrow用户名 = username.Text; newrow密码 = password.Text; newrow姓名 = name.Text; newrow性别 = sex.SelectedItem.Value; newrow出生年月
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1