NET程序设计课程设计报告样本
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《.NET程序设计》
课程设计报告
班级: 计算机1403
学号:
姓名: 黄世增
一、实验名称
作者信息管理系统
二、实验目的
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)
{
this.gvAll.PageIndex = e.NewPageIndex;
this.gvAll.DataBind();
}
实现分页功能。
protected void gvAll_RowDataBound(object sender, GridViewRowEventArgs e)
{
//鼠标滑过时, 改变颜色
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Attributes.Add("onmouseover",
"c=this.style.backgroundColor;this.style.backgroundColor='#0000FF'") ;
e.Row.Attributes.Add("onmouseout",