第7章数据访问课件.ppt
《第7章数据访问课件.ppt》由会员分享,可在线阅读,更多相关《第7章数据访问课件.ppt(112页珍藏版)》请在三一办公上搜索。
1、第7章 数据访问,1,第7章 数据访问 1,本章要点:,掌握Visual Studio 2008中管理数据库的方法熟练使用数据源控件掌握LINQ查询表达式熟练使用LINQ to SQL和LINQ to XML进行数据访问管理,2,本章要点:掌握Visual Studio 2008中管理数据,目录,7.1 数据访问概述7.2 建立SQL Server Express数据库7.3 数据源控件7.3.1 SqlDataSource控件7.3.2 XmlDataSource控件7.3.3 SiteMapDataSource控件7.3.4 LinqDataSource控件,3,目录7.1 数据访问概述3
2、,目录,7.4 使用LINQ实现数据访问7.4.1 LINQ查询表达式7.4.2 LINQ to SQL概述7.4.3 LINQ to SQL查询数据7.4.4 使用LINQ to SQL管理数据7.4.5 LINQ to XML概述7.4.6 使用LINQ to XML管理XML文档7.5 小结,4,目录7.4 使用LINQ实现数据访问4,7.1 数据访问概述,ASP.NET 1.X主要使用ADO.NET访问数据。ADO.NET提供了用于完成如数据库连接、查询数据、插入数据、更新数据和删除数据等操作的对象。Connection对象Command对象DataReader对象DataAdapte
3、r对象DataSet对象,5,7.1 数据访问概述 ASP.NET 1.X主要使用ADO,ADO.NET两种读取数据库的方式,Connection、Command和DataReader对象:只能读取数据库。如果只是想查询记录的话,这种方式的效率更高些。Connection、Command、DataAdapter和DataSet对象:可以对数据库进行各种操作。,6,ADO.NET两种读取数据库的方式 Connection、C,ASP.NET 2.0增加了多种数据源控件和数据绑定控件,数据源控件封装所有获取和处理数据的功能,主要包括连接数据源、使用Select、Update、Delete和Inse
4、rt等SQL语句获取和管理数据等。数据绑定控件主要用于以多种方式显示数据。结合使用数据源控件和数据绑定控件,只需要设置相关属性,几乎不用编写任何代码即能存取数据库。,7,ASP.NET 2.0增加了多种数据源控件和数据绑定控件 数,ASP.NET 3.5引入了一种新技术LINQ,填补了传统.NET语言和查询语句之间的空白,使得查询等数据访问操作完全与.NET语言整合,实现了通过.NET语言访问数据库的功能。未来数据访问的趋势。,8,ASP.NET 3.5引入了一种新技术LINQ 填补了传统.,7.2 建立SQL Server Express数据库,SQL Server Express 2005
5、是SQL Server 2005系列中的精简版,允许无偿获取并免费再分发,同时对系统配置的要求相对比较低,非常适合于中小型企业的开发应用。SQL Server Express 2005与ASP.NET 3.5紧密集成。在安装Visual Studio 2008时,与ASP.NET 3.5一同安装。,9,7.2 建立SQL Server Express数据库 S,7.2 建立SQL Server Express数据库(续),允许建立网站时直接在Visual Studio 2008的开发环境中创建并管理数据库。在ASP.NET 3.5的用户认证和个性化的服务中,会自动创建SQL Server Ex
6、press 2005的数据库ASPNETDB.MDF,并能与网站配合,自动保存相关数据,从而简化了设计过程。,10,7.2 建立SQL Server Express数据库(续,7.2 建立SQL Server Express数据库(续),利用图形管理工具SSMSE管理SQL Server Express数据库。利用Visual Studio 2008 中“服务器资源管理器”管理 SQL Server Express数据库。,11,7.2 建立SQL Server Express数据库(续,7.3 数据源控件,用于实现从不同数据源获取数据的功能。,12,7.3 数据源控件 用于实现从不同数据源获
7、取数据的功能。1,7.3 数据源控件(续),提供了统一的基本编程模型。通过数据源控件中定义的各种事件,可以实现Select、Update、Delete和Insert等数据操作。提供了数据操作前后的事件。如:实现数据插入操作的Insert()方法。发生在数据插入之前的Inserting事件。发生在数据插入之后的Inserted事件。,13,7.3 数据源控件(续)提供了统一的基本编程模型。13,7.3.1 SqlDataSource控件,用来访问Access、SQL Server、SQL Server Express、Oracle、ODBC数据源和OLEDB数据源。要访问带密码的Access数据
8、库,就不能使用AccessDataSource,只能使用SqlDataSource控件。,14,7.3.1 SqlDataSource控件用来访问Acce,SqlDataSource常用属性表,15,SqlDataSource常用属性表 ConnectionS,SqlDataSource常用属性表(续),16,SqlDataSource常用属性表(续)EnableCac,SqlDataSource常用属性表(续),17,SqlDataSource常用属性表(续)SelectCom,连接数据库,使用SqlDataSource连接数据源不需要编写代码,只需按“配置数据源”向导逐步设置就可以了。,1
9、8,连接数据库 使用SqlDataSource连接数据源不需要编,“配置数据源”向导,19,“配置数据源”向导19,数据连接说明,下拉列表框会列出存储在App_Data文件夹中的数据库名和存储在web.config文件的配置节中的数据连接名。连接字符串包括数据库信息和身份验证信息。Data Source=.SQLEXPRESS;AttachDbFilename=|DataDirectory|MyPetShop.mdf;Integrated Security=True;User Instance=True,20,数据连接说明下拉列表框会列出存储在App_Data文件夹中的,数据连接说明(续),S
10、QL Server数据库的身份验证:Windows验证、SQL Server验证和混合验证。Windows验证使用Windows用户帐号连接SQL Server,常用于局域网络。,21,数据连接说明(续)SQL Server数据库的身份验证:Wi,数据连接说明(续),SQL Server验证使用SQL Server的注册帐号连接SQL Server,常用于Internet环境。Data Source=.SQLEXPRESS;AttachDbFilename=E:BookMyPetShop.mdf;Persist Security Info=True;User ID=saa;Password=s
11、df1;Connect Timeout=30;User Instance=False混合验证的连接字符串可选择Windows验证格式或SQL Server验证格式。,22,数据连接说明(续)SQL Server验证使用SQL Ser,“配置数据源”向导(续),23,“配置数据源”向导(续)23,连接字符串存放位置说明,在SqlDataSource控件的定义中,24,连接字符串存放位置说明在SqlDataSource控件的定义,连接字符串存放位置说明(续),在web.config的配置节中,25,连接字符串存放位置说明(续)在web.config的con,连接字符串存放位置说明(续),SqlDa
12、taSource控件的定义 SelectCommand=SELECT DISTINCT CategoryId FROM Product,26,连接字符串存放位置说明(续)SqlDataSource控件的,“配置数据源”向导(续),27,“配置数据源”向导(续)27,“配置数据源”向导(续),28,“配置数据源”向导(续)28,连接字符串加密处理,利用命令行工具aspnet_regiis.exe为连接字符串加密。aspnet_regiis pef connectionStrings E:website 利用命令行工具aspnet_regiis.exe为连接字符串解密。aspnet_regiis
13、pdf connectionStrings E:website,29,连接字符串加密处理 利用命令行工具aspnet_regiis,连接失败,连接数据库失败是程序开发中常有的情形。造成失败的原因有连接字符串设置错误、数据库服务未启动、网络问题等。此时,需要给用户适当的出错提示信息。,30,连接失败 连接数据库失败是程序开发中常有的情形。造成失败的原,实例7-1 连接失败的处理,当数据库连接正常时在下拉列表中填充“Category”表的“Name”字段信息。当数据库连接失败时返回出错信息。源程序:FailtureConn.aspx程序说明:当SqlDataSource控件执行Select命令之后
14、,将触发Selected事件,并且抛出任何异常信息。因此,数据库连接失败的处理可在Selected事件中捕获异常,再显示出错信息并通知SqlDataSource控件已处理异常。,31,实例7-1 连接失败的处理当数据库连接正常时在下拉列表中填,SqlDataSource的参数绑定,在Select、Insert、Delete、Update等数据操作时允许使用参数。,32,SqlDataSource的参数绑定 在Select、Ins,SqlDataSource参数绑定的数据来源,ControlParameter:实现控件属性值与参数的绑定。FormParameter:实现表单域的值与参数的绑定。C
15、ookieParameter:实现Cookie对象值与参数的绑定。ProfileParameter:实现用户配置属性值与参数的绑定。QueryStringParameter:实现QueryString对象值与参数的绑定。SessionParameter:实现Session对象与参数的绑定。,33,SqlDataSource参数绑定的数据来源ControlP,实例7-2 实现SqlDataSource控件的参数绑定,当选择宠物类别后,列表框中将显示该类别的所有产品。源程序:SqlDSParameters.aspx 程序说明:本示例不用编写任何代码,所有操作都通过属性设置实现。,34,实例7-2
16、实现SqlDataSource控件的参数绑定,利用SqlDataSource设置的SQL语句管理数据,在数据源配置时除可设定Select语句外,还可组合Insert、Update和Delete语句。设定的Select语句在网页有数据显示时即被执行,不需要调用相应的方法执行,而设定的Insert、Update和Delete语句必须调用相应的方法才能被执行。例如,Insert语句的执行应调用SqlDataSource控件的Insert()方法。,35,利用SqlDataSource设置的SQL语句管理数据 在数,实例7-3 利用SqlDataSource插入数据,当输入“分类名”、“描述”等信息,
17、单击“插入并显示”后,将把数据信息插入到Category表,然后在GridView中显示表中所有数据。源程序:SqlDSInsert.aspx 程序说明:单击按钮时将调用Insert()方法,从而执行SqlDataSource中设置的Insert语句,实现数据插入功能。然后再执行SqlDataSource中设置的Select语句,返回 Category表中所有数据并在GridView中显示出来。,36,实例7-3 利用SqlDataSource插入数据当输入“,在SqlDataSource中使用存储过程,使用存储过程,可以将数据库操作的各种SQL命令经过编译后直接存放到数据库端。各个应用程序只
18、需利用简单的调用语句即可调用存储过程完成对数据库的各种操作。这样就大大提高了代码的重用度。,37,在SqlDataSource中使用存储过程 使用存储过程,可,实例7-4 在Visual Studio 2008中建立存储过程,存储过程要求实现的功能是向Category表中插入记录和查询所有记录。操作流程:在“服务器资源管理器”窗口中展开相应的数据库,右击“存储过程”“添加新存储过程”。源程序:CategoryInsert存储过程,38,实例7-4 在Visual Studio 2008中建立存,实例7-5 利用存储过程插入数据,本实例实现的功能与实例7-3相同,区别是单击“插入并显示”按钮后将
19、调用存储过程CategoryInsert向Category表插入记录,再将Category表中所有记录信息通过GridView呈现出来。源程序:SqlDSProcedure.aspx,39,实例7-5 利用存储过程插入数据本实例实现的功能与实例7-,7.3.2 XmlDataSource控件,访问的是“层次化数据”,常用于连接和访问 XML数据源中的数据。属性DataFile:用于设置要绑定的XML文件名。对于能显示层次化数据的控件有TreeView、Menu等,只需设置这些控件的属性DataSourceID值,即能显示XMLDataSource中的XML数据。对GridView控件,需要利用
20、.xsl文件将XML文件转化为“表格化数据”后才能正常显示。,40,7.3.2 XmlDataSource控件 访问的是“层次,实例7-6 在GridView中显示XML文件,源程序:books.xml源程序:books.xsl源程序:XmlDSGridView.aspx,41,实例7-6 在GridView中显示XML文件 源程序:b,7.3.3 SiteMapDataSource控件,用于访问 XML格式的网站地图文件Web.sitemap,再将数据源绑定到TreeView、SiteMapPath或Menu等控件即能显示网站地图文件内容。当与SiteMapPath控件绑定时,不需要声明Si
21、teMapDataSource,系统会自动实现绑定。不需要设置连接数据源的属性。,42,7.3.3 SiteMapDataSource控件 用于访,7.3.4 LinqDataSource控件,利用LINQ访问数据库。在使用时,首先要建立数据源的上下文对象,该对象包含要查询的数据的基对象,实质是一个LINQ to SQL类文件。,43,7.3.4 LinqDataSource控件利用LINQ访,实例7-7 使用LinqDataSource和GridView显示表数据,表Category的数据显示利用了LinqDataSource和GridView。源程序:LinqDSGridView.aspx
22、,44,实例7-7 使用LinqDataSource和GridVi,7.4 使用LINQ实现数据访问,LINQ集成于.NET Framework 3.5中,提供了统一的语法实现多种数据源的查询和管理。它与.NET支持的编程语言整合为一体,使得数据的查询和管理直接被嵌入在编程语言的代码中,这样,就能充分利用Visual Studio 2008的智能提示功能,并且编译器也能检查查询表达式中的语法错误。,45,7.4 使用LINQ实现数据访问 LINQ集成于.NET,7.4 使用LINQ实现数据访问(续),LINQ to Object:用于处理Array和List等集合类型数据;LINQ to SQ
23、L:用于处理SQL Server等关系数据库类型数据;LINQ to XML:用于处理XML类型数据;LINQ to DataSet:用于处理DataSet类型数据。,46,7.4 使用LINQ实现数据访问(续)LINQ to O,7.4.1 LINQ查询表达式,实现了如何访问操作数据,常使用关键字为var的隐形变量存放返回数据。这种var变量可以不明确地指定数据类型,但编译器能根据变量的表达式推断出该变量的类型。,47,7.4.1 LINQ查询表达式实现了如何访问操作数据,常使,LINQ查询基本子句,from子句:指定查询操作的数据源和范围变量。select子句:指定查询结果的类型和表现形式
24、。where子句:指定筛选元素的逻辑条件。group子句:对查询结果进行分组。orderby子句:对查询结果进行排序。join子句:连接多个查询操作的数据源。let子句:引入用于存储查询表达式中的子表达式结果的范围变量。into子句:提供一个临时标识符,该标识符可以在join、group或select子句中被引用。,48,LINQ查询基本子句 from子句:指定查询操作的数据源和范,LINQ查询基本子句(续),查询表达式必须以from子句开始,以select或group子句结束,中间可以包含一个或多个from、where、orderby、group、join、let等子句。,49,LINQ查询
25、基本子句(续)49,7.4.2 LINQ to SQL概述,为关系数据库提供了一个对象模型,即将关系数据库映射为类对象。开发人员将以操作对象的方式实现对数据的查询、修改、插入和删除等操作。,50,7.4.2 LINQ to SQL概述为关系数据库提供了一,DataContext是什么?,作用DataContext类型(数据上下文)是System.Data.Linq命名空间下的重要类型,用于把查询句法翻译成SQL语句,以及把数据从数据库返回给调用方和把实体的修改写入数据库。功能以日志形式记录DataContext生成的SQL执行SQL(包括查询和更新语句)创建和删除数据库DataContext是
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 访问 课件

链接地址:https://www.31ppt.com/p-2109490.html