收藏 分销(赏)

报刊订阅管理系统小学期.doc

上传人:仙人****88 文档编号:9120152 上传时间:2025-03-14 格式:DOC 页数:14 大小:296.50KB 下载积分:10 金币
下载 相关 举报
报刊订阅管理系统小学期.doc_第1页
第1页 / 共14页
报刊订阅管理系统小学期.doc_第2页
第2页 / 共14页


点击查看更多>>
资源描述
※※※※※※※※※ ※※ ※※ ※※ ※※※※※※※※※ 2013级 数据库应用系统开发 xxxx大学 集中实践报告书 课题名称 报刊订阅管理系统 姓 名 学 号 系、 部 计算机系 专业班级 指导教师 2015年 6 月 30 日 一、设计任务及要求: 设计任务:报刊订阅管理系统的开发 要 求: 本系统主要有一下功能模块: (1)登陆功能:登陆系统为身份验证登陆,分为管理员登陆和一般用 户登陆。 (2)录入新信息功能:管理员录入新用户和报刊信息;普通用户修改个人信息。 (3)订阅功能:普通用户可以订阅报刊。 (4)查询功能:用户和管理员可以查询各自所需的信息。 (5)统计功能:用户和管理员可以统计各自所需的信息。 (6)系统维护功能:管理员可以对数据库里的信息进行备份和恢复。 二、指导教师评语: 三、成绩 指导教师签名: 年 月 日 报刊订阅管理系统的开发 1选题的意义 现在生活中,人们对知识和对时事的渴求也越来越高,而获得知识的一个主要途径就是通过书籍报刊杂志,所以通过开发一个报刊订阅管理系统让人们能够方便快捷的订阅各种报刊杂志。 通过参考其他信息管理系统,制作该报刊订阅管理系统,实现登陆、注册、查询、添加、删除、修改信息等功能。 2 系统功能需求分析 2.1系统概述 报刊订阅管理系统 登录功能 录入新信息 订阅功能 统计功能 查询功能 图1 报刊订阅管理系统功能 2.2系统的组成及各模块的功能 系统由登陆、录入、订阅、查询、统计等功能模块组成: (1)登陆功能:登陆系统为身份验证登录。分为管理员登录和一般用户登录。分别通过不同的用户名和密码进入报刊订阅管理界面,新的用户需要注册。 (2)录入新信息功能:对于管理员,包括新用户信息和新报刊信息的录入功能,信息一旦提交就存入到后台数据库中;普通用户自行注册进行可以修改个人信息。 (3)订阅功能:用户可以订阅报刊,系统自动计算所需金额,并显示在界面上;管理员不可订阅报刊,必须以用户身份订阅报刊。 (4)查询功能:用户可以查询并显示自己所订阅的信息;管理员可以按人员、报刊、部门分类查询。查询出的信息显示在界面上,并且可以预览和打印出结果。 (5)统计功能:管理员可以按用户、部门、报刊统计报刊的销售情况,并对一些重要的订阅信息进行统计;普通用户可以统计出自己的订阅情况,并且可以预览和打印出结果。 2.3系统的运行环境 Visual Studio 2008 Microsoft SQL Sever 2005 3系统设计 3.1总体结构设计 图2 报刊订阅管理系统功能框图 报刊订阅管理系统 登陆功能 录入新信息 订阅功能 用户登陆 管理员登陆 注册 管理员 普通用户 查询功能 统计功能 用户信息 报刊信息 修改个人信息 仅限用户订阅 用户 管理员 用户 管理员 订阅信息 人员 报刊 部门 订阅情况 用户 部门 报刊 3.2数据库实现 表1 管理员信息表 字段名 类型 长度 备注 aname varchar 20 主键 自动增长 password varchar 30 表2 用户信息表 字段名 类型 长度 备注 userid varchar 20 主键 自动增长 password varchar 30 uname varchar 20 idcard char 18 phone varchar 20 adress varchar 100 did varchar 20 表3 部门信息表 字段名 类型 长度 备注 did varchar 20 主键 dname varchar 40 表4 报刊种类信息表 字段名 类型 长度 备注 sortid varchar 10 主键 sortname varchar 40 表5 报刊信息表 字段名 类型 长度 备注 newsid varchar 20 主键 newsname varchar 40 newsoffice varchar 40 period varchar 10 price smallmoney introduce varchar 100 sortid varchar 10 表6 订阅信息表 字段名 类型 长度 备注 orderid varchar 20 主键 userid varchar 20 newsid varchar 20 ordernum float 10 ordermon datetime 4系统实现 4.1登录模块的设计与实现 图3 登陆界面 using System; using System.Collections; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; using System.Data.SqlClient; public partial class 登陆 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { faillog.Text = ""; } protected void Button1_Click(object sender, EventArgs e) { SqlConnection connection = new SqlConnection(ConfigurationManager.AppSettings["sqlcon"]); connection.Open(); if (!CheckBox1.Checked) //if (RadioButtonList1.SelectedIndex == 0) { string cmdusers = "select * from users where userid='" + userid.Text + "'"; SqlCommand cmdu = new SqlCommand(cmdusers, connection); SqlDataReader rdu = cmdu.ExecuteReader(); if (rdu.Read()) { string dbpassword = rdu.GetString(rdu.GetOrdinal("password")); if (password.Text == dbpassword) { Session["userid"] = userid.Text.ToString(); Response.Redirect("用户/用户页面.aspx"); } else { faillog.Text = "账号/密码错误"; } } else faillog.Text = "该用户不存在"; } else { string cmdadmin = "select * from adminuser where aname='" + userid.Text + "'"; SqlCommand cmda = new SqlCommand(cmdadmin, connection); SqlDataReader rda = cmda.ExecuteReader(); if (rda.Read()) { string dbpassword = rda.GetString(rda.GetOrdinal("password")); if (password.Text == dbpassword) { Session["userid"] = userid.Text.ToString(); Response.Redirect("管理员/管理员页面.aspx"); } else faillog.Text = "账号/密码错误"; } else faillog.Text = "该用户不存在"; } connection.Close(); } protected void Button2_Click(object sender, EventArgs e) { Response.Redirect("注册页面.aspx"); } } 4.2其他模块的设计与实现 (1)用户信息模块 图4 用户界面 using System; using System.Collections; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; using System.Data.SqlClient; public partial class 用户_用户页面 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) bind(); } public void bind() { SqlConnection connection = new SqlConnection(ConfigurationManager.AppSettings["sqlcon"]); string str = " select * from users where userid = '" + Session["userid"] + "'"; SqlDataAdapter da = new SqlDataAdapter(str, connection); DataSet ds = new DataSet(); connection.Open(); da.Fill(ds, "users"); usergrid1.DataSource = ds; usergrid1.DataKeyNames = new string[] { "userid" }; usergrid1.DataBind(); connection.Close(); } protected void userid1_PageIndexChanging(object sender, GridViewPageEventArgs e) { usergrid1.PageIndex = e.NewPageIndex; bind(); } protected void usergrid1_RowEditing(object sender, GridViewEditEventArgs e) { usergrid1.EditIndex = e.NewEditIndex; bind(); } protected void userid1_Rowupdating(object sender, GridViewUpdateEventArgs e) { // string connstring = "Data Source = localhost;Integrated Security = True;Initial Catalog = 报刊订阅管理系统;"; // SqlConnection connection = new SqlConnection(connstring); SqlConnection connection = new SqlConnection(ConfigurationManager.AppSettings["sqlcon"]); connection.Open(); string updatestr = "update users set uname='" + ((TextBox)(usergrid1.Rows[e.RowIndex].Cells[0].Controls[0])).Text.ToString().Trim() + "', idcard='" + ((TextBox)(usergrid1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim() + "', phone='" + ((TextBox)(usergrid1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim() + "' , address='" + ((TextBox)(usergrid1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString().Trim() + "' where userid='" + Session["userid"] + "'"; // string sqlstr = "update student set Number='" + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[0].Controls[0])).Text.ToString().Trim() + "', Name='" + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim() + "'where Number='" + GridView1.DataKeys[e.RowIndex].Value.ToString() + "'"; SqlCommand cmd = new SqlCommand(updatestr, connection); cmd.ExecuteNonQuery(); connection.Close(); usergrid1.EditIndex = -1; bind(); } protected void userid1_Canceling(object sender, GridViewCancelEditEventArgs e) { usergrid1.EditIndex = -1; bind(); } } (2)管理员信息模块 图5 管理员界面 using System; using System.Collections; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; public partial class 管理员_管理员页面 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } } (3)注册模块 图6 注册界面 using System; using System.Collections; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; using System.Data.SqlClient; public partial class 注册页面 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } public int register(int a) { int t=0; return t+a; } protected void Button1_Click(object sender, EventArgs e) { SqlConnection connection = new SqlConnection(ConfigurationManager.AppSettings["sqlcon"]); connection.Open(); SqlCommand cmd = new SqlCommand(); cmd.CommandText = "select * from users where userid = '"+userid.Text+"'"; cmd.Connection = connection; SqlDataReader rd = cmd.ExecuteReader(); if (userid.Text.Length >= 6 & userid.Text.Length <= 20) { if (!rd.Read()) { rd.Close(); if (password1.Text.Length >= 6 & userid.Text.Length <= 30) { if (password2.Text == password1.Text) { if (name.Text.Length <= 20) { if (idcard.Text.Length == 18) { cmd.CommandText = "insert into users(userid,password,uname,idcard,phone,address,did) values('" + userid.Text + "','" + password1.Text + "','" + name.Text + "','" + idcard.Text + "','" + phone.Text + "','" + address.Text + "','1')"; cmd.ExecuteNonQuery(); ClientScript.RegisterStartupScript(GetType(), "message", "<script>alert('成功!');</script>"); } else ClientScript.RegisterStartupScript(GetType(), "message", "<script>alert('身份证号不符合规格(18位)');</script>"); } else ClientScript.RegisterStartupScript(GetType(), "message", "<script>alert('姓名过长(10个汉字以内)');</script>"); } else ClientScript.RegisterStartupScript(GetType(), "message", "<script>alert('两次输入的密码不一样');</script>"); } else ClientScript.RegisterStartupScript(GetType(), "message", "<script>alert('密码不符合规格(6-30位字符)');</script>"); } else ClientScript.RegisterStartupScript(GetType(), "message", "<script>alert('对不起,此账号已被注册');</script>"); } else ClientScript.RegisterStartupScript(GetType(), "message", "<script>alert('账号名不符合规则:请输入6到20位用户名');</script>"); connection.Close(); } } 5设计体会 5.1总结 本次程序设计是由二人共同完成,经历了从选择题目,整体分析,画流程图,设计模板,自己编写程序,上网查找标准代码,完善所编程序到调试程序的过程,其中我们有共同合作的欢乐,也有分工进行编写程序的喜悦,我们分工编写不同的函数,再将各自所编程序组成整体,在我们将程序进行整体组合时发现我们的程序无法自行输入矩阵,通过我们的共同研究,找到了我们所编程序的不妥之处,并进行了改进,编写程序的过程真是一个幸福的过程,让我找回了在编程道路上曾经失去的信心,让我感受到了伟大的团结力量。 5.2存在的主要问题 我们对于数据库的使用还不是很熟悉,在编写程序代码的时候经验不足,也走向过很多误区。 参考文献 [1] 王珊 萨师煊 ,《数据库系统概论》, 高等教育出版社, 2006.5 [2] 郭靖,《ASP.NET开发技术大全》,清华大学出版社,2009-5 [3] 张跃廷,《ASP NET开发实战宝典》,清华大学出版社,2010-1
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

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

关于我们      便捷服务       自信AI       AI导航        抽奖活动

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

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

gongan.png浙公网安备33021202000488号   

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

关注我们 :微信公众号    抖音    微博    LOFTER 

客服