? users:保存注册用户的信息 ? news:用于存储新闻信息 ? contents:用于存储会员的评论信息。 1. 用户信息表 用户表用于存放该管理系统中所有用户的信息,用户管理是每个管理系统中必不可少的,也是比较重要的一部分,字段及数据类型如下图: 字段名含义 用户编号 用户名 用户密码 用户权限 用户性别 出生年月 用户积分 用户密保问题 用户密保答案 2.新闻信息表 新闻信息表用于存储新闻信息。由于本系统主要是用于新闻管理,所以新闻表是必不可少的,字段及数据类型如下图: 字段名含义 新闻编号 新闻标题 新闻内容 缩略图 新闻类别 新闻发布日期 新闻状态: 审核,未审核 新闻被访问次数 发表新闻用户 3.评论表 评论表用于存储会员对新闻内容评论的信息。由于评论是新闻很重要的一部分,为了便于查看会员对新闻的看法,因此对评论的管理也是本系统不可缺少的一部分,字段字段名 n_id n_title n_details n_picture n_sorts n_date n_state n_count u_name 数据类型 Int char(50) text image Char(18) datetime Char(18) int char(18) 是否为空 否 否 否 否 否 否 否 否 否 字段名 u_id u _name u_pwd u_lim u_gender u_birthday u _score u_qtn u_answer 数据类型 int nchar(18) char(20) char Char(2) datetime Int Char(50) Char(50) 是否为空 否 否 否 否 否 否 null 否 否 第19页
及数据类型如下图: 字段名含义 评论新闻用户名 评论编号 被评论新闻编号 评论内容 评论日期 支持 反对 字段名 u_name c_id n_id c_content c_time c_sup c_agst 数据类型 Char(18) Int Int text datetime int int 是否为空 否 否 否 否 否 null null 5 结论 5.1 关键技术及遇到的问题 5.11 关键技术 本系统应用了.Net开发系统和SQL Server 2005 数据库技术 5.12 遇到的问题及解决 (1)焦点图 问题 解决办法:网上查询 功能实现方面: (2)用户登录状态在页面显示问题 解决办法:使用session (3)网站数据库绑定问题 解决办法:创建sqlconnection 对象,sqlcommand对象,定义连接字符串以及操作数据的字符串。 (4)文本编辑器 问题 解决办法:导入文本编辑器,在页面
中引入ckeditor核心文件ckeditor.js用服务器端控件
解决办法:网上查询griveview各个外观属性设置。 (6)不同页面之间传值问题 解决办法:用超链接传值 (7)修改新闻时获取id和提交修改新闻时不成功 解决办法:加上if(IsPostBack) (8)评论同步显示问题 解决办法:网上查询,加刷新页面请求 (9)新闻内容用省略号代替问题 (10)Web.config文件配置 ASP.NET应用程序的配置功能放在Web.config文件中,它包含每一个具体Web应用程序的配置信息。在程序运行时,ASP.NET使用分层虚拟目录结构的Web.config文件提供的配置信息为每个惟一的URL资源计算一组配置设置,然后缓存结果配置设置,以供所有页面对资源的请求使用。 Web.config文件对于访问站点的用户来说是不可见的,而且也是不可访问的,它基于XML,每个配置文件都包含XML标记和子标记的嵌套层次结构。 新闻系统的Web.config文件中的配置:
{ Image1.ImageUrl = \; Image2.ImageUrl = \; Image3.ImageUrl = \; Label6.Visible = false; Label7.Visible = false; Label8.Visible = false; Label9.Visible = false; Label3.Visible = false; } protected void btnLogin_Click(object sender, EventArgs e) { string connStr = ConfigurationManager.ConnectionStrings[\].ToString(); SqlConnection conn = new SqlConnection(connStr); conn.Open(); string Sql1 = \ + txtUserName.Text + \; SqlCommand cmd=new SqlCommand (Sql1,conn); SqlDataReader myReader =cmd.ExecuteReader(); myReader.Read(); if (myReader[\].ToString().Trim() == txtPsw.Text.Trim()) { Session[\] = (int)myReader[\]; Session[\] = txtUserName.Text.Trim(); Session[\] = true; if ((int)myReader[\] == 0) { Label6.Visible = true; Label7.Visible = true; Label8.Visible = true; Label9.Visible = true; Label3.Visible = true; Label9.Text = \欢迎登录本网站!\; } else { Response.Redirect(\); } txtPsw.Text = \; txtUserName.Text = \; } } protected void btnEnd_Click(object sender, EventArgs e) { txtPsw.Text = \; txtUserName.Text = \; } protected void Button1_Click(object sender, EventArgs e) { Response.Redirect(\ + txtSearch.Text); } protected void Button2_Click1(object sender, EventArgs e) { string name = DropDownList1.SelectedItem.Text; string id1 = DropDownList2.SelectedItem.Value; string id2 = DropDownList3.SelectedItem.Value; string id3 = DropDownList4.SelectedItem.Value; DateTime id = Convert.ToDateTime(id1 + \ + id2 + \ + id3); string connStr = ConfigurationManager.ConnectionStrings[\].ToString(); SqlConnection conn = new SqlConnection(connStr); 第22页
conn.Open(); string Sql1 = \ + name + \ + id + \; try { SqlDataAdapter myadpt = new SqlDataAdapter(Sql1, conn); DataSet ds = new DataSet(); myadpt.Fill(ds, \); DataList2.DataSource = ds.Tables[\]; DataList2.DataBind(); } catch (SqlException ee) { Response.Write(ee.ToString()); } finally { conn.Close(); } } 2. 详细新闻页面代码: protected void Page_Load(object sender, EventArgs e) { if (Session[\] == null) { Label7.Visible = false; Label8.Visible = false; Label9.Visible = false; } else { Label7.Visible = true; Label8.Visible = true; Label9.Visible = true; } string text = Request.QueryString[\]; string connStr = ConfigurationManager.ConnectionStrings[\].ToString(); SqlConnection conn = new SqlConnection(connStr); conn.Open(); try { string Sql = \ + text + \; SqlCommand cmd = new SqlCommand(Sql, conn); SqlDataReader read = cmd.ExecuteReader(); read.Read(); string s1 = read[\].ToString(); string s2 = read[\].ToString(); string s3 = read[\].ToString(); Label1.Text = s1; Label2.Text = s2; Label3.Text = s3; } catch (SqlException ee) { Response.Write(ee.ToString()); } finally { conn.Close(); } try 第23页