《.NET程序设计》课程设计报告
- 格式:doc
- 大小:23.50 KB
- 文档页数:7
《.NET程序设计》课程设计报告
班级:计算机1403
学号:05
姓名:黄世增
一、实验名称
作者信息管理系统
二、实验目的
1.进一步掌握并加深“.NET程序设计”课程的基本知识,理解“.NET程序设计”课程中重点讲解的技术在项目开发中的应用。
2.培养正确的程序设计思想,提高分析问题、解决问题的能力。
3.提高学生进行技术总结和撰写说明书的能力。
三、系统设计描述
实验设计内容:
本次实验设计的内容是使用技术为某出版社设计并实现一个小型作者信息管理系统。出版社的工作人员登录该系统后,可以查看该社出版的各类书籍的作者的信息,并可以对作者信息进行各类查询,便于工作人员对作者信息进行管理。
系统数据库设计:
在SQL Server Express中为作者信息管理系统建立一个名为作者信息管理系统的数据库,并设计以下2张数据表:
1.系统管理员表
该表用来记录使用本系统的管理员的基本信息,包括管理员账户及密码。
【思考题】
(1)数据库中的一条记录中有若干个属性,若其中某一个属性(注
意是组)能唯一标识一条记录,该属性组就可以成为一个主键。
统管理员表中用户名应设为主键。
(2)用户名和密码都设为varchar字符型。
2.作者个人信息表
该表用来记录作者个人的基本信息,包括作者编号、姓名、联系地址、电话、email。
【思考题】
(1)表中作者编号应设为主键。
(2)表中作者ID、电话号码和Email为nchar字符串型,姓名和联系人地址为nvarchar字符串型。
设计好数据库的两个表后,分别在两个表中输入数据,如下图所示:
系统模块设计
1.登录模块设计
登录模块应保证出版社工作人员以系统管理员身份正确输入账号和密码后才能登录系统,同时该模块在页面上显示登录人员账号;否则,系统自动跳转回登录页面。
connectionStr = @"Data Source=.\SQLEXPRESS;
AttachDbFilename = |DataDirectory|作者信息管理系统.mdf;
Integrated Security=True;
User Instance=true";
数据库的路径使用相对路径。
【思考题】
(1)使用DataReader与DataSet都可以从数据源读取数据。DataReader本身是通过IDbCommand.ExecuteReader()方法进行构建的;而DataSet则是通过DbDataAdapter.Fill()方法进行填充。此外,两者的工作方式有明显的不同:DataReader的执行过程不能脱离数据库连接,也就是在DataReader读取数据的时候不能够使用IDbConnection.Close()方法关闭数据库连接;而在使用DataSet获取数据时,可以断开数据库的连接,因为此时DbDataAdapter已经负责将数据获取到应用服务器中了。根据当前模块需求,选用DataSet 更好一些。
2.作者信息查询模块设计
作者信息查询模块应提供列出全部作者信息、按作者姓名查询、按作者地址查询等功能。
protected void Page_Load(object sender, EventArgs e) {
if (Session["用户名?"] != null)
{
Label1.Text = Session["用户名?"].ToString();
}
else
Response.Redirect("login.aspx");
}
使用Session对象保存登录用户账号,将其传递到一个新的页面并显示。
*显示全部作者信息
在页面上放置合适的控件,显示全部作者信息。
protected void gvAll_PageIndexChanging1(object sender, GridViewPageEventArgs e)
{
= e.NewPageIndex;
;
}
实现分页功能。
protected void gvAll_RowDataBound(object sender, GridViewRowEventArgs e)
{
//鼠标滑过时,改变颜色
if ( == DataControlRowType.DataRow)
{
"onmouseover", "c=;");
"onmouseout", "");
}
}
当鼠标移动到某一行时变色,移开时恢复原色,#0000FF是颜色的编码。
*按作者姓名查询
页面上放置合适的控件,显示查询结果信息。
*按作者地址查询
if (ds.Tables[0].Rows.Count == 0)
{
//Respinse.Write(" color='#ff000'>对不起,您查找的记录并不存在!
gvAddress.DataSource = null;
gvAddress.DataBind();
}
当输入的地址不正确时,输出"对不起,您查找的记录并不存在!"。 else
{
gvAddress.DataSource = null;
gvAddress.DataBind();
Label2.Text = "请正确输入地址!";
}
当没有输入地址就查询时,提示"请正确输入地址!"。