音乐类别管理功能模块设计.docx
《音乐类别管理功能模块设计.docx》由会员分享,可在线阅读,更多相关《音乐类别管理功能模块设计.docx(38页珍藏版)》请在冰豆网上搜索。
![音乐类别管理功能模块设计.docx](https://file1.bdocx.com/fileroot1/2023-2/21/04cb0751-cf8b-43e3-8e7f-5769b5772c85/04cb0751-cf8b-43e3-8e7f-5769b5772c851.gif)
音乐类别管理功能模块设计
摘要
随着互联网的发展,越来越多的音乐网受到人们的喜爱。
人们可以通过各种音乐网实现在线试听歌曲,下载歌曲,根据需要搜索喜爱的歌曲。
还可以把自己喜欢的歌曲收藏起来。
目前大多数的音乐网站,都提供在线试听,音乐下载,在线交流,音乐收藏等功能。
经过对音乐网的分析,本次毕业设计设计了一个能够满足音乐爱好者基本需求的ASP.NET音乐网。
该设计是采用ASP.NET技术和SQLSERVER数据库设计实现。
该网站的主要功能是实现了前台音乐的浏览、下载、收藏、用户注册、登录,音乐试听、留言等功能。
网站后台实现了音乐管理、用户管理、留言管理、音乐类别管理等功能。
关键词:
音乐网、ASP.NET、SQLServer2005
ABSTRACT
WiththedevelopmentofInternet,moreandmoremusicpopular.Peoplethroughvariousmusiconlineauditionsong,songdownloads,accordingtotheneedtosearchformyfavoritesongs.Alsotheirlovesongcollection.Mostofthemusicsite,offersonlineaudition,musicdownloads,onlinecommunication,musiccollectionsandotherfunctions.Afterthemusicnetworkanalysis,thegraduationdesigntodesignameetthebasicneedsofmusicloversASP.NETmusicnetwork.ThisdesignistheuseofASP.NETtechnologyandSQLSERVERdatabasedesignandimplementation.Thesiteofthemainfunctionistoachievetheforegroundmusicbrowsing,download,collection,userregistration,login,music,messagesandotherfunctions.Thebackgroundofthewebsiterealizesthemusicmanagement,usermanagement,messagemanagement,musiccategorymanagementandotherfunctions.
Keywords:
Themusic、ASP.NET、SQLServer2005
第一章绪论
随着互联网的发展,越来越多的音乐网受到人们的喜爱。
人们可以通过各种音乐网实现在线试听歌曲,下载歌曲,根据需要搜索喜爱的歌曲。
还可以把自己喜欢的歌曲收藏起来。
目前大多数的音乐网站,都提供在线试听,音乐下载,在线交流,音乐收藏等功能。
经过对音乐网的分析,本次毕业设计设计了一个能够满足音乐爱好者基本需求的ASP.NET音乐网。
该设计是采用ASP.NET技术和SQLSERVER数据库设计实现。
该网站的主要功能是实现了前台音乐的浏览、下载、收藏、用户注册、登录,音乐试听、留言等功能。
网站后台实现了音乐管理、用户管理、留言管理、音乐类别管理等功能。
虽然该网站的功能还不够强大,还需要进一步的完善。
但是音乐网的基本功能都以实现,能够满足一般用户的需要。
第二章系统环境分析
2.1ASP.NET相关知识简介
ASP.NET是一个已编译的、基于.NET的环境,可以用任何与.NET兼容的语言(包括VisualBasic、.NET、C#和JScript.NET)创作应用程序。
另外,任何ASP.NET应用程序都可以使用整个.NET框架,首先为了对.NET开发框架有一个整体的认识,请参阅图2.1所示:
图2.1VisualStudio.NET开发框架示意图
ASP.NET可以协调地WYSIWYGHTML编辑器和其他编程工具(包括MicrosoftVisualStudio.NET)一起工作。
这不仅使得Web开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以将服务器控件拖到Web页用来GUI和完全集成的调试支持。
.NET框架包含两个用于访问企业数据库的数据提供程序:
OLEDB.NET数据提供程序和SQLServer.NET数据提供程序。
本系统是使用SQLServer.NET数据提供程序来访问SQLServer。
具体访问过程大致为:
●用SqlConnection类创建一个数据库连接;
●使用SqlDataAdapter类从数据库中选择一组记录;
●使用SqlDataAdapter类填充新的DataSet;
如果您正在从数据库中选择仅用于非交互显示的数据,为了获得最佳性能,建议使用只读、只进的SqlDataReader(或对于非SQL数据库使用OleDbDataReader)。
当使用SqlDataReader时,请使用SqlCommand查询选择记录,并创建一个从SqlCommand对象的ExecuteReader方法返回的SqlDataReader,在某些情况下(例如当需要对一组数据进行排序或筛选时),也可能需要基于DataSet为所需表创建一个新的DataView。
将服务器控件(如DataGrid)绑定到DataSet、SqlDataReader或DataView。
.NET框架包含三个便于显示大量数据的控件:
Repeater控件、DataList控件和DataGrid控件。
这三个控件都使用相似的数据绑定过程。
ASP.NET提供一种简单的模型,该模型使Web开发人员能够编写在应用程序级运行的逻辑。
开发人员可以在Global.asax文本文件或在作为程序集部署的已编译的类中编写这种代码。
这种逻辑可以包括应用程序级事件,但开发人员可以轻松地扩展这种模型,以适应Web应用程序的需要。
Global.asax文件是一个可选的包含响应应用程序级事件的文件,运行时Global.asax文件被ASP.NET自动地解析并动态编译成为自HttpApplication派生的动态.NET框架类,当位于application名字空间内的任意资源或URL被首次访问时它被创建。
Global.asax被自动配置为禁止直接通过URL访问,这样外部使用者就不可能下载或查看到Global.asax文件的代码;并且Global.asax文件是可选的,如果没有定义Global.asax文件,ASP.NET将不打算处理任何Application或Session事件。
当改变一个正在运行的ASP.NETWeb应用的Global.asax文件时ASP.NET将检测到这种改变,并向任何收听者发送Application_OnEnd事件,然后重新启动Web应用程序,关闭并清空所有的浏览器Session。
当下一个对Web应用程序的请求到来时,Global.asax将重新解释和编译,并且触发Application_OnStart事件。
ASP.NET提供易用的应用程序和会话状态功能,它们对于ASP开发人员来说是熟悉的,且容易与所有其他.NET框架API兼容。
关于Application和Session对象的详细介绍如下:
可以通过Application状态,在不同的Web窗体中共享一些全局的应用程序信息,并且支持对用户同时访问。
应用Application状态时,以下几点对应用Application状态很重要。
使用Application状态后,内存将被存储的变量一直占用,直到这个变量被清除后或重新赋值,不像单独的Web页面,在单独的Web页面中,所有的资源在客户的请求结束后就自动被清除了。
所以记住,不要在Application状态中储存超过10M的数据,尽管可以这么做,但这并不是合理使用资源的方法。
储存在Application状态中的信息可以被多个线程同时访问,为了避免发生问题,要时刻注意多线程问题,避免发生死锁。
当一个全局的公用Application状态可以被客户修改时,注意使用Lock和Unlock方法保护数据。
Application状态信息不能在Web农场(位于不同Server上的不同Web应用程序)或Web花园(位于相同Server上的不同Web应用程序)范围内共享。
只有在一个Web应用程序中的不同Web窗体里才能被共享和访问。
HTTP协议是无状态协议这意味着无法判断一系列的客户请求是否来自相同的客户。
ASP.NET的Session状态提供这样一种能力,自动地判别来自相同客户端的请求,并将客户端看成是逻辑上位于Server的对象。
在客户端浏览器经过一定的时间没有再来访问Web应用程序时,自动清除Session对象,释放此Session状态所有保存信息所占用的资源。
2.2ASP.NET与ASP
ASP.NET不是ASP((ActiveServePages))的简单升级,而是微软公司的新的体系(.NET)的一部分,其中全新的技术架构会让每个人的编程生活变得更简单。
ASP.NET是在抓住ASP的最大优点并全力使其扩大化的基础上开发出来的,并且同时也修复了许多ASP运行时会发生的错误。
那么ASP.NET对于ASP来说有什么突破呢?
首先,运行机制不同。
ASP属于一种解释型的编程框架,它的核心是VBScript和JScript,受这两种脚本语言的限制,决定了ASP先天不足,它无法进行像传统编程语言那样的底层操作,所以如果需要进行一些如socket、文件等的操作时不得不借助其他传统编程语言如C++、VB、Java等编写的组件,并且由于它是解释执行的,所以在运行效率上大打折扣。
而ASP.NET是一种编译型的编程框架,它的核心是NGWSruntime,可以用VB和C#来编写,这就决定了它功能的强大,可以进行很多底层操作而不必借助于其他编程语言。
另外由于它是编译后执行的,所以执行效率要比ASP高得多。
以下几点可使大家对ASP.NET和ASP有一个更全面的了解。
2.2.1ASP.NET的优势
ASP.NET使代码更加干净。
现有的ASP应用程序结构总是充满了长长短短的代码。
而ASP.NET的代码不仅更容易编写,而且更加干净整洁,比ASP更易于阅读。
同时,ASP.NET代码的结构方式提高了其再利用性和共享性。
ASP能使用非结构语言编写,如VBScript和JScript(如果用其他语言还需要单独的解释器)。
而且当ASP在第一次执行时,它解释并在cache中存储这些代码,这样的局限性就是不允许其他结构性语言(如VB和C++)的使用,从而限制了它们的优越性。
而ASP.NET真正提供了中层语言执行结构,允许各种语言的使用。
虽然使用HTML文本,对象混合的ASP很容易建立一个大型的页面,但是很难重复利用这些代码,除非把一些代码放在一个include文件中,这也不是最好的解决方法。
但是ASP.NET真正允许了单独的代码与内容共存。
另外,在ASP中必须为几乎每件事情编写代码。
如今在ASP.NET中引用了一种真正的组件模式,通过这种服务器端的控件以及事件触发,感觉就好像是在操作VB中的FORM。
这种ASP.NET中的新组件控制是宣告性质的,因此实际上只需写很少的代码,甚至完全不用写任何的代码。
2.2.2ASP.NET的改进
对于简单的ASP应用程序,配置其实并不算什么问题,但是如果要移植到一个利用组件的N层结中时往往会遇到问题。
而当对这些应用程序进行配置和维护时,DDL陷阱问题(组件注册、版本、锁定的DDL)就会出现。
ASP.NET中则取消了组件注册以及DDL锁定,全面使用了XML配置文件,从而解决了这个问题。
这样只需要执行简单的复制文件的工作就能配置一个Web应用程序。
2.2.3ASP.NET支持各种浏览器
对于ASP开发人员来说,浏览器兼容问题本来就是一个永恒的问题,对于Web程序员来说最大的挑战就是不断变化的浏览器的兼容性以及它们不断升级的复杂性。
在保证能在所有浏览器下工作的同时,又得尽量地使用每个浏览器最新属性来建立更加具有交互式的页面,这对于ASP来说,要实现这个目的很难。
ASP.NET引入了一个新的服务控制的概念,它封装了一些普通的任务,提供了一种清晰的编程模块,从而完成了帮助管理处理不同的用户类型的任务,动态地对不同的用户生成不同的输出,解决了浏览器兼容性问题。
2.2.4ASP.NET的更新
目前的Web应用程序通常都是同一种模式:
一套线性应用程序,然后将逻辑植入其中之一。
ASP.NET允许开发人员打破这种单一模式,创造出更加动态而且伸缩性更强的应用程序,这种应用程序能够更好地满足公司的商业需求,并提供一个更加丰富的开发环境。
总之用ASP.NET进行开发要简单的多。
它提供稳定的性能、优秀的升级性、更快速更简便的开发和管理方式、全新的语言及网络服务。
在开发Web应用中更加易于写出结构清晰的代码,而且代码易于重用和共享,还可编译类语言编写等,极大满足了计算向Web转移的战略方向的需要,为程序员提供了更多新的开发机会。
作为微软公司开创新局面的战略产品,在使用ASP.NET时,只需将精力集中在如何完善项目的方案上,而不用将精力再放在建立基础结构上了。
因为ASP.NET已经做好了充分的基础架构,大部分不重要的工作也将由系统帮助完成,当然也可以自己处理或者不按系统的默认方式来处理。
第三章需求分析及整体设计
3.1功能需求
本网站主要是通过运用ASP.NET和SQLServer技术实现ASP.MET音乐网的整体设计,本网站的主要实现以下功能:
1.网站用户:
主要执行页面浏览、注册登录、歌曲下载、歌曲收藏、在线试听、留言交流。
2.管理员:
音乐管理、用户管理、类别管理、新闻管理、管理员管理、留言管理。
3.2系统使用者权限
3.2.1系统管理员
统管理员通过管理员登录页面,在输入帐号、密码后,经系统验证正确后可进入系统管理界面。
系统管理员便可管理用户信息、音乐信息、类别信息、新闻信息、留言信息;系统管理员也可进入系统管理员密码修改页面,修改自己的密码。
3.3网站功能模块图
ASP.MET音乐网分为管理员和网站用户模块。
ASP.MET音乐网功能模块如下图3.1所示:
图3.1系统功能模块图
第四章数据库设计
经过对本网站的功能分析,根据具体的需要,该网站利用SQLServer2005设计了管理员信息表、类别信息表、音乐信息表、收藏信息表、用户信息表、新闻信息表、留言信息表、回复信息表。
各个别的具体字段及详细设计如下:
表名:
tb_admin管理员信息表
序号
列名
数据类型
长度
小数位
标识
主键
外键
允许空
默认值
说明
1
id
int
4
0
是
是
否
2
user
nvarchar
50
0
是
3
pwd
nvarchar
50
0
是
表名:
tb_boardInfo留言信息表
序号
列名
数据类型
长度
小数位
标识
主键
外键
允许空
默认值
说明
1
id
int
4
0
是
是
否
2
title
nvarchar
50
0
是
留言标题
3
content
nvarchar
0
0
是
留言内容
4
user
nvarchar
50
0
是
留言人帐号
5
date
datetime
8
3
是
getdate
时间
表名:
tb_feedbackInfo回复信息表
序号
列名
数据类型
长度
小数位
标识
主键
外键
允许空
默认值
说明
1
id
int
4
0
是
是
否
2
bid
int
4
0
是
留言id
3
content
nvarchar
0
0
是
回复内容
4
date
datetime
8
3
是
getdate
回复时间
5
adminuser
nvarchar
50
0
是
管理员帐号
表名:
tb_musicCollect收藏信息表
序号
列名
数据类型
长度
小数位
标识
主键
外键
允许空
默认值
说明
1
id
int
4
0
是
是
否
2
musicType
int
4
0
是
3
specialName
nvarchar
50
0
是
4
musicName
nvarchar
50
0
是
5
musicPath
nvarchar
50
0
是
7
singerName
nvarchar
50
0
是
8
auditionSum
nvarchar
50
0
是
9
downSum
nvarchar
50
0
是
10
fileSize
nvarchar
50
0
是
11
user
nvarchar
50
0
是
表名:
tb_musicInfo音乐信息表
序号
列名
数据类型
长度
小数位
标识
主键
外键
允许空
默认值
说明
1
id
int
4
0
是
否
编号
2
musicType
int
4
0
是
歌曲类型
3
specialName
nvarchar
50
0
是
专辑名称
4
musicName
nvarchar
50
0
是
歌曲名称
5
musicPath
nvarchar
50
0
是
歌曲路径
7
singerName
nvarchar
50
0
是
歌手姓名
8
auditionSum
int
4
0
是
0
试听次数
9
downSum
int
4
0
是
0
下载次数
10
fileSize
nvarchar
50
0
是
文件大小
11
recom
nvarchar
50
0
是
表名:
tb_musicNews音乐新闻表
序号
列名
数据类型
长度
小数位
标识
主键
外键
允许空
默认值
说明
1
id
int
4
0
是
是
否
编号
2
title
nvarchar
50
0
是
标题
3
content
nvarchar
0
0
是
内容
4
date
datetime
8
3
是
getdate
时间
表名:
tb_musicType音乐类别表
序号
列名
数据类型
长度
小数位
标识
主键
外键
允许空
默认值
说明
1
id
int
4
0
是
是
否
2
musictype
nvarchar
50
0
是
表名:
tb_userInfo用户信息表
序号
列名
数据类型
长度
小数位
标识
主键
外键
允许空
默认值
说明
1
id
int
4
0
是
是
否
2
user
nvarchar
50
0
是
帐号
3
pwd
nvarchar
50
0
是
密码
第五章详细设计及功能实现
本网站主要是通过网络平台,运用ASP.NET和SQLServer技术实现ASP.NET音乐网的基本功能。
该网站设计主要分为前台功能模块,和后台功能模块。
前台主要是针对广大音乐用户,后台主要是管理员对整个网站进行管理。
5.1前台功能模块介绍
前台用户主要针对广大音乐需求用户。
网站用户未在该网站进行注册登录的时,只能在该网站浏览相关信息,不能进行其他操作。
如果用户想要在该网站留言、收藏歌曲,必须先进行注册登录。
5.2登录注册界面设计
用户在进行相关权限执行之前,必须在网站上进行注册,注册登录成功之后,网站系统根据用户的登录,进行相关页面的跳转,然后用户可以执行相关权限。
登录注册页面设计效果如下:
图5.1用户注册界面
功能代码:
//判断GridView控件中是否拥有选择的复选框
protectedboolisCheck(GridViewgv)
{
boolc=false;
//遍历GridView控件
foreach(GridViewRowgvringv.Rows)
{
//判断复选框状态是否选中
if(((CheckBox)gvr.FindControl("CheckBox1")).Checked)
{
c=true;
break;
}
}
returnc;
}
protectedvoidButton1_Click(objectsender,EventArgse)
{
if(!
DB.isExists("select*fromtb_userInfowhere[user]='"+txt_name.Text.ToString().Trim()+"'"))
{
stringpwd=FormsAuthentication.HashPasswordForStoringInConfigFile(txt_pwd.Text.Trim(),"SHA1");
DB.ExecuteSql("insertintotb_userInfo([user],[pwd])values('"+txt_name.Text.ToString().Trim()+"','"+pwd+"')");
Common.ShowMessage(Page,"注册成功!
","");
}
else
{
Common.ShowMessage(Page,"用户已存在!
","");
}
}
图5.2用户登录界面
功能代码:
//判断GridView控件中是否拥有选择的复选框
protectedboolisCheck(GridViewgv)
{