《第09章-ASPNET数据访问(HTML5与ASPNET程序设计教程(第2版))课件.ppt》由会员分享,可在线阅读,更多相关《第09章-ASPNET数据访问(HTML5与ASPNET程序设计教程(第2版))课件.ppt(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第9章章 ASP.NET数据访问数据访问10 四月 20232Ch9 ASP.NET数据访问数据访问9.1 LINQ基本技术基本技术9.2 ASP.NET数据绑定数据绑定9.3 利用实体框架访问数据库利用实体框架访问数据库10 四月 202339.1 LINQ基本技术基本技术l语言集成查询(语言集成查询(LINQ)CSS是是Cascading Style Sheets的缩写,称为级联样式表,也的缩写,称为级联样式表,也叫层叠式样式表。叫层叠式样式表。CSS的作用是控制的作用是控制HTML元素在浏览器中呈现的样式,比如字体元素在浏览器中呈现的样式,比如字体大小、颜色、背景色以及背景图像等。大小
2、、颜色、背景色以及背景图像等。lCSS的级联控制的级联控制内联式(内联式(Inline Styles)嵌入式(嵌入式(Embedding a Style Block)外部链接式(外部链接式(Linking to a Style Sheet)内联式(内联式(Inline Styles)l内联式是指直接在内联式是指直接在HTML元素内通过元素内通过style属性设置元素的样式属性设置元素的样式每个每个style内可以包含一个或多个样式属性,其一般形式为:内可以包含一个或多个样式属性,其一般形式为:ustyle=属性名属性名1:值值1;属性名属性名2:值值2;“属性名与属性值之间用冒号属性名与属性值
3、之间用冒号“:”分隔,如果一个样式中有多个属性,各分隔,如果一个样式中有多个属性,各属性之间用分号属性之间用分号“;”隔开。隔开。u例如:例如:定义了带样式的层定义了带样式的层l内联式适用于单独控制某个元素样式的情况。内联式适用于单独控制某个元素样式的情况。优点是设置样式直观、方便优点是设置样式直观、方便;缺点是无法一次性设置所有相同元素的样式缺点是无法一次性设置所有相同元素的样式。l一般情况下,如果某个元素的样式与其他元素的样式不同,或者具有相同样一般情况下,如果某个元素的样式与其他元素的样式不同,或者具有相同样式的元素比较少,可以采用内联式。式的元素比较少,可以采用内联式。10 四月 20
4、2369.1 LINQ基本技术基本技术l语言集成查询(语言集成查询(LINQ)使用使用LINQ技术可带来以下优点。技术可带来以下优点。(1)语法与数据库的)语法与数据库的SQL查询语句类似。查询语句类似。(2)针对语法错误和类型安全的编译时检查。)针对语法错误和类型安全的编译时检查。(3)改进的调试器支持。)改进的调试器支持。(4)编写程序时的)编写程序时的IntelliSense(智能提示)支持。(智能提示)支持。(5)直接处理)直接处理XML元素的功能,而不是像元素的功能,而不是像W3C的的DOM那样需要创建容器那样需要创建容器XML文档。文档。(6)强大的内存中)强大的内存中XML文档修
5、改功能,比文档修改功能,比XPath或或XQuery更容易使用。更容易使用。(7)强大的筛选、排序和分组功能。)强大的筛选、排序和分组功能。(8)用于跨多种数据源和数据格式处理数据的一致模型。)用于跨多种数据源和数据格式处理数据的一致模型。10 四月 202379.1 LINQ基本技术基本技术l查询表达式查询表达式LINQ查询表达式主要由查询表达式主要由from子句、子句、let子句、子句、orderby子句、子句、where子句、子句、group子句以及子句以及select子句构成。子句构成。每一个每一个LINQ查询表达式都必须包含查询表达式都必须包含from子句,且必须以子句,且必须以fr
6、om子句开头,子句开头,以以 select 或或 group 子句结尾,使用子句结尾,使用from语句的主要作用是为了智能感知,语句的主要作用是为了智能感知,使编译器了解该语句为使编译器了解该语句为LINQ查询表达式。如果查询表达式。如果LINQ查询表达式还包含子查询表达式还包含子查询,那么子查询表达式也必须以查询,那么子查询表达式也必须以from子句开头。子句开头。10 四月 202389.1 LINQ基本技术基本技术from子句子句from子句指定要查找的数据源以及范围,多个子句指定要查找的数据源以及范围,多个from子句则表示从多个数子句则表示从多个数据源查找数据。据源查找数据。from
7、子句的一般格式为:子句的一般格式为:from in【例例9-1】演示演示from子句的基本用法。子句的基本用法。Where子句子句在在LINQ中,用中,用where子句指定查询的过滤条件。子句指定查询的过滤条件。【例例9-2】演示演示where子句的基本用法。子句的基本用法。10 四月 2023109.1 LINQ基本技术基本技术orderby子句子句orderby子句对查询结果进行排序操作,格式如下:子句对查询结果进行排序操作,格式如下:orderby element sortType其中,其中,element是要进行排序的字段。是要进行排序的字段。sortType是可选参数,表示排序类是可
8、选参数,表示排序类型,包括升序(型,包括升序(ascending)和降序()和降序(desending)两个可选值,默认)两个可选值,默认为为ascending。【例例9-5】演示演示orderby子句的基本用法。子句的基本用法。select子句子句select子句指定在执行查询时产生结果的数据集中元素的类型。子句指定在执行查询时产生结果的数据集中元素的类型。10 四月 2023119.1 LINQ基本技术基本技术lLambda表达式表达式Lambda表达式是一个匿名函数,它可以包含表达式和语句,并且可用于表达式是一个匿名函数,它可以包含表达式和语句,并且可用于创建委托或表达式目录树类型。当函
9、数语句较少,而又需要用委托来调用创建委托或表达式目录树类型。当函数语句较少,而又需要用委托来调用时,使用时,使用Lambda表达式比较方便。表达式比较方便。所有所有Lambda表达式都使用表达式都使用Lambda运算符运算符“=”,读为,读为“goes to”,运,运算符的右边包含一条或多条表达式或语句块。如果表达式有输入参数,则算符的右边包含一条或多条表达式或语句块。如果表达式有输入参数,则将参数放在运算符的左边。例如:将参数放在运算符的左边。例如:x=x*x每一个每一个LINQ查询表达式都必须包含查询表达式都必须包含from子句,且必须以子句,且必须以from子句开头,子句开头,以以 se
10、lect 或或 group 子句结尾,使用子句结尾,使用from语句的主要作用是为了智能感知,语句的主要作用是为了智能感知,使编译器了解该语句为使编译器了解该语句为LINQ查询表达式。如果查询表达式。如果LINQ查询表达式还包含子查询表达式还包含子查询,那么子查询表达式也必须以查询,那么子查询表达式也必须以from子句开头。子句开头。10 四月 2023139.2 ASP.NET数据绑定数据绑定ASP.NET数据绑定经过两个环节,第一个环节是通过数据源控件(例如数据绑定经过两个环节,第一个环节是通过数据源控件(例如EntityDataSource控件、控件、LinqDataSource控件等)
11、自动获取或存储数据控件等)自动获取或存储数据源中的数据;第二个环节是将数据源控件和其他控件绑定在一起,被绑定源中的数据;第二个环节是将数据源控件和其他控件绑定在一起,被绑定的其他控件称为的其他控件称为ASP.NET数据绑定控件。数据绑定控件。ASP.NET数据绑定控件的最大特点是可以自动生成代码,而且使用简单、数据绑定控件的最大特点是可以自动生成代码,而且使用简单、直观。利用数据绑定控件可以进行如下操作。直观。利用数据绑定控件可以进行如下操作。(1)选择和显示数据。)选择和显示数据。(2)对数据进行排序、分页和缓存。)对数据进行排序、分页和缓存。(3)更新、插入和删除数据。)更新、插入和删除数
12、据。(4)使用运行时参数筛选数据)使用运行时参数筛选数据(5)使用参数创建)使用参数创建“主主/详细信息详细信息”方案。方案。10 四月 2023159.2 ASP.NET数据绑定数据绑定l将数据源绑定到控件将数据源绑定到控件利用数据绑定技术可以绑定具有单一值的控件、列表控件以及模板化控件。利用数据绑定技术可以绑定具有单一值的控件、列表控件以及模板化控件。绑定列表控件绑定列表控件列表控件用于以各种列表形式呈现数据,包括列表控件用于以各种列表形式呈现数据,包括ListBox、DropDownList、CheckBoxList、RadioButtonList和和BulletedList控件。控件。
13、当需要将数据源数据以列表形式显示时,可以用数据绑定来实现,此时控件中的每一当需要将数据源数据以列表形式显示时,可以用数据绑定来实现,此时控件中的每一项对应于数据源中的一项(例如数据库表中的一行)。项对应于数据源中的一项(例如数据库表中的一行)。利用列表控件可以显示来自数据源的一个字段,也可以用另一个字段作为项的值。利用列表控件可以显示来自数据源的一个字段,也可以用另一个字段作为项的值。【例【例9-8】利用数据绑定将】利用数据绑定将Course表的课程名称显示在表的课程名称显示在ListBox中,当选择某个课中,当选择某个课程名称时,保存对应的编码。程名称时,保存对应的编码。【例【例9-9】在代
14、码隐藏类中直接编写代码实现与】在代码隐藏类中直接编写代码实现与ListBox控件绑定。控件绑定。10 四月 2023169.2 ASP.NET数据绑定数据绑定l将数据源绑定到控件将数据源绑定到控件绑定模板化控件绑定模板化控件在数据绑定表达式中,使用在数据绑定表达式中,使用Eval方法实现单向绑定,使用方法实现单向绑定,使用Bind方法实现双向数据绑方法实现双向数据绑定。定。(1)Eval方法方法Eval方法用于定义单向(只读)绑定,该方法将数据字段的值作为参数,返回字符串方法用于定义单向(只读)绑定,该方法将数据字段的值作为参数,返回字符串形式的值。形式的值。(2)Bind方法方法Bind方法
15、用于定义双向(可更新)绑定,该方法可以检索数据绑定控件的值,并将方法用于定义双向(可更新)绑定,该方法可以检索数据绑定控件的值,并将更改提交给数据库。更改提交给数据库。注意:注意:只能对数据绑定控件的模板内的绑定使用只能对数据绑定控件的模板内的绑定使用Eval方法和方法和Bind方法。方法。出于性能的出于性能的考虑,除非是绑定需要格式化字符串,一般使用考虑,除非是绑定需要格式化字符串,一般使用bind方法。方法。10 四月 2023189.3 利用实体框架访问数据库利用实体框架访问数据库l实体框架基本概念实体框架基本概念Entity Framework具有以下优点。具有以下优点。(1)应用程序
16、可以通过更加以应用程序为中心的概念模型(包括具有继承性、复杂)应用程序可以通过更加以应用程序为中心的概念模型(包括具有继承性、复杂成员和关系的类型)来工作。成员和关系的类型)来工作。(2)应用程序不再对特定的数据引擎或存储架构具有硬编码依赖性。)应用程序不再对特定的数据引擎或存储架构具有硬编码依赖性。(3)可以在不更改应用程序代码的情况下更改概念模型与特定于存储的架构之间的)可以在不更改应用程序代码的情况下更改概念模型与特定于存储的架构之间的映射。映射。(4)开发人员可以使用可映射到各种存储架构(可能在不同的数据库管理系统中实)开发人员可以使用可映射到各种存储架构(可能在不同的数据库管理系统中
17、实现)的一致的应用程序对象模型。现)的一致的应用程序对象模型。(5)多个概念模型可以映射到同一个存储架构。)多个概念模型可以映射到同一个存储架构。10 四月 2023199.3 利用实体框架访问数据库利用实体框架访问数据库l创建数据库和实体数据模型创建数据库和实体数据模型本章的例子本章的例子使使用用SQL Server 2008 Express来讲解来讲解【例【例9-10】在项目中创建】在项目中创建MyDatabase.mdf数据库,然后使用数据库,然后使用“ADO.NET实体数据模实体数据模型型”向导生成向导生成MyDatabaseModel.edmx文件。即实现文件。即实现MyDataba
18、seModel概念模型概念模型和和MyDatabase数据库(表、视图以及存储过程)之间的映射数据库(表、视图以及存储过程)之间的映射。10 四月 2023209.3 利用实体框架访问数据库利用实体框架访问数据库lGridView控件控件常用属性常用属性10 四月 2023219.3 利用实体框架访问数据库利用实体框架访问数据库lGridView控件控件常用事件常用事件【例【例9-11】在】在GridView控件中显示课程编码对照表的数据。控件中显示课程编码对照表的数据。10 四月 2023229.3 利用实体框架访问数据库利用实体框架访问数据库lEntityDataSource控件控件数据源
19、控件为数据绑定控件构造了一个公共接口,其内部自动实现丰富的数据检索和数据源控件为数据绑定控件构造了一个公共接口,其内部自动实现丰富的数据检索和修改功能,包括查询、排序、分页、筛选、更新、删除以及插入等,而不需要开发修改功能,包括查询、排序、分页、筛选、更新、删除以及插入等,而不需要开发人员去编写针对这些功能的代码。人员去编写针对这些功能的代码。ASP.NET共提供共提供7种数据源控件,分别是种数据源控件,分别是EntityDataSource控件、控件、LinqDataSource控件、控件、ObjectDataSource控件、控件、SqlDataSource控件、控件、AccessDataSource控件、控件、XmlDataSource控件和控件和SiteMapDataSource控件。控件。在这些控件中,我们主要学习在这些控件中,我们主要学习EntityDataSource控件。控件。【示例示例】演示如何利用演示如何利用Entity Framework访问数据库。访问数据库。