数据库课程设计报告.docx

上传人:b****8 文档编号:8985984 上传时间:2023-05-16 格式:DOCX 页数:35 大小:427.81KB
下载 相关 举报
数据库课程设计报告.docx_第1页
第1页 / 共35页
数据库课程设计报告.docx_第2页
第2页 / 共35页
数据库课程设计报告.docx_第3页
第3页 / 共35页
数据库课程设计报告.docx_第4页
第4页 / 共35页
数据库课程设计报告.docx_第5页
第5页 / 共35页
数据库课程设计报告.docx_第6页
第6页 / 共35页
数据库课程设计报告.docx_第7页
第7页 / 共35页
数据库课程设计报告.docx_第8页
第8页 / 共35页
数据库课程设计报告.docx_第9页
第9页 / 共35页
数据库课程设计报告.docx_第10页
第10页 / 共35页
数据库课程设计报告.docx_第11页
第11页 / 共35页
数据库课程设计报告.docx_第12页
第12页 / 共35页
数据库课程设计报告.docx_第13页
第13页 / 共35页
数据库课程设计报告.docx_第14页
第14页 / 共35页
数据库课程设计报告.docx_第15页
第15页 / 共35页
数据库课程设计报告.docx_第16页
第16页 / 共35页
数据库课程设计报告.docx_第17页
第17页 / 共35页
数据库课程设计报告.docx_第18页
第18页 / 共35页
数据库课程设计报告.docx_第19页
第19页 / 共35页
数据库课程设计报告.docx_第20页
第20页 / 共35页
亲,该文档总共35页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

数据库课程设计报告.docx

《数据库课程设计报告.docx》由会员分享,可在线阅读,更多相关《数据库课程设计报告.docx(35页珍藏版)》请在冰点文库上搜索。

数据库课程设计报告.docx

数据库课程设计报告

数据库课程设计报告

 

系(院):

计算机科学学院

专业班级:

计算机科学与技术

姓名:

学号:

指导教师:

设计时间:

2011.12.12-2011.12.23

设计地点:

 

目录

一、课程设计目的3

二、设计任务及要求3

三、需求分析4

四、总体设计4

五、详细设计与实现5

1、数据库操作公共类:

5

2、登陆界面及代码实现10

3、系统管理员12

4、图书管理员14

5、读者管理员20

5、读者27

六、课程设计小结28

指导老师意见:

30

 

一、课程设计目的

通过对图书管理信息系统的系统分析、系统设计、编码和调试等工作的实践,了解管理信息系统的一般设计方法和实现思路,深入了解数据库设计的基本理论及方法。

二、设计任务及要求

要求完成一个具有一定实用价值的图书管理信息系统,主要任务包括:

在SQLServer2000或SQLServer2005环境下建立图书管理信息系统所使用的数据库,利用企业管理器或查询分析器建立各种数据库对象,包括:

数据表、视图、约束、存储过程和触发器等;

了解数据库引擎技术,并掌握使用ADO.NET连接数据库服务器和客户端应用程序;

掌握使用C#或其他语言开发一个数据库系统的基本方法和步骤,应用程序的功能包括:

数据的输入、修改和删除;数据的浏览和查询;数据的图形化、报表以及打印输出;系统的用户登录和权限管理;

了解多层C/S或B/S体系结构的数据库系统的开发过程:

需求分析、系统设计、系统实现及文档的收集和整理。

三、需求分析

在做这个课程设计,主要涉及到的是我们以前学习过的C#的相关技术和数据库的一些知识,就感觉上来讲,这两部分比重应该都差不多。

要做出图书管理系统,首先要对数据库的建立、修改和维护能够比较熟悉的掌握,另外就是数据库与VS之间的连接,是直接的绑定到VS里面还是通过查询语句让表的内容在DataGridView控件中显示出来,以及这两种之间的优点和坏处,在开始做这个课设之前,我们心里都要有数,另外,考虑到的就是提高访问的速度以及可维护性了。

至于其他的功能的实现,就各凭本事了。

四、总体设计

该系统主要由五大功能模块组成:

图书管理、读者管理、借阅管理、数据统计和系统管理。

各大功能模块又由一些子功能模块构成,其总体的设计框架如下。

五、详细设计与实现

1、数据库操作公共类:

classSQLhelper

{

privatestaticSqlConnectionconn=newSqlConnection(@"DataSource=.\SQLEXPRESS;AttachDbFilename=D:

\计算机的学习\数据库\数据库课程设计\汪刚\数据库课程设计\数据库课程设计\MSI_KS.mdf;IntegratedSecurity=True;ConnectTimeout=30;UserInstance=True");//Decrypt(System.Configuration.ConfigurationManager.AppSettings["connectionString"]));

//打开数据库链接

publicstaticvoidOpenConn()

{

try

{

if(conn.State==ConnectionState.Closed)

conn.Open();

}

catch

{

thrownewException("数据库连接失败!

");

}

}

//关闭数据库连接

privatestaticvoidCloseConn()

{

if(conn!

=null)

{

if(conn.State==ConnectionState.Open)

{

conn.Close();

}

}

}

publicstaticintExecuteNonQuery(stringsql)

{

introws=0;

try

{

OpenConn();

SqlCommandcmd=newSqlCommand(sql,conn);

rows=cmd.ExecuteNonQuery();

}

catch(SqlExceptionex)

{

thrownewException(ex.Message);

}

finally

{

CloseConn();

}

returnrows;

}

publicstaticintExecuteNonQuery(stringsql,SqlParameter[]parameters)

{

introws=0;

try

{

OpenConn();

SqlCommandcmd=newSqlCommand(sql,conn);

if(parameters!

=null)

{

foreach(SqlParameterparameterinparameters)

{

cmd.Parameters.Add(parameter);

}

}

rows=cmd.ExecuteNonQuery();

}

catch(SqlExceptionex)

{

thrownewException(ex.Message);

}

finally

{

CloseConn();

}

returnrows;

}

publicstaticintExecuteStoredProc(stringstoredProcName,SqlParameter[]parameters)

{

introws=0;

try

{

OpenConn();

SqlCommandcmd=newSqlCommand();

cmd.CommandType=CommandType.StoredProcedure;

cmd.CommandText=storedProcName;

cmd.Connection=conn;

if(parameters!

=null)

{

foreach(SqlParameterparameterinparameters)

{

cmd.Parameters.Add(parameter);

}

}

rows=cmd.ExecuteNonQuery();

}

catch(SqlExceptionex)

{

thrownewException(ex.Message);

}

finally

{

CloseConn();

}

returnrows;

}

///

///执行简单的SQL语句,返回结果集中的首行首列

///

///要执行的SQL查询语句

///

publicstaticobjectExecuteScalar(stringsql)

{

objectobj=null;

try

{

OpenConn();

SqlCommandcmd=newSqlCommand(sql,conn);

obj=cmd.ExecuteScalar();

}

catch(SqlExceptionex)

{

thrownewException(ex.Message);

}

finally

{

CloseConn();

}

returnobj;

}

///

///执行简单的SQL语句,返回结果集中的首行首列

///

///要执行的SQL查询语句

///

///

publicstaticobjectExecuteScalar(stringsql,SqlParameter[]parameters)

{

objectobj=null;

try

{

OpenConn();

SqlCommandcmd=newSqlCommand(sql,conn);

if(parameters!

=null)

{

foreach(SqlParameterparameterinparameters)

{

cmd.Parameters.Add(parameter);

}

}

obj=cmd.ExecuteScalar();

}

catch(SqlExceptionex)

{

thrownewException(ex.Message);

}

finally

{

CloseConn();

}

returnobj;

}

///

///执行一条带参数的SQL语句,返回DataTable对象

///

///SQL查询语句

///

///DataSet中的表名

///

publicstaticDataTableGetDataTable(stringsql,SqlParameter[]parameters,stringTableName)

{

DataTabledt=null;

{

OpenConn();

SqlCommandcmd=newSqlCommand(sql,conn);

if(parameters!

=null)

{

foreach(SqlParameterparameterinparameters)

{

cmd.Parameters.Add(parameter);

}

}

SqlDataAdaptersda=newSqlDataAdapter(cmd);

DataSetds=newDataSet();

sda.Fill(ds,TableName);

dt=ds.Tables[0];

}

returndt;

}

///

///执行存储过程,返回DataTable对象

///

///存储过程名

///

///Data中的表名

///

publicstaticDataTableExecuteStoredProc(stringstoredProcName,SqlParameter[]parameters,stringTableName)

{

DataTabledt=null;

try

{

OpenConn();

SqlCommandcmd=newSqlCommand();

cmd.CommandType=CommandType.StoredProcedure;

cmd.CommandText=storedProcName;

cmd.Connection=conn;

if(parameters!

=null)

{

foreach(SqlParameterparameterinparameters)

{

cmd.Parameters.Add(parameter);

}

}

SqlDataAdaptersda=newSqlDataAdapter(cmd);

DataSetds=newDataSet();

sda.Fill(ds,TableName);

dt=ds.Tables[0];

}

catch(SqlExceptionex)

{

thrownewException(ex.Message);

}

finally

{

CloseConn();

}

returndt;

}

2、登陆界面及代码实现

代码实现:

(主要是验证用户名和密码)

stringname=User_Name.Text;

stringcode=User_Code.Text;

stringsql=string.Format("select*fromReader_sortwherereader_name='{0}'",name);

DataTabletemp=SQLhelper.GetDataTable(sql,null,"Reader_sort");

if(temp.Rows.Count!

=0)

{

if(temp.Rows[0][3].ToString()==name)

{

if(temp.Rows[0][2].ToString()==code)

{

stringtemp_sort=temp.Rows[0][1].ToString();

if(User_Sort.Text==temp_sort)

{

switch(temp_sort)

{

case"系统管理员":

stringname_temp=User_Name.Text;

System_administratorSystem_admin_temp=newSystem_administrator(name_temp);

System_admin_temp.Show();

this.Hide();

break;

case"图书管理员":

stringname_temp1=User_Name.Text;

Book_administratorbook_admin_temp=newBook_administrator(name_temp1);

book_admin_temp.Show();

this.Hide();

break;

case"读者管理员":

stringname_temp2=User_Name.Text;

Reader_administratorReader_admin_temp=newReader_administrator(name_temp2);

Reader_admin_temp.Show();

this.Hide();

break;

case"读者":

stringname_temp3=User_Name.Text;

Common_Readerreader_temp=newCommon_Reader(name_temp3);

reader_temp.Show();

this.Hide();

break;

}

}

else

MessageBox.Show("权限错误!

");

}

else

{

MessageBox.Show("密码不正确,请重新输入!

");

User_Code.Text=null;

}

}

else

MessageBox.Show("用户名不存在!

");

}

else

{

MessageBox.Show("用户不存在!

");

}

图形界面:

3、系统管理员

代码实现:

(一些主要功能)

添加:

System_administratoradmin_temp=newSystem_administrator(null);

stringsql_update=string.Format("select*fromReader_sort");

admin_temp.dataGridView1.DataSource=SQLhelper.GetDataTable(sql_update,null,"Reader_sort");

inti=admin_temp.dataGridView1.NewRowIndex;//获取新行的行号

i=i+1;

stringreader_name=add_reader_name.Text;

intcode=int.Parse(add_code.Text);

stringitem_sort=add_sort.Text;

stringsql=string.Format("insertintoReader_sortvalues('{0}','{1}','{2}','{3}')",i,item_sort,code,reader_name);

introws=SQLhelper.ExecuteNonQuery(sql);

if(rows<=0)

{

MessageBox.Show("添加失败!

");

}

修改:

update_index=update_index+1;

stringreader_name=modify_reader_name.Text;

intcode=int.Parse(modify_code.Text);

stringitem_sort=modify_sort.Text;

stringsql=string.Format("updateReader_sortsetsort_name='{0}',sort_code='{1}',reader_name='{2}'wheresort_ID='{3}'",item_sort,code,reader_name,update_index);

introws=SQLhelper.ExecuteNonQuery(sql);

if(rows<=0)

{

MessageBox.Show("修改失败!

");

}

删除:

DialogResulttemp=MessageBox.Show(this,"是否删除该选中行","确定删除",MessageBoxButtons.YesNo,MessageBoxIcon.Question);

if(temp==DialogResult.Yes)

{

stringdelete_currentcell=dataGridView1.CurrentRow.Cells[0].Value.ToString();

stringsql=string.Format("deleteReader_sortwheresort_ID='{0}'",delete_currentcell);

introws=SQLhelper.ExecuteNonQuery(sql);

if(rows<=0)

{

MessageBox.Show("删除失败");

}

else

{

dataGridView1.Rows.Remove(dataGridView1.CurrentRow);//删除选中行

}

}

图形界面:

4、图书管理员

关于添加、修改、删除的操作与系统管理员类似,这里不再赘述,图书管理员中,主要用到的技术有:

C/S或B/S模式:

业务实体类:

publicclassBook_entiry

{

#region私有字段

privateintBook_id;

privatestringbook_code;

privatestringbook_name;

privatestringbook_author;

privatestringbook_press;

privatestringbook_datapress;

privatestringbook_isbn;

privatestringbook_catalog;

privatestringbook_languague;

privateintbook_pages;

privatestringbook_price;

privatestringbook_datain;

privatestringbook_brief;

privatestringbook_cover;

privatestringbook_sum;

#endregion

#region公有属性

publicintbkID

{

get{returnBook_id;}

set{Book_id=value;}

}

publicstringbkCode

{

get{returnbook_code;}

set{book_code=value;}

}

publicstringbkName

{

get{returnbook_name;}

set{book_name=value;}

}

publicstringbkAuthor

{

get{returnbook_author;}

set{book_author=value;}

}

publicstringbkPress

{

get{returnbook_press;}

set{book_press=value;}

}

publicstringbkDatePress

{

get{returnbook_datapress;}

set{book_datapress=value;}

}

publicstringbkISBN

{

get{returnbook_isbn;}

set{book_isbn=value;}

}

publicstringbkCatalog

{

get{returnbook_catalog;}

set{book

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2