1、常州大学 课程设计三 目录 引言 - 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
2、 查找新闻 - 10 - 10 留言板模块 - 10 - 10.1 查看留言 - 10 - 10.2 写新留言 - 11 - 四、代码实现 - 11 - 五、实习体会 - 14 - 参考文献 - 15 - 引言 这是一个汽车俱乐部会员管理网站,主要就是管理会员信息,用户可以了解俱乐部发布的新闻,还可以给俱乐部留言,让俱乐部更好的管理。 一、系统总体功能设计 普通浏览者 1. 系统的功能模块图 浏览汽车信息及新闻 浏览网站 以游客身份留言 系统首页 基本管理
3、 会员管理 业务管理 系统管理员 查询管理 系统管理 新闻管理 2. 工作流程为 打开该系统网站,普通浏览者能浏览、阅读俱乐部信息及新闻,系统管理员登录进入新闻后台管理区,可以进行如下管理: (1)员工信息管理:增加 删除和修改员工信息 (2)设备信息管理:增加 删除和修改员工信息 (3)新闻管理:新闻管理(添加、删除和修改) (4会员管理:包括会员级别管理,会员档案管理,会员注销管理,会员挂失管理 (5) 业务管理:会员消费管理,会员充次管理、会员充值管理、会员积分管理 (6) 查询管理:查询会员消费信息
4、查询会员充次信息、查询会员充值信息、查询会员积分信息,查询会员消费信息,查询设备信息。 (7) 系统管理:包括添加用户,密码修改,用户退出 二、表格设计 该系统使用Mysql作为应用程序的数据库,建立了有13张数据表,下面主要介绍以下9张具有代表性的表:tb_user表用于存储管理员帐户的信息,会员充次表、充值表用于管理会员充值信息,会员信息表用于存储会员的各项基本信息, 会员挂失表用于记录会员挂失时间,原因等信息, 会员注销表用于记录会员注销的原由,设备信息表用于设备的使用状态,管理人员等信息,消费的单据表用来存储付款方式,结算时间等信息,员工信息记录管理俱乐部的人员的基本信息。
5、 几个重要的表如下: tb_user表如表1所示: 表1管理员信息表 Id为该表主键,username为管理员名称,password为密码。 会员充次表如表2所示: 表2会员充次表 会员充值表如表3所示: 表3会员充值表 会员信息表如表4所示: 表4会员信息表 会员挂失 表5 会员挂失表 会员积分表
6、 表6 会员积分表 会员级别 表7 会员级别表 会员注销 表8 会员注销表 设施信息 表9 设施信息 消费单据 表10 消费单据表 员工信息 表11 员工信息表 三、具体设计图 1 阳光汽车俱乐部网站首页
7、 普通用户进来可以看到。 2 浏览新闻 3 会员注册 4 后台管理员界面 5 会员信息管理 6 业务管理 7 打印功能 8 查询管理 9 新闻发布 9.1 添加新闻 9.2 删除新闻 9.3 查找新闻 9.4 修改新闻 10 留言板模块 10.1 查看留言 10.2 写新留言 四、代码实现 1 前台主页面是采用分框架实现 主要代码如下:
2 管理员登录页面代码实现 通过登录按钮添加代码如下: 自定义函数login();先连接上数据库myclubdb 然后验证 用户名密码是否正确 protected void ImageButton1_Click(object sender, ImageClickEv9、entArgs 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;datab
10、ase=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"] = user
11、name.Text.Trim(); string str=""; this.Page.ClientScript.RegisterStartupScript(this.GetType(), "b", ""); } else { this.Page.ClientScript.
12、RegisterStartupScript(this.GetType(), "a", "") } } 3. 添加新闻的代码 protected void btnFabiao_Click(object sender, EventArgs e) { //创建上传文件的路径字符串 String savePath = Server.MapPath("file/"); //检查新闻标题、内容和作者是否为空 if ((tx
13、tBiaoti.Text == "") || (txtNeirong.Text != "") || (txtZuozhe.Text == "")) { lblMsg.Text = "标题、内容、作者等不能为空!"; }//检查新闻标题长度 else if (txtBiaoti.Text.Length >= 50) { lblMsg.Text = "你的标题太长了"; }//检查上传文件大小 else if (fuUpLoad.PostedFile.Conten
14、tLength > 153600) { lblMsg.Text = "上传的文件不能超过70kb"; return; } //检查是否已经有同名的上传文件 if (fuUpLoad.HasFile) { String filename = fuUpLoad.FileName;//上传文件名 savePath += filename; //上传路经 fuUpLoad.S
15、aveAs(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
16、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 = ne
17、w 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"]; st
18、ring 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
19、 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,
20、 EventArgs e) { if (txtSou_suo.Text == "") { lblMsg.Text = "请输入搜索的内容!"; this.GridView1.DataSource = myBind(); this.GridView1.DataBind(); return; } else { lblMsg.Visible = false;
21、 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 content
22、s 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) {
23、 this.GridView1.DataSource = ds.Tables["tt"].DefaultView; this.GridView1.DataBind(); } else { Response.Write(""); } } 五、实习体会 我做的是汽车俱乐部会员管理系统。一开始的时候用
24、的是sql server 2005,已经折腾的差不多了,然后听说不可以,就开始找数据库的转换软件,这个花了一个晚上,然后就开始数据库的连接部分,连接上了之后 ,测试出来还是有很多的错误,就开始修改sql语句,一句句的放在查询里面,测试有没有错误,直到没有错误 ,然后在修改了一下大体的部分。其实遇到问题并不可怕,只要你愿意花时间在上面,总是会有收获的。 为了这一个程序又去翻了.net的书。像.NET,你不去花时间做,不去自己摸索,就很难有进步。即使有了理论,可面对操作时还是会遇到各种问题,不过现在把存在的问题都解决了。 参考文献 [1] 蔡剑,景楠.Java Web应用开发[M].高等教育出版社.2005.1. [2] 张莉.SQL Server数据库原理及应用(第二版).清华大学出版社.2010.6. [3] 马海军等编著. 《ASP.NET(C#)实践教程》.清华大学出版社.2010.6 - 15 -






