收藏 分销(赏)

数据库专业课程设计方案报告.doc

上传人:天**** 文档编号:2494365 上传时间:2024-05-30 格式:DOC 页数:39 大小:560.04KB
下载 相关 举报
数据库专业课程设计方案报告.doc_第1页
第1页 / 共39页
数据库专业课程设计方案报告.doc_第2页
第2页 / 共39页
数据库专业课程设计方案报告.doc_第3页
第3页 / 共39页
数据库专业课程设计方案报告.doc_第4页
第4页 / 共39页
数据库专业课程设计方案报告.doc_第5页
第5页 / 共39页
点击查看更多>>
资源描述

1、数据库课程设计报告系 (院): 计算机科学学院 专业班级: 计算机科学与技术 姓 名: 学 号: 指引教师: 设计时间: .12.12 - .12.23 设计地点: 目录一、课程设计目3二、设计任务及规定3三、需求分析4四、总体设计4五、详细设计与实现51、数据库操作公共类:52、登陆界面及代码实现103、系统管理员124、图书管理员145、读者管理员205、读者27六、课程设计小结28指引教师意见:30一、课程设计目通过对图书管理信息系统系统分析、系统设计、编码和调试等工作实践,理解管理信息系统普通设计办法和实现思路,进一步理解数据库设计基本理论及办法。二、设计任务及规定规定完毕一种具备一定

2、实用价值图书管理信息系统,重要任务涉及: 在SQL Server 或SQL Server 环境下建立图书管理信息系统所使用数据库,运用公司管理器或查询分析器建立各种数据库对象,涉及:数据表、视图、约束、存储过程和触发器等; 理解数据库引擎技术,并掌握使用ADO.NET连接数据库服务器和客户端应用程序; 掌握使用C#或其她语言开发一种数据库系统基本办法和环节,应用程序功能涉及:数据输入、修改和删除;数据浏览和查询;数据图形化、报表以及打印输出;系统顾客登录和权限管理; 理解多层C/S或B/S体系构造数据库系统开发过程:需求分析、系统设计、系统实现及文档收集和整顿。三、需求分析在做这个课程设计,重

3、要涉及到是咱们此前学习过C#有关技术和数据库某些知识,就感觉上来讲,这两某些比重应当都差不多。要做出图书管理系统,一方面要对数据库建立、修改和维护可以比较熟悉掌握,此外就是数据库与VS之间连接,是直接绑定到VS里面还是通过查询语句让表内容在DataGridView控件中显示出来,以及这两种之间长处和害处,在开始做这个课设之前,咱们心里都要有数,此外,考虑到就是提高访问速度以及可维护性了。至于其她功能实现,就各凭本领了。四、总体设计该系统重要由五大功能模块构成:图书管理、读者管理、借阅管理、数据记录和系统管理。各大功能模块又由某些子功能模块构成,其总体设计框架如下。五、详细设计与实现 1、数据库

4、操作公共类: class SQLhelper private static SqlConnection conn = new SqlConnection(Data Source=.SQLEXPRESS;AttachDbFilename=D:计算机学习数据库数据库课程设计汪刚数据库课程设计数据库课程设计MSI_KS.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True);/Decrypt(System .Configuration . ConfigurationManager. AppSettings connect

5、ionString ) ); /打开数据库链接 public static void OpenConn() try if (conn.State = ConnectionState.Closed) conn.Open(); catch throw new Exception(数据库连接失败!); /关闭数据库连接 private static void CloseConn() if (conn != null) if (conn.State = ConnectionState.Open) conn.Close(); public static int ExecuteNonQuery(strin

6、g sql) int rows = 0; try OpenConn(); SqlCommand cmd = new SqlCommand(sql,conn); rows = cmd.ExecuteNonQuery(); catch (SqlException ex) throw new Exception(ex.Message); finally CloseConn(); return rows; public static int ExecuteNonQuery(string sql,SqlParameter parameters) int rows = 0; try OpenConn();

7、 SqlCommand cmd = new SqlCommand(sql,conn); if (parameters != null) foreach (SqlParameter parameter in parameters) cmd.Parameters.Add(parameter); rows = cmd.ExecuteNonQuery(); catch (SqlException ex) throw new Exception(ex.Message); finally CloseConn(); return rows; public static int ExecuteStoredPr

8、oc(string storedProcName,SqlParameter parameters) int rows = 0; try OpenConn(); SqlCommand cmd = new SqlCommand(); cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = storedProcName; cmd.Connection = conn; if (parameters != null) foreach (SqlParameter parameter in parameters) cmd.Parame

9、ters.Add(parameter); rows = cmd.ExecuteNonQuery(); catch (SqlException ex) throw new Exception(ex.Message); finally CloseConn(); return rows; / / 执行简朴SQL语句,返回成果集中首行首列 / / 要执行SQL查询语句 / public static object ExecuteScalar(string sql) object obj = null; try OpenConn(); SqlCommand cmd = new SqlCommand(sq

10、l,conn); obj = cmd.ExecuteScalar(); catch (SqlException ex) throw new Exception(ex.Message); finally CloseConn(); return obj; / / 执行简朴SQL语句,返回成果集中首行首列 / / 要执行SQL查询语句 / / public static object ExecuteScalar(string sql,SqlParameter parameters) object obj = null; try OpenConn(); SqlCommand cmd = new Sql

11、Command(sql,conn); if (parameters != null) foreach (SqlParameter parameter in parameters) cmd.Parameters.Add(parameter); obj = cmd.ExecuteScalar(); catch (SqlException ex) throw new Exception(ex.Message); finally CloseConn(); return obj; / / 执行一条带参数SQL语句,返回DataTable对象 / / SQL查询语句 / / DataSet中表名 / pu

12、blic static DataTable GetDataTable(string sql,SqlParameter parameters,string TableName) DataTable dt = null; OpenConn(); SqlCommand cmd = new SqlCommand(sql,conn); if (parameters != null) foreach (SqlParameter parameter in parameters) cmd.Parameters.Add(parameter); SqlDataAdapter sda = new SqlDataAd

13、apter(cmd); DataSet ds = new DataSet(); sda.Fill(ds,TableName); dt = ds.Tables0; return dt; / / 执行存储过程,返回DataTable对象 / / 存储过程名 / / Data中表名 / public static DataTable ExecuteStoredProc(string storedProcName,SqlParameter parameters,string TableName) DataTable dt = null; try OpenConn(); SqlCommand cmd =

14、 new SqlCommand(); cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = storedProcName; cmd.Connection = conn; if (parameters != null) foreach (SqlParameter parameter in parameters) cmd.Parameters.Add(parameter); SqlDataAdapter sda = new SqlDataAdapter(cmd); DataSet ds = new DataSet(); s

15、da.Fill(ds,TableName); dt = ds.Tables0; catch (SqlException ex) throw new Exception(ex.Message); finally CloseConn(); return dt; 2、登陆界面及代码实现 代码实现:(重要是验证顾客名和密码) string name = User_Name.Text; string code = User_Code.Text; string sql = string.Format( select * from Reader_sort where reader_name=0,name);

16、 DataTable temp = SQLhelper.GetDataTable(sql,null,Reader_sort); if (temp.Rows.Count!= 0) if (temp.Rows03.ToString() = name) if (temp.Rows02.ToString() = code) string temp_sort = temp.Rows01.ToString(); if (User_Sort.Text = temp_sort) switch (temp_sort) case 系统管理员: string name_temp = User_Name.Text;

17、System_administrator System_admin_temp = new System_administrator(name_temp); System_admin_temp.Show(); this.Hide(); break; case 图书管理员: string name_temp1 = User_Name.Text; Book_administrator book_admin_temp = new Book_administrator(name_temp1); book_admin_temp.Show(); this.Hide(); break; case 读者管理员:

18、 string name_temp2 = User_Name.Text; Reader_administrator Reader_admin_temp = new Reader_administrator(name_temp2); Reader_admin_temp.Show(); this.Hide(); break; case 读者: string name_temp3 = User_Name.Text; Common_Reader reader_temp = new Common_Reader(name_temp3); reader_temp.Show(); this.Hide(); b

19、reak; else MessageBox.Show(权限错误!); else MessageBox.Show(密码不对的,请重新输入!); User_Code.Text = null; else MessageBox.Show(顾客名不存在!); else MessageBox.Show(顾客不存在!); 图形界面:3、系统管理员 代码实现:(某些重要功能) 添加: System_administrator admin_temp = new System_administrator( null); string sql_update = string.Format(select * from

20、 Reader_sort); admin_temp.dataGridView1.DataSource = SQLhelper.GetDataTable(sql_update,null,Reader_sort); int i = admin_temp .dataGridView1 .NewRowIndex;/获取新行行号 i = i + 1; string reader_name = add_reader_name.Text; int code = int.Parse(add_code.Text); string item_sort = add_sort.Text; string sql = s

21、tring.Format(insert into Reader_sort values(0,1,2,3),i,item_sort,code,reader_name); int rows= SQLhelper.ExecuteNonQuery(sql ); if (rows = 0) MessageBox.Show(添加失败!); 修改: update_index = update_index + 1; string reader_name = modify_reader_name.Text; int code = int.Parse(modify_code.Text); string item_

22、sort = modify_sort.Text; string sql = string.Format(update Reader_sort set sort_name=0 ,sort_code=1,reader_name=2 where sort_ID=3,item_sort ,code ,reader_name ,update_index ); int rows = SQLhelper.ExecuteNonQuery(sql); if (rows = 0) MessageBox.Show(修改失败!); 删除: DialogResult temp = MessageBox.Show(thi

23、s,与否删除该选中行,拟定删除,MessageBoxButtons.YesNo,MessageBoxIcon.Question); if (temp = DialogResult.Yes) string delete_currentcell = dataGridView1.CurrentRow.Cells0.Value.ToString(); string sql = string.Format(delete Reader_sort where sort_ID=0,delete_currentcell); int rows = SQLhelper.ExecuteNonQuery(sql); i

24、f (rows = 0) MessageBox.Show(删除失败); else dataGridView1.Rows.Remove(dataGridView1.CurrentRow);/删除选中行 图形界面:4、图书管理员 关于添加、修改、删除操作与系统管理员类似,这里不再赘述,图书管理员中,重要用到技术有:C/S或B/S模式:业务实体类: public class Book_entiry #region 私有字段 private int Book_id; private string book_code; private string book_name; private string b

25、ook_author; private string book_press; private string book_datapress; private string book_isbn; private string book_catalog; private string book_languague; private int book_pages; private string book_price; private string book_datain; private string book_brief; private string book_cover; private str

26、ing book_sum; #endregion #region 公有属性 public int bkID get return Book_id; set Book_id = value; public string bkCode get return book_code; set book_code = value; public string bkName get return book_name; set book_name = value; public string bkAuthor get return book_author; set book_author = value; public string bkPress get return book_press; set book_press = value; public string bkDatePress get return book_datapress; set book_datapress = value; public string bkISBN get return book_isbn; set book_isbn = v

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 通信科技 > 数据库/数据算法

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服