资源描述
常州大学 课程设计三
目录
引言 - 1 -
一、系统总体功能设计 - 1 -
二、表格设计 - 2 -
三、具体设计图 - 5 -
1 阳光汽车俱乐部网站首页 - 5 -
2 浏览新闻 - 6 -
3 会员注册 - 6 -
4 后台管理员界面 - 7 -
5 会员信息管理 - 7 -
6 业务管理 - 8 -
7 打印功能 - 8 -
8 查询管理 - 8 -
9 新闻发布 - 9 -
9.1 添加新闻 - 9 -
9.2 删除新闻 - 9 -
9.3 查找新闻 - 10 -
10 留言板模块 - 10 -
10.1 查看留言 - 10 -
10.2 写新留言 - 11 -
四、代码实现 - 11 -
五、实习体会 - 14 -
参考文献 - 15 -
引言
这是一个汽车俱乐部会员管理网站,主要就是管理会员信息,用户可以了解俱乐部发布的新闻,还可以给俱乐部留言,让俱乐部更好的管理。
一、系统总体功能设计
普通浏览者
1. 系统的功能模块图
浏览汽车信息及新闻
浏览网站
以游客身份留言
系统首页
基本管理
会员管理
业务管理
系统管理员
查询管理
系统管理
新闻管理
2. 工作流程为
打开该系统网站,普通浏览者能浏览、阅读俱乐部信息及新闻,系统管理员登录进入新闻后台管理区,可以进行如下管理:
(1)员工信息管理:增加 删除和修改员工信息
(2)设备信息管理:增加 删除和修改员工信息
(3)新闻管理:新闻管理(添加、删除和修改)
(4会员管理:包括会员级别管理,会员档案管理,会员注销管理,会员挂失管理
(5) 业务管理:会员消费管理,会员充次管理、会员充值管理、会员积分管理
(6) 查询管理:查询会员消费信息,查询会员充次信息、查询会员充值信息、查询会员积分信息,查询会员消费信息,查询设备信息。
(7) 系统管理:包括添加用户,密码修改,用户退出
二、表格设计
该系统使用Mysql作为应用程序的数据库,建立了有13张数据表,下面主要介绍以下9张具有代表性的表:tb_user表用于存储管理员帐户的信息,会员充次表、充值表用于管理会员充值信息,会员信息表用于存储会员的各项基本信息, 会员挂失表用于记录会员挂失时间,原因等信息, 会员注销表用于记录会员注销的原由,设备信息表用于设备的使用状态,管理人员等信息,消费的单据表用来存储付款方式,结算时间等信息,员工信息记录管理俱乐部的人员的基本信息。
几个重要的表如下:
tb_user表如表1所示:
表1管理员信息表
Id为该表主键,username为管理员名称,password为密码。
会员充次表如表2所示:
表2会员充次表
会员充值表如表3所示:
表3会员充值表
会员信息表如表4所示:
表4会员信息表
会员挂失
表5 会员挂失表
会员积分表
表6 会员积分表
会员级别
表7 会员级别表
会员注销
表8 会员注销表
设施信息
表9 设施信息
消费单据
表10 消费单据表
员工信息
表11 员工信息表
三、具体设计图
1 阳光汽车俱乐部网站首页
普通用户进来可以看到。
2 浏览新闻
3 会员注册
4 后台管理员界面
5 会员信息管理
6 业务管理
7 打印功能
8 查询管理
9 新闻发布
9.1 添加新闻
9.2 删除新闻
9.3 查找新闻
9.4 修改新闻
10 留言板模块
10.1 查看留言
10.2 写新留言
四、代码实现
1 前台主页面是采用分框架实现
主要代码如下:
<frameset rows="27%,*" boder="7">
<frame src=top0.aspx scrollong="no" noresize>
<frameset cols="30%,*">
<frame src=left0.aspx >
<frame src="right0.aspx" name="mainframe">
</frameset>
</frameset>
2 管理员登录页面代码实现
通过登录按钮添加代码如下: 自定义函数login();先连接上数据库myclubdb 然后验证 用户名密码是否正确
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
Login();
}
//登录
public void Login()
{
string sql = string.Format("select count(*) from tb_User where username='{0}' and password='{1}'", username.Text.Trim(), userpwd.Text.Trim());
string str1 = "server=127.0.0.1;user=root;password=1;database=myclubdb";
MySqlConnection conn = new MySqlConnection(str1);
conn.Open();
MySqlCommand cmd = new MySqlCommand(sql,conn);
int count = Convert.ToInt32(cmd.ExecuteScalar());
conn.Close();
if (count > 0)
{ Session["username"] = username.Text.Trim();
string str="<script>window.open('Default.aspx?username='+username.Text.Trim())</script>";
this.Page.ClientScript.RegisterStartupScript(this.GetType(), "b", "<script>window.open('Default.aspx') </script>"); }
else
{ this.Page.ClientScript.RegisterStartupScript(this.GetType(), "a", "<script>alert('登陆失败')</script>")
}
}
3. 添加新闻的代码
protected void btnFabiao_Click(object sender, EventArgs e)
{
//创建上传文件的路径字符串
String savePath = Server.MapPath("file/");
//检查新闻标题、内容和作者是否为空
if ((txtBiaoti.Text == "") || (txtNeirong.Text != "") || (txtZuozhe.Text == ""))
{ lblMsg.Text = "标题、内容、作者等不能为空!";
}//检查新闻标题长度
else if (txtBiaoti.Text.Length >= 50)
{
lblMsg.Text = "你的标题太长了";
}//检查上传文件大小
else if (fuUpLoad.PostedFile.ContentLength > 153600)
{
lblMsg.Text = "上传的文件不能超过70kb";
return;
}
//检查是否已经有同名的上传文件
if (fuUpLoad.HasFile)
{
String filename = fuUpLoad.FileName;//上传文件名
savePath += filename; //上传路经
fuUpLoad.SaveAs(savePath);//保存文件
}
// 建立数据连接
string strConnnection = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=";
strConnnection += Server.MapPath(".\\DB\\news.mdb");
OleDbConnection myconn = new OleDbConnection(strConnnection);
string sql = "insert into contents(biaoti,neirong,zuozhe,shijian,click,img,typeid)values";
sql += "('" + txtBiaoti.Text + "','" + txtNeirong.Text + "','" + txtZuozhe.Text + "','" + DateTime.Now.ToString() + "',0,'" + fuUpLoad.FileName.ToString() + "','" + DropDownList1.SelectedItem.Value + "')";
OleDbCommand mycmd = new OleDbCommand(sql, myconn);
mycmd.Connection.Open();
mycmd.ExecuteNonQuery();
mycmd.Connection.Close();
Response.Redirect("new1.aspx");}
4 修改新闻代码
protected void Button1_Click(object sender, EventArgs e)
{
newsid = Request.Params["id"];
string strConnnection = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=";
strConnnection += Server.MapPath(".\\DB\\news.mdb");
OleDbConnection myconn = new OleDbConnection(strConnnection);
myconn.Open();
OleDbCommand updatecmd = new OleDbCommand("update contents set biaoti='"+txtBiaoti.Text+"',neirong='"+txtNeirong.Text+"',zuozhe='"+txtZuozhe.Text+"' where id="+newsid,myconn);
updatecmd.ExecuteNonQuery();
myconn.Close();
Response.Redirect("deletenews.aspx");
}
5 查找新闻代码
//查找按钮事件
protected void btnZhao_Click(object sender, EventArgs e)
{
if (txtSou_suo.Text == "")
{
lblMsg.Text = "请输入搜索的内容!";
this.GridView1.DataSource = myBind();
this.GridView1.DataBind();
return;
}
else
{
lblMsg.Visible = false;
string strConnnection = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=";
strConnnection += Server.MapPath(".\\DB\\news.mdb");
OleDbConnection myconn = new OleDbConnection(strConnnection);
OleDbDataAdapter odr = new OleDbDataAdapter("select * from contents where " + ddlContents.SelectedValue + " like '%" + txtSou_suo.Text.ToString() + "%'", myconn);
DataSet ds = new DataSet();
try
{
odr.Fill(ds, "tt");
if (ds.Tables["tt"].Rows.Count != 0)
{
this.GridView1.DataSource = ds.Tables["tt"].DefaultView;
this.GridView1.DataBind();
}
else
{
Response.Write("<script>alert('no record!')</script>");
} }
五、实习体会
我做的是汽车俱乐部会员管理系统。一开始的时候用的是sql server 2005,已经折腾的差不多了,然后听说不可以,就开始找数据库的转换软件,这个花了一个晚上,然后就开始数据库的连接部分,连接上了之后 ,测试出来还是有很多的错误,就开始修改sql语句,一句句的放在查询里面,测试有没有错误,直到没有错误 ,然后在修改了一下大体的部分。其实遇到问题并不可怕,只要你愿意花时间在上面,总是会有收获的。
为了这一个程序又去翻了.net的书。像.NET,你不去花时间做,不去自己摸索,就很难有进步。即使有了理论,可面对操作时还是会遇到各种问题,不过现在把存在的问题都解决了。
参考文献
[1] 蔡剑,景楠.Java Web应用开发[M].高等教育出版社.2005.1.
[2] 张莉.SQL Server数据库原理及应用(第二版).清华大学出版社.2010.6.
[3] 马海军等编著. 《ASP.NET(C#)实践教程》.清华大学出版社.2010.6
- 15 -
展开阅读全文