课程设计说明书 NO. 6
的内容,评论时间。还应有一些关于视频的信息,比如评论是对针对于那个视频的,所以应有一个视频编号与视频对应,以视频编号做主键,课将用户有关的评论信息存入数据库,最后更新到页面上,同时用户与视频发布者间可以相互交流,用户与用户间也可以进行交流,以提升用户体验。视频评论信息实体如图5所示。 图4视频详细实体图 图5视频评论信息实体 为了激励视频发布者们,使他们更加热衷于视频制作,为了使他们更加努力做出优秀的视频,并且能从网站上得到用户们喜爱的反馈,还需要用户对于精彩视频的评分。此评分又简单的用户顶起数而对视频进行排行。对于精彩视频由用户顶起后,其受到的关注度就会大大提升,就有机会在网站主页面里出现,如此就会得到更多的关注。视频排行信息如图6所示。 图6视频排行实体 沈 阳 大 学
课程设计说明书 NO. 7
好的视频如何能被网友顶起,可以通过设置投票系统来实现。在视频播放的版面,有评论区,也有投票版面,每个用户只能投一次,而且所投的票,应与视频编号保存在一个表中,网站还应将所有用户的投票加起来,以实现排名。视频投票信息图如图7所示。 图7 视频投票信息实体 3.3.3数据库逻辑结构设计 设计号数据实体E-R图之后,需要根据实体E-R图设计数据表结构。下面主要给出数据表的数据结构用途。 userRegister(用户注册表)。 用户注册表用于保存用户的注册信息,该表的结构如表1所示: 表1 userRegister表 字段 类型 长度 说明 ID int 4 自动编号 userName varchar 30 用户登录名 userPass varchar 30 用户密码 passQuestion varchar 50 密码提示问题 passAnswer varchar 50 密码提示答案 email varchar 50 Email地址 lock bit 1 是否锁定 lockname varchar 50 锁定原因 videoInfo(视频详细信息表)。 视频详细信息表主要用于保存用户上传的视屏的详细信息。该表的机构如表2所示: 表2 videoInfo 表 字段 ID userName videoTitle videoContent videoDate videoPath videoPicture videoType playSum flower tile monthSum Auditing 类型 int varchar varchar varchar varchar varchar varchar char int int int int int 长度 4 30 30 500 8 50 50 10 4 4 4 4 1 说明 自动编号 用户登录名 视频标题 视频内容 视频发布日期 视频路径 视频图片路径 视频类型 视频点击率 视频顶人数 视频踩人数 视频本月点击率 审核状态 沈 阳 大 学
课程设计说明书 NO. 8
videoIdea(视频评论表)。 视频评论表主要用于保存视频的评论信息。该表的结构如表3所示: 表3 videoIdea表 字段 ID userName content videoId issuanceDate 类型 int varchar text varchar varchar 长度 4 50 16 8 50 说明 自动编号 评论人 评论内容 评论视频的编号 评论时间 videoTaxis(视频排行表)。 视频排行表主要用于保存视频每月的排行信息。该表的结构如表4所示: 表4 videoTaxis 表 字段 videoId videoType videoTitle playSum taxisMonth 类型 int char varchar int char 长度 4 10 50 4 10 说明 视频编号 视频类型 视频名称 视频点击率 视频排行月份 videoPoll (视频投票信息表)。 视频投票信息表主要保存已投票的用户IP和视频ID。该表的结构如表5所示: 表5 videoPoll表 字段 ID IP videoId 类型 int varchar varchar 长度 4 30 4 说明 自动编号 投票者的IP 投票者的视频ID belletin(公告信息表)。 公告信息表主要用于保存公告信息。该表结构如表6所示。 表6 belletin表 字段 ID Title content issuanceDate 类型 int varchar varchar datetime 长度 4 50 100 8 说明 自动编号 公告标题 公告内容 发布日期 3.3.4文件夹组织 为了便清晰本站的设计,在此将网站文件的组织结构展示出来。如图7所示: 3.4 公共类设计 设计公共类,可以提高开发效率以及方便后对程序的维护。对于一个程序员来说,公共类是不可或缺的一部分。在本程序中编写了两个公共类,这两个公共类分别为数据沈 阳 大 学
课程设计说明书 NO. 9
库类operateData和公共方法类operateMethod。数据库操作类主要用于编写对数据库常用的一些操作。公共方法类用于编写在程序中比较常用的方法或易于日后修改的方法。 3.4.1实现添加、删除和更新操作 execSQL()方法用来执行数据表的添加、删除和更新操作,返回一个布尔值用来表示SQl语句是否执行成功。该方法编写在数据库操作类operateData中,调用时需要传入一个string类型参数,该参数为需要执行的SQL语句。实现代码如下: ///
课程设计说明书 NO. 10
sdr.Read(); string tier=sdr[0].ToString(); con.Close(); return tier; } 3.4.3实现返回表中所有数据 自定义getRows()方法用来返回表中的所有数据,该方法返回一个DataTable对象。该方法编写在数据库操作leiperateData中,调用时需要传入1个string类型的参数,该参数为需要执行的SQL语句。实现代码如下: public static DataTable getRows(string sql) { DataSet ds; SqlConnection con = createCon(); con.Open(); SqlDataAdapter sda = new SqlDataAdapter(sql, con); ds = new DataSet(); sda.Fill(ds); con.Close(); return ds.Tables[0]; } ///