《-小明音乐库管理系统课件05第5章PPT内容-.docx》由会员分享,可在线阅读,更多相关《-小明音乐库管理系统课件05第5章PPT内容-.docx(8页珍藏版)》请在第壹文秘上搜索。
1、“小明音乐库管理系统课件05第5章PPT内容”1、小明音乐库管理系统第5章实现前台页面学习目标了解数据库引擎和ADO.NET的作用。把握组装SQL语句的技巧。理解连接字符串的作用,把握通过DbConnection对象连接数据库的方法。了解trycatchfinally的特别处理在数据库访问中的应用。理解DbCommand对象执行SQL语句的三种方法以及使用场合。把握使用DataReader对象的标准步骤。了解SELECT语句中使用TOP参数限制猎取记录的数量。基本把握使用数据库中的数据动态组装HTML代码的技巧。把握查找功能的实现方法,理解ASP.NET大事,深刻理解回发(Postback)的
2、概念。把握ASRNET控件LabeI、Text2、BOX和Button的使用。了解如何使用面对对象编程方法,避开重复书写相同代码片段。了解网站发布的平安性问题。应用程序使用SQL语言的基本模式将命令发送给DBMS,然后猎取DBMS返回的结果如何查找DBMS?如何发送命令?如何猎取返回的数据?怎么知道这个数据是发给哪个程序(进程)的?是对哪条命令的回复?DBMS怎么知道应用程序是不是合法的数据库访问者?ADO.NET数据库引擎一组对象通过对象的属性和方法完成和DBMS之间的通信返回结果数据的提取5.1连接数据库ADO.NET数据库连接对象名称名称命名空间命名空间描述描述SqlConnection
3、System.Data.SqICIient表3、示连接SQLServer的连接对象OIeDbConneCtiOnSystem.Data.OIeDb表示连接OIeDb数据源的连接对象OdbcconnectionSystemQataQdbc表示连接ODBC数据源的连接对象OraCIeCOnneCtiOnSystem.Data.OracIeCIient表示连接Orale数据库的连接对象不同的DBMS对应着不同数据库连接(ConneetiOn)对象类,但它们都继承自DbConnection这个抽象基类,具有相同的使用的方法LConection对象基本使用过程定义连接字符串。创建连接对象。建立连接。通过
4、连接完成一项或多项数据库操作4、。断开连接。释放连接对象。2.连接字符串数据源连接对象可以连接不同的DBMS可以连接一些简洁的文件型数据库,如Excek特定格式的文本文件不同的DBMS或文件型数据库叫做数据源连接字符串,告知AD0.NET数据源在哪里,需要什么样的数据格式,供应什么样的访问信任级别以及其他任何包括连接的相关信息keyl=valuel;key2=value2;key3=value3.DbconnectionStringBuiIderWeb.cOnfig配置文件3.建立和断开连接连接对象的OPeno方法,使用连接字符串所指定的设置建立和数据库的连接完成数据库操作后,应当准时调用连接
5、对象的QoSeo方法断5、开连接否则DBMS会始终等待应用程序发送SQL语句,占用DBMS的资源假如长时间不通过连接使用数据库,连接可能被自动断开开发人员应当养成每次使用前建立连接,使用后断开连接的良好编程习惯连接对象的创建和释放可相对提前或延迟可以在程序运行一开头就建立连接对象等到应用程序被关闭时才释放连接对象Page_Load()垃圾回收机制5.2修改首页布局1.布局调整用控件替换原来的静态内容/HTML表单元素2.生成分类列表将生成音乐分类列表的代码封装成页面类的一个私有方法BuiIdCategoryListO(源代码)trytrycatchcatchfinallyfinally的特别捕
6、获机制3.数据库6、连接的处理数据库连接对象dbConn,这是页面类的自定义属性(ProPerty)名称名称命名空间命名空间描述描述SqicommandSystem,Data.SqICIient表示操作SQLServer的命令对象OIeDbCOmmandSyStem.Data.OIeDb表示操作OIeDb数据源的命令对象OdbcCommandSystemQataQdbc表示操作ODBC数据源的命令对象OraCIeCommandSyStem.Data.OracIeCIient表示操作Orale数据库的命令对象4.数据库命令对象Connection对象只供应了应用程序和DBMS之间的通道,实际发送
7、SQL语7、句并取得结果的对象是数据库命令对象不同类型的数据源对于SQL的处理和返回结果的格式也有所不同,需要使用不同的数据库命令对象类,但它们都是DbCommand抽象基类的子类执行SQL命令给DbCommand对象设置命令和连接对象并不会导致SQL命令的发送和处理真正执行SQL命令需要调用DbCOmmand对象的执行(Excute)方法执行方法执行方法返回结果返回结果描述描述EXCUteReadero返回类型为DataReader,值为向前只读记录集。用于执行SELECT语句或其他返回结果集的SQL语句。EXCUteNOnQUeryo返回类型为int,值为影响的记录数。用于执行DDL类的S
8、QL8、语句或其他结果集的SQL语句。EXCUteSCalar()返回类型为ObjeC3值为结果表的第一行的第一列,忽视其他列或行。用于猎取只有一个返回值的查询结果。5.DataReader对象向前只读记录集“向前指只能读取下一行,无法退回去读取前面的记录“只读指只能从记录集读取数据,无法写入或修改数据使用弱类型数据猎取方法:drl,drID,ObjeCt使用强类型数据猎取方法:GetXXX(D方法,ClnGetstring(I)FieIcICount属性:猎取当前行中的列数HasRows属性:返回一个规律值,指示DataReader对象读取的记录集中是否存在行ISDBNUll(i)方法:判9
9、、断当前行第i个字段的数据库值是否为NULL(协作GetXXX()方法)ClOSeo方法:DataReader对象打开后会始终占用对应DbCommand对象的数据库连接5.3实现首页音乐列表1.默认音乐列表音乐资料列表的输出涉及多个字段,因此使用表格输出,相应的BUildMUSiCLiSt()方法:源代码为了让BUildMUSiCLiSt()方法同时适用于初始默认10个最新音乐资料的显示和快速查找结果的显示,方法使用参数sql来传递不同的SQL语句在Page_Load()方法中使用BUildMUSiCLiSt()方法构造默认音乐列表2.快速查找列表文本框控件,ID属性值tbKey,tb10、K
10、eyText单击查找按钮扫瞄器将带有表单数据的恳求发送到服务器ASRNET分析Reqeust对象中的数据发觉单击了ID属性值为btQuickSeek的按钮ASP.NET在执行完PagJLOad()方法后去执行按钮绑定的单击大事处理方法留意:ASP.NET的大事处理全部发生在服务器端不是大事在客户端触发时进行的处理每次大事的触发都需要将恳求发送给服务端页面回发(PostBack),btQuickSeek-Click()方法VS中打开设计页面,双击HQuickSeek查找按钮VS自动生成大事绑定代码在后台页面类代码中自动增加一个名为btQuickSeek_Click()的方法11、5.4实现动态音
11、乐列表拼接音乐分类导航项时,使用了这样的超链接,因此当小明单击音乐分类导航项时,扫瞄器会发出恳求MusicList.aspx这个页面,同时使用GET方法通过URL传递cat参数,其值为对应音乐分类的ID属性值L页面布局在MPMM网站项目下新建一个ASP.NET页面MusicList.aspx负责提取cat参数的值,猎取指定音乐分类中全部音乐资料并展现出来页面布局的设计保留首页的页首(LogO和导航)、页脚(版权)中间的内容替换成了完整的音乐资料列表2.定义通用工具类后台代码基本上和BuiIdMusicListO方法代码相同将BUildMUSiCLiSt()方法代码挪到12、一个通用工具类中增加
12、数据库连接对象和Literal对象的参数非页面代码应当放在App,Code文件夹中右键单击解决方案,选择添加ASP.NET文件夹命令创建类文件,名称CommonTools.cs将CommonTooIs类修改成静态类改造Default.aspx.cs中的BuiIdMusicListO方法COmmonToOlS.BuildMusicList(sql,dbConnJitMusicList);/构造默认音乐歹J表3.数据库页面基类每个访问数据库的页面都需要使用数据库连接对象考虑利用OoP的继承机制把数据库连接对象放到一个自定义页面基类中然后让全部需要用到数据库连接对象的13、页面类都继承这个基类MPM
13、M中,在App_Code文件夹中新建一个名为DbPage的类,继承自System.Web.ULPage类修改dbConn属性的爱护级别为Protected,否则DbPage类的子类无法访问这个属性4.实现页面publicpartialclass.Default:DbPage4.实现页面publicpartialclass_Default:DbPage5.5实现动态具体资料页音乐资料列表中每件音乐资料的名称是一个超链接,链接到Music.aspx页面,同时通过URL传递id参数,其值为对应音乐资料的ID字段值1.页面布局Music.aspx页面用14、来显示音乐资料的具体信息布局直接使用第2章中
14、的静态具体资料页面将其中的静态文本都替换成对应的ASP.NET控件页面代码Label控件显示一般文本Image控件显示图片HyPerLink控件显示超链接Literal控件显示音乐播放器Music.aspx页面用来显示音乐资料的具体信息,其布局可以直接使用第2章中的静态具体资料页面,将其中的静态文本都替换成对应的ASP.NET控件2.显示具体资料显示音乐资料具体信息的后台代码Music页面类继承DbPage自定义页面基类GetXXX()方法来读取DataReader对象返回的数据,对于值可能为NULL的字段先用ISDBNUl1()方法推断是否为空15、,假如为空,则值用空串代替。只猎取一条记录
15、,所以用if(dr.Read()而不是While(dr.Read()猎取音乐资料和音乐分类的不同SQL语句,使用同一个DbCommand对象执行5.6发布MPMM网站完成开发,使用VS调试通过后,可以根据第2章中发布网站的方法,将新的MPMM网站发布到IIS中,但可能会消失无法访问数据库的错误完成开发,使用VS调试通过后,可以根据第2章中发布网站的方法,将新的MPMM网站发布到IIS中,但可能会消失无法访问数据库的错误集成身份验证模式MPMM的数据库连接选择使用Windows身份验证的模式,也就是集成身份认证模式所谓集成身份验证模式,指直接16、用运行应用程序的Windows账号作为访问SQL
16、Server的账号在VS中调试网站时,这个账号就是当前登录到Windows中的用户账号,通常是Windows管理员账户,一般也是开发人员安装SSE的账号SQLServer默认已经把上述Windows的管理员账户添加到了数据库系统中,而且设置为DBMS的管理员而Web服务器会默认以一个Windows内置账户来运行,该账户默认无权访问SQLServer解决Web服务器默认账号权限问题例如修改连接字符串,用SQLServer身份认证方法,此时需要对SQLServer进行相应的配置将默认账户添加到SQLServer,并授予访问MpmmDB数17、据库的权限目前尚未涉及到数据库权限管理的内容,MPMM使用一种开发阶段常用的临时解决方法1.IIS管理器2.应用程序池网站的运行环境,每个网站必需关联到某个应用程序池网站运行的基本环境,如所使用的.NETFramework版本、WindOWS账户都是由所属的应用程序池打算3.修改运行账户在IIS管理器中选择左侧的应用程序池节点