1、 毕业设计 (论文 ) 题 目 : 基于 ASP 的在线点歌系统 的设计与实现 院 系: 计算 机与 通信学院 专 业: 计算机科学与技术 学生姓名: 学 号: 指导教师: 一 应用 背景 在线点歌是近年来新兴的传媒方式,该技术是计算机技术,网络通信技术,多媒体技术等多学科,多领域融合交叉结合的产物。在线点歌系统使人们可以根据自己的兴趣在计算机或者电视上 自由的点播节目库中的歌曲和信息。也可以将自己点播的歌曲送给自己的朋友。 在线点歌系统主要有以下功能: 1, 歌曲做到分类显示 2, 歌曲分类查询 3, 歌曲在线试听及下载 4, 将喜欢的歌曲直接发送给好友 5, 系统支持尽量多的音乐格式 二
2、系统设计 1, 系统构架 在点歌系统采用从数据层到应用层,最后到用户接口层进行设计。系统总体构架如下图所示。 设计数据服务 配置系统信息 应用层 用户接口层 数据层 2, 系统功能模块设计 系统主要功能如下: 1:歌曲在线试听及下载 2: 将喜欢的歌曲直接发送给好友 3:系统支持多种音乐格式 系统主要分为两大模块,如下图 1. 用户类型 系统用户分为两类:普通类用户和管理类用户。普通类用户可以对歌曲进行查询,试听,点播等操作。可以为别人在线点播歌曲。管理员用户在普通类用户 权限上增加后台歌曲管理功能,可以对歌曲进行添加,删除,修改等操作。 2. 后台论坛管理模块 此模块只对超级管理员用户开放。
3、管理员用户可以对后台歌曲管理进行修改,可以对歌曲的名称,分类,歌手名称,地址等信息进行修改,也可以对歌曲进行增加和删除。 3.前台论坛管理模块 此模块对所有用户开放。可以按照分类对歌曲进行各项权限范围内的操作。 在线点歌系统 前台点歌 系统 后台管理系统 试听歌曲 点播歌曲 查询歌曲 删除歌曲 添加歌曲 修改歌曲 填写点歌卡 预览点歌 修改点歌卡 送出歌曲 3 系统主要工作流程 1 在线点歌系统前台管理模块 在线点歌系统 前台管理程序流程图,如下: 2. 在线点歌系统后台模块 在线点歌系统后台管理程序流程图,如下 : 前台点歌系统首页 index.asp 试听歌曲 replay.asp 或pl
4、ay.asp 查询歌曲 Search.asp 点播歌曲 填写点歌卡 Write.asp 预览点歌 Addcard.asp 修改点歌卡 Write.asp 送出歌曲 Jmail.asp 后台管理系统 登录页面 login.asp 校验用户 .密码名是否正确 后台管理系统 Manage.asp 删除歌曲 delete.asp 修改歌曲 edit.asp 添加歌曲 addarticle.asp 4 数据库的分析与设计 本次开发的数据库包括 5 个数据表:点歌信息数据表,点歌网站基本信息,管理员基本信息,歌曲基本信息,歌曲分类基本信息。 本系统将使用 SQL Server2000 作为数据库管理系统。
5、安装 SQL Server2000,打开企业管理器,新建一个数据库,将其命名为 dg。 dg数据库中包含的数据表及其相应功能如下表: 数据表 功能 Data 存放点歌信息 Home 存放网站基本信息 Password 存放管理员基本信息 Learning 存放歌曲基本信息 Type 存放歌曲分类信息 dg 数据库包含的数据表及其功能 1. 点歌信息表 data 点歌信息表用于存放校友录内设置的班级信息,包括点歌编号 ( id),点歌人姓名( name),歌曲地址( picture),收歌人姓名( toname),收歌人 Email 地址( mail),点歌人地址( replyto),加入时间(
6、 addtime),密码( pass),祝福( message) 9 个字段, 在已创建的 SQL Server 数据库中,右击表创建一个表,名为 data,向表中添加字段。其中, id(点歌编号)字段作为该表的主关键字,标识为“是”,标识种子为“ 1”,标识增量为“ 1”,唯一标识了一个点歌信息。点歌信息表结构如下表: 字段名 数据类型及长度 说 明 备 注 id int 点歌编号 允许为空 myname nvarchar(50) 点歌人姓名 允许为空 picture nvarchar(100) 歌曲地址 允许为空 toname nvarchar(50) 收歌人姓名 允许为空 mail nv
7、archar(50) 收歌人 Email 地址 允许为空 replyto nvarchar(50) 点歌人 Email 地址 允许为空 addtime smalldatetime 加入时间 允许为空 pass nvarchar(50) 密码 允许为空 message ntext 祝福 允许为空 2. 网站基本信息表 home 网站基本信息表用于存放网站基本信息,包括网站名称( home),每页最多歌曲数( duo)两个字段。网站基本信息表结构如下: home 字段名 数据类型及长度 说 明 备 注 home nvarchar( 255) 网站名称 主关键字 duo int 每页最多歌曲数 允许
8、为空 3 管理员信息表 password 管理员信息表用于存放管理员账号,密码信息,包括编号( id),账号( adminname),密码( password), 3 个字段。其中, id(编号) 字段作为该表的主关键字,标识为“是”,标识种子为“ 1”,标识增量为“ 1”,唯一标识了一个管理员的信息。管理员信息表结构如下: 字段名 数据类型及长度 说 明 备 注 id int 编号 主关键字 adminname nvarchar(50) 账号 不能为空 password nvarchar(50) 密码 不能为空 4. 歌曲基本信息表 learning 歌曲基本信息表用于存放歌曲名称,地址等基
9、本信息,包括歌曲编号,点击数,歌曲地址, 加入时间,歌曲名称,歌手 6 个字段。其中,歌曲编号作为主关键字,标识为“是”,标识种子为“ 1”,标识增量为“ 1”,唯一标识了一个歌曲信息。点击数字段默认值 为“ 0”。歌曲基本信息表如下: learning 字段名 数据类型及长度 说 明 备 注 articleid int 歌曲编号 主关键字 hits int 点击数 允许为空 images1 nvarchar(255) 歌曲地址 允许为空 dateandtime smalldatetime 加入时间 允许为空 title nvarchar(255) 歌曲名称 允许为空 singer nvarc
10、har(50) 歌手 允许为空 5 歌曲分类信息表 type 歌曲分类信息表主要用于存放歌曲分类信息,包括分类编号,歌曲分类名称两个字段,其中分类编号作为主关键字,标识为“是”,标识种子为“ 1”,标识增量为“ 1”, 唯一标识了一个歌曲分类信息,歌曲分类信息表结构如下: type 字 段 名 数据类型及长度 说 明 备 注 typeid int 分类编号 主关键字 type nvarchar(255) 歌曲分类名称 允许为空 点歌信息表 data 中的歌曲地址字段 picture 与歌曲基本信息表 learning 歌曲地址字段存在着对应关系。即 picture 字段的值必定在歌曲基本信息表
11、 learning 中 images1 字段中存在。反之,歌曲基本信息表 learning 中 images1 字段中的值不一定在 picture 字段中存在。 4 IIS 配置 与 SQL Server 数据库连接 1.IIS 配置 IIS 是 internet information server 的缩写, 是微软提供的 internet 服务器软件,包括 web,FTP, Mail等服务器。 IIS 是 Windows 操作系统自带的组件,如果在安装操作系统时没有安装 IIS,则应手动安装,安装步骤如下: ( 1) 打开控制面板窗口,双击添加或删除程序图标,运行添加或删除程序窗口。 (
12、2) 选择添加或删除程序窗口内添加 /删除 Windows 组件选项,弹出 Windows 组件向导对话框。 ( 3) 选中 internet 信息服务( IIS) 复选框,单击下一步,执行操作。 IIS 安装完毕,接下来就是要对系统进行新建虚拟目录操作 : a:打开控制面板,双击管理工具图标,进入管理工具窗口。 b:双击 internet 服务管理器,进入 internet 信息服务窗口。 c:单击操作目录,选择下拉菜单新建虚拟目录命令。 d:弹出欢迎窗口,单击下一步按钮。 e:在别名文本框中输入映射后的名字,单击下一步。 f:在目录文本框中输入要映射的目录,单击下一步,进入设置访问权限设置
13、窗口。 g:在这里选择正确的访问权限,再单击下一步,即完成设置。 ( 4) 删除映射的方法:打开 internet 信息服务窗口,在虚拟目录别名上单击鼠标右键,选择删除命令即可。 2创建 SQL Server 数据库 打开 SQLServer 的企业管理器窗口,右击数据库分支,弹出右击目录,选择新建数据库命令,弹出数据库属性窗口,在名称文本框内输入 zxdg,单击确定按钮,完成创建。 按照要求建好数据库后,需要建立网站页面与后台服务器的链接,页面名称为articleconn.asp。以后当需要对程序中的数据库进行操作时,只需要用 命令 就可以直接调用该程序打开数据库,提高程序可读性,同时也提高
14、了程序的便捷性。代码如下: 5 在线点歌系统前台 1.系统首页页面 系统首页页面分为上下两部分组成。顶部为图片,中间显示网站主要信 息。中间分左右两部分:左侧上部为歌曲查询,提供查询入口,中间为歌曲类别按钮,单击按钮右侧歌曲名称根据类别分类显示,下方点播歌曲公告栏,循环显示已经发送的歌曲信息,最下方为试听歌曲软件下载。右侧为歌曲名称列表。 系统首页页面代码如下: a:创建过 程检查是否输入查询内容 创建过程 checkinput 检查检查是否输入查询内容。代码如下: /使用 JavaScript 语言 2.判断跳转页面 判断输入跳转页面是否为空,如果为空,则默认跳转到第一页。代码如下: % d
15、im rs 定义变量 MaxPerPage=rs( ”duo”) 定义每页最大歌曲数 dim totalPut dim CurrentPage dim TotalPages dim i,j dim typename dim ty 如果提交 page 返回变量不为空,则当前页变量 currentPage 等于提交变量 page的值。否则当前页变量 currentPage 等于 1 if not isempty(request(“page”)then currentPage=cint(request(“page”) else currentPage=1 end if dim rstype dim
16、typesql dim typeid typename1 3.查询歌曲 按照歌曲类型查询不同类型的歌曲。代码如下 : 如果提交变量 typeid 不为空,则歌曲类型变量 typeid 等于下拉列表框 typeid 的值,否则等于 0 if not isEmpty(request(“typeid”)then typeid=request(“typeid”) else typeid=0 end if dim sql 如果变量 typeid 等于 0 即显示全部歌曲,则变量等于查询歌曲信息表 learning 中歌曲类型编号字段 typeid 与歌曲类信息表 type 中歌曲类型编号字段 typei
17、d 值相等的记录行,并按照歌曲编号降序排列 if typeid=0 then sql=”selectlearning.*,type.typefromlearning,typewherelearning.typeid=type.typeid order by learning.articleid desc” else 如果变量 typeid 不为 0,则查询歌曲信息表 learning 中歌曲类型编号字段 typeid 与歌曲类信息表 type 中歌曲类型编号字段 typeid 的值相等,且等于变量 typeid,并按照歌曲编号降序排列 sql=”selectlearning.*,type.typefrom learning,type where learning.typeid=type.typeid and learning.typeid=”&typeid&”oder by learning.articleid desc” end if Set rs=Server.CreateObiect(“adodb.recordset”) 定义一个 recordset Rs.open sql,conn,1,1 4 分页显示歌曲曲目 如果查询歌曲记录为空,则输出提示,不为空则分页显示歌曲曲目。代码如下: