播客网课程设计(2)

2018-12-17 12:42

课程设计说明书 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语句。实现代码如下: ///

/// 执行添加、删除和更新数据操作 /// /// /// 返回一个布尔值,表示操作是否成功! public static bool execSql(string sql) { SqlConnection con = createCon(); con.Open(); SqlCommand com = new SqlCommand(sql, con); int Ex=com.ExecuteNonQuery(); con.Close(); if (Ex>0) { return true; }else{ return false; } } 3.4.2实现返回指定列操作 自定义getTier()方法用于返回指定的列的值,编写在dataOperate类中。调用该方法时需要传入一个字符串变量,该变量表示需要执行的SQL语句。该方法编写在数据库操作类中,将返回一个字符串变量,该字符串表示查询出的列值。实现代码如下: /// /// 返回某一个列的值 /// /// /// 返回列值,该值为字符串类型 public static string getTier(string sql) { SqlConnection con = createCon(); con.Open(); SqlCommand com = new SqlCommand(sql, con); SqlDataReader sdr = com.ExecuteReader(); 沈 阳 大 学

课程设计说明书 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]; } ///

/// 查询数据是否在表中存在 /// /// /// 返回int类型大于1表示存在 3.4.4实现用户登陆操作 自定义login()方法用来实现用户登陆查询,主要通过使用SqlCommand.Parameters属性的参数传值讲非法字符过滤掉,来防止SQl注入式攻击。该方法编写在数据库操作operateData中,返回一个布尔值,该值为True时表示登陆成功,为False时则为登录失败。调用该方法时需要传入3个string类型产生,第1个sql参数表示需要执行的SQl语句,第2个name参数表示登陆名,第3个pass参数表示登陆密码。实现代码如下: /// /// 该方法用来实现登录查询 /// /// /// /// /// 返回一个布尔值,true表示登录成功false表示失败 public static bool login(string sql, string name, string pass) { SqlConnection con = createCon(); 沈 阳 大 学


播客网课程设计(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:公司船舶和设备维护保养程序

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: