网络编程:第7章 数据访问_第1页
网络编程:第7章 数据访问_第2页
网络编程:第7章 数据访问_第3页
网络编程:第7章 数据访问_第4页
网络编程:第7章 数据访问_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1第7章数据访问

2要点:掌握VisualStudio2010中管理数据库的方法熟练使用数据源控件AccessDataSource数据源控件、SqlDataSource数据源控件、ObjectDataSource、XmlDataSource控件、SiteMapDataSource控件;熟练掌握数据绑定控件的使用掌握ListControl类控件与数据源的绑定;掌握GridView控件与数据源的绑定;掌握DetailsView控件与数据源的绑定。37.1数据访问概述ASP.NET1.X主要使用ADO.NET访问数据。ADO.NET提供了用于完成如数据库连接、查询数据、插入数据、更新数据和删除数据等操作的对象。

Connection对象Command对象DataReader对象DataAdapter对象DataSet对象442024/5/9ADO.NET的对象Connection对象:用来连接到数据库。Command对象:用来对数据库执行SQL命令,如查询语句。DataReader对象:用来从数据库返回只读数据。DataAdapter对象:用来从数据库返回数据,并送到Dataset对象中,还要负责保证Dataset对象中的数据和数据库中的数据保持一致。DataSet对象:它可以看做是内存中的数据库。利用DataAdapter对象将数据库中的数据送到该对象中,然后就可以在其中对数据进行各种操作,最后再利用DataAdapter对象将更新反映到数据库中。5ADO.NET两种读取数据库的方式一种是利用Connetction、Command和DataReader对象,这种方式只能读取数据库,也就是说不能修改记录。如果只是想查询记录的话,此方式的效率更高些。(保持连接模式)第二种是利用Connection、Command、DataAdapter和Dataset对象,这种方式更灵活,可以对数据库进行各种操作。(断开连接模式)662024/5/9ADO.NET两种读取数据库的视图77.2建立SQLServerExpress数据库SQLServerExpress2008与VisualStudio2010紧密集成。与允许建立网站时直接在VisualStudio2010的开发环境中创建并管理数据库。利用VisualStudio2010中“服务器资源管理器”管理SQLServer数据库。87.3数据源控件用于实现从不同数据源获取数据的功能。9数据源控件和数据绑定控件开发人员能够智能的配置与数据库的连接,而不需要手动的编写数据库连接。ASP.NET不仅提供了数据源控件,还提供了能够显示数据的控件,简化了数据显示的开发。数据源控件封装所有获取和处理数据的功能,主要包括连接数据源、使用Select、Update、Delete和Insert等SQL语句获取和管理数据等。数据绑定控件主要用于以多种方式显示数据。结合使用数据源控件和数据绑定控件,只需要设置相关属性,几乎不用编写任何代码即能存取数据库。10

数据源控件简介

数据源控件的类型主要有以下几种。

1.AccessDataSourceAccessDataSource数据源控件是专门为连接MicrosoftAccess数据库而设计的。

2.SqlDataSourceSqlDataSource数据源控件是专门为连接MicrosoftSQLServer数据库而设计的。

3.ObjectDataSource主要用在三层分布式架构时,将中间层的逻辑功能封装到这个控件中,以便在应用程序中共享。

数据源控件用来配置数据源,当数据控件绑定数据源控件时,就能够通过数据库源控件来获取数据源中的数据并显示,而无需通过程序实现数据源代码。

11

ASP.NET包含两个层次数据源控件:用于连接XML文件的XmlDataSource和用于连接站点导航数据的SiteMapDataSource。4.XmlDataSource

XmlDataSource控件可将一个XML文件绑定到一个用于显示层次结构的TreeView控件上。

5.SiteMapDataSource127.3.1SqlDataSource控件用来访问Access、SQLServer、SQLServerExpress、Oracle、ODBC数据源和OLEDB数据源。要访问带密码的Access数据库,就不能使用AccessDataSource,只能使用SqlDataSource控件。 <asp:SqlDataSourceID="SqlDataSource1"runat="server"></asp:SqlDataSource>13SqlDataSource常用属性表ConnectionString获取或设置连接到数据库的字符串。DataSourceMode获取或设置获取数据时所使用的数据返回模式。值DataReader表示获取只读数据;值为DataSet表示获取数据可更改。默认值为DataSet。DeleteCommand获取或设置用于删除数据的SQL语句或存储过程名。DeleteCommandType获取或设置属性DeleteCommand值的类型。Text表示SQL语句;StoreProcedure表示存储过程。默认值为Text。DeleteParameters获取DeleteCommand值中出现的参数集合。DeleteQuery设置Delete命令使用的参数。14SqlDataSource常用属性表(续)EnableCaching逻辑值,true表示启用数据缓存功能,false表示不启用。默认值为false。InsertCommand获取或设置用于插入数据的SQL语句或存储过程名。InsertCommandType获取或设置属性InsertCommand值的类型。InsertParameters获取属性InsertCommand值中出现的参数集合。InsertQuery设置Insert语句使用的参数。ProviderName获取或设置连接数据源的提供程序名称。15SqlDataSource常用属性表(续)SelectCommand获取或设置用于查询数据的SQL语句或存储过程名。SelectCommandType获取或设置属性SelectCommand值的类型。SelectParameters获取SelectCommand值中出现的参数集合。SelectQuery设置Select语句使用的参数。

UpdateCommand获取或设置用于更新数据的SQL语句或存储过程。UpdateCommandType获取或设置UpdateCommand值的类型。UpdateParameters获取属性UpdateCommand值中出现的参数集合。UpdateQuery设置Update命令使用的参数。16连接数据库使用SqlDataSource连接数据源不需要编写代码,只需按“配置数据源”向导逐步设置就可以了。17数据连接说明下拉列表框会列出存储在App_Data文件夹中的数据库名和存储在web.config文件的<connectionStrings>配置节中的数据连接名。连接字符串包括数据库信息和身份验证信息。

DataSource=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\MyPetShop.mdf;

Integrated

Security=True;User

Instance=True

指示要连接到的数据源的名称连接是否为安全连接附加的数据库文件名称指示是否将连接重定向,以连接到该用户账户下运行的SQLServer实例18连接字符串存放位置说明在web.config的<connectionStrings>配置节中<connectionStrings><addname="MyPetShopConnectionString"connectionString="DataSource=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\MyPetShop.mdf; IntegratedSecurity=True;UserInstance=True"providerName="System.Data.SqlClient"/></connectionStrings>19

Access数据库是一种桌面级的数据库,对其访问可使用专门的数据源控件AccessDataSource。与SqlDataSource不同的是,SqlDataSource主要采用的是ConnectionString属性连接数据库,而Access则采用的是AccessDataSource方式连接数据库。因为Access数据库是以文件的形式存在于系统中的,所以主要采用DataFile属性直接以文件地址的方式进行连接。要连接Access数据库,则必须选择Access数据库文件。7.3.2AccessDataSource控件20AccessDataSource控件当需要使用Access数据库,应将Access数据库文件保存在App_Data文件夹中,以保证数据库文件是私有的,因为ASP.NET不允许直接请求App_Data文件夹。注意:AccessDataSource控件不支持访问受密码保护的Access数据库文件,如果需要访问受密码保护的Access数据库文件,则需要使用SqlDataSource控件。21连接失败连接数据库失败是程序开发中常有的情形。造成失败的原因有连接字符串设置错误、数据库服务未启动、网络问题等。此时,需要给用户适当的出错提示信息。22例:使用SqlDataSource控件连接到SQLServer数据库,并把获得的数据显示在DropDownList控件中。23实例7-1连接失败的处理当数据库连接正常时在下拉列表中填充“Category”表的“Name”字段信息。当数据库连接失败时返回出错信息。源程序:FailtureConn.aspx程序说明:当SqlDataSource控件执行Select命令之后,将触发Selected事件,并且抛出任何异常信息。因此,数据库连接失败的处理可在Selected事件中捕获异常,再显示出错信息并通知SqlDataSource控件已处理异常。24SqlDataSource的参数绑定在Select、Insert、Delete、Update等数据操作时允许使用参数。25SqlDataSource参数绑定的数据来源ControlParameter:实现控件属性值与参数的绑定。QueryStringParameter:实现QueryString对象值与参数的绑定。

FormParameter:实现表单域的值与参数的绑定。CookieParameter:实现Cookie对象值与参数的绑定。SessionParameter:实现Session对象与参数的绑定。26实例7-2实现SqlDataSource控件的参数绑定

当选择宠物类别后,列表框中将显示该类别的所有产品。源程序:SqlDSParameters.aspx

程序说明:本示例不用编写任何代码,所有操作都通过属性设置实现。27利用SqlDataSource设置的SQL语句管理数据

在数据源配置时除可设定Select语句外,还可组合Insert、Update和Delete语句。设定的Select语句在网页有数据显示时即被执行,不需要调用相应的方法执行,而设定的Insert、Update和Delete语句必须调用相应的方法才能被执行。例如,Insert语句的执行应调用SqlDataSource控件的Insert()方法。28实例7-3利用SqlDataSource插入数据当输入“分类名”、“描述”等信息,单击“插入并显示”后,将把数据信息插入到Category表,然后在GridView中显示表中所有数据。源程序:SqlDSInsert.aspx

程序说明:单击按钮时将调用Insert()方法,从而执行SqlDataSource中设置的Insert语句,实现数据插入功能。然后再执行SqlDataSource中设置的Select语句,返回Category表中所有数据并在GridView中显示出来。297.3.3XmlDataSource控件访问的是“层次化数据”,常用于连接和访问XML数据源中的数据。属性DataFile:用于设置要绑定的XML文件名。对于能显示层次化数据的控件有TreeView、Menu等,只需设置这些控件的属性DataSourceID值,即能显示XMLDataSource中的XML数据。30例:使用XmlDataSource数据源控件,结合TreeView控件和容器控件PlaceHolder,设计一个以树型结构用于查看员工基本情况的Web应用程序。1、创建xml文件2、向aspx中添加XmlDataSource控件、TreeView控件、PlaceHolder控件。3、设XmlDataSource控件数据源为前面创建的*.xml文件;4、设TreeView控件的数据源为XmlDataSource控件5、编写程序(TreeView1_SelectedNodeChanged事件)31界面设计:32运行效果:3334实例7-6在GridView中显示XML文件源程序:books.xml源程序:books.xsl源程序:XmlDSGridView.aspx

357.3.4SiteMapDataSource控件用于访问XML格式的网站地图文件Web.sitemap,再将数据源绑定到TreeView、SiteMapPath或Menu等控件即能显示网站地图文件内容。当与SiteMapPath控件绑定时,不需要声明SiteMapDataSource,系统会自动实现绑定。不需要设置连接数据源的属性。36(1)创建web.sitemap文件---建在站点根目录下37(2)创建aspx文件,并添加TreeView控件,为其选择数据源

新建数据源,选择站点地图,系统会自动添加一个SiteMapSo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论