《Web数据访问》学习课件_第1页
《Web数据访问》学习课件_第2页
《Web数据访问》学习课件_第3页
《Web数据访问》学习课件_第4页
《Web数据访问》学习课件_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

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

文档简介

第8章Web数据访问

《Web应用开发技术》1精选课件ppt第8章Web数据访问

8.1数据源控件

8.2GridView控件

8.3DataList控件

8.4DetailsView控件2024/1/22精选课件ppt8.1数据源控件

8.1.1数据源控件概述

8.1.2SqlDataSource控件

2024/1/22精选课件ppt8.1.1数据源控件概述

ASP.NET中参与数据绑定的有两类服务器控件:数据源(DataSource)控件和数据绑定控件。这些控件完成Web数据访问的基础任务。

ASP.NET包含一些DataSource控件。这些DataSource控件不呈现任何用户界面,而是充当不同类型数据源与网页上其他界面控件之间的中间方。DataSource控件对象可以用声明的方式(在网页文件中)或者以编程的方式(在代码隐藏文件中)定义。2024/1/22精选课件ppt8.1.1数据源控件概述

使用DataSource控件可以连接到数据源,无需编写代码即可实现以下功能:从数据源中检索数据;设置页面行为(如排序、分页、缓存等);更新、插入和删除数据;使用运行时参数筛选数据;允许其他界面控件绑定到DataSource控件,以便在网页中显示数据。2024/1/22精选课件ppt8.1.1数据源控件概述

ASP.NET包含支持不同数据绑定方案的DataSource控件,包括:ObjectDataSource:连接中间层对象或数据接口对象,使用ObjectDataSource可以创建依赖于中间层对象来管理数据的Web应用程序。SqlDataSource:连接ADO.NET托管数据提供程序,完成对SQLServer、Oracle、OLEDB或ODBC数据源的访问。AccessDataSource:连接Access数据库。XmlDataSource:连接XML数据源文件,一般为诸如TreeView或Menu等层次结构控件提供数据。SiteMapDataSource:与ASP.NET站点导航结合使用。2024/1/22精选课件ppt8.1.1数据源控件概述

DataSource控件不呈现任何用户界面,用户界面功能由数据绑定控件完成。数据绑定控件可以绑定到DataSource控件,并自动在页面请求生命周期的适当时机获取数据。数据绑定控件通过其DataSourceID属性连接到DataSource控件,然后即可利用DataSource控件所提供的功能,包括排序、分页、缓存、筛选、更新、删除和插入等。

ASP.NET提供专用的数据绑定控件,如DataList、DetailsView、GridView和FormView等,本章的重点是介绍前3种专用数据绑定控件,2024/1/22精选课件ppt8.1.2SqlDataSource控件SqlDataSource控件使用SQL命令来检索和修改数据,可用于SQLServer、Oracle、OLEDB和ODBC等数据源。

SqlDataSource控件可将检索结果作为DataReader或DataSet对象返回。当结果作为DataSet返回时,还可以对结果进行排序、筛选和缓存等操作。为网站创建一个新的页面StudentManage1。最终要在此页面上完成对学生信息的管理。2024/1/22精选课件ppt8.1.2SqlDataSource控件

在工具箱的“数据”页中拖动一个SqlDataSource控件到页面上来,切换到设计视图,可以看到一个可视化的SqlDataSource控件。将鼠标移动到该控件右上角,可以看到一个小三角标记,该标记称为SqlDataSource控件的“智能标签”。单击智能标签,可以打开一个上下文相关的菜单,初始时如图所示。2024/1/22精选课件ppt8.1.2SqlDataSource控件

单击“配置数据源”,弹出配置数据源向导,用户可在该向导的引导下,对数据源进行配置。该向导的第1步是“选择你的数据连接”。因为目前本网站还没有创建到数据库的连接,因此,需要按“新建连接”按钮,进入“添加连接”对话框,添加一个新的数据库连接,如图所示。2024/1/22精选课件ppt8.1.2SqlDataSource控件

按“测试连接”按钮进行测试,如果测试成功,则可按“确定”按钮返回配置数据源向导,按“下一步”继续。向导提示“将连接字符串保存到应用程序配置文件中”,如图所示。选择“是”复选框,将连接字符串的名称改为SQLConnectionString,按“下一步”继续。2024/1/22精选课件ppt8.1.2SqlDataSource控件

在“配置Select语句”步骤,界面如图所示。2024/1/22精选课件ppt8.1.2SqlDataSource控件

在“测试查询”步骤,按“测试查询”按钮,如果示例数据库已经建立且前述步骤都配置正确,应该能够显示结果数据集,如图所示。按“完成”按钮,完成对数据源的配置。数据源配置完成后,可以看到网站项目中新增加了一个Web.Config文件。打开它,可以看到其中有已经配置好的数据库连接字符串SQLConnectionString。2024/1/22精选课件ppt第8章Web数据访问8.1数据源控件

8.2GridView控件

8.3DataList控件

8.4DetailsView控件2024/1/22精选课件ppt8.2GridView控件

8.2.1常用属性和事件8.2.2GridView控件的基本应用8.2.3通过GridView控件修改数据8.2.4多个GridView和SqlDataSource相互配合8.2.5对GridView控件编程2024/1/22精选课件ppt8.2.1常用属性和事件

使用GridView控件可以在“表”中显示数据源的值,其中每列表示一个字段,每行表示一条记录。GridView

控件还允许选择和编辑这些项以及对它们进行排序。

GridView控件包括很多属性和事件,方便用户对其进行灵活的设计期配置及运行期程序控制。2024/1/22精选课件ppt8.2.1常用属性和事件

属性名称说明AllowPaging是否启用分页功能,默认为false。AllowSorting是否启用排序功能,默认为false。AutoGenerateColumns是否为数据源中的每个字段自动创建绑定字段,默认为true。AutoGenerate-DeleteButton每个数据行是否都带有“删除”按钮,默认为false。AutoGenerate-EditButton每个数据行是否都带有“编辑”按钮,默认为false。AutoGenerate-SelectButton每个数据行是否都带有“选择”按钮,默认为false。2024/1/22精选课件ppt8.2.1常用属性和事件

属性名称说明BackColor、ForeColor、BorderColor、BorderStyle、BorderWidth等这些属性用于设置GridView控件的外观。ColumnsDataControlField对象的集合,表示GridView控件中的字段集。DataKeyNames该属性值为一个数组,该数组包含了显示在GridView控件中记录的主键字段的名称。DataKeys该该值为一个DataKey对象,该DataKey对象表示GridView控件中的每一行数据的主键字段的值。DataSource该属性值为一个DataSource对象,GridView控件从该对象中获得数据。DataSourceIDGridView控件要绑定到的DataSource控件的ID,GridView从该控件中获得数据。EmptyDataText在GridView控件绑定到不包含任何记录的数据源时,所呈现在空数据行中的文本。2024/1/22精选课件ppt8.2.1常用属性和事件

属性名称说明PageSizeGridView控件在每页上所显示记录的数目。SelectedIndexGridView控件中选中行的索引。SelectedRow获取对GridViewRow对象的引用,该对象表示控件中的选中行。Visible

GridView控件在页面上是否可见。事件名称说明DataBinding当GridView绑定到数据源时发生。DataBound在GridView绑定到数据源后发生。PageIndexChanged在单击某个页导航按钮时(但在GridView控件处理分页操作之后)发生。RowDataBound将GridView控件的行绑定到数据时发生。2024/1/22精选课件ppt8.2.2GridView控件的基本应用

从工具箱中拖一个GridView控件到页面上来。切换到设计视图,单出GridView控件的智能标签,在“选择数据源”中选择SqlDataSource1,可以看到设计视图中的GridView控件外观发生了变化,主要是为STUDENT表的各字段生成了对应的绑定列。再次打开GridView控件的智能标签,选择“启用分页”。执行页面,运行效果如图所示。2024/1/22精选课件ppt8.2.2GridView控件的基本应用

GridView控件提供了众多属性用于外观控制,如BackColor、ForeColor、BorderColor等,完全可以通过手工配置这些属性来达到个性化的完美显示效果。但也许不必这么辛苦就能达到相当专业的显示效果。再次打开GridView控件的智能标签,选择“自动套用格式”,弹出如图的对话框。用户可以在左侧的“选择方案”列表中选择一种系统预置的外观方案(如“石板”),如果预览效果满意,按“确定”按钮回到设计视图,即可以看到外观的改善。2024/1/22精选课件ppt8.2.2GridView控件的基本应用

手工修改各字段的HeaderText属性,将其改为中文。再次执行页面,效果如图所示。2024/1/22精选课件ppt8.2.3通过GridView控件修改数据

在设计视图中打开SqlDataSource1的智能标签,选择“配置数据源”,可对数据源进行进一步的配置。按“下一步”,到达“配置Select语句”步骤。按“高级”按钮,在“高级SQL生成选项”对话框中选择“生成INSERT、UPDATE和DELETE语句”复选框。再次打开GridView控件的智能标签,选择“编辑列”,弹出“字段”对话框。在“可用字段”列表中选择CommandField,按“添加”按钮,CommandField出现在“选定的字段”列表中。再次执行页面,效果如图所示。2024/1/22精选课件ppt8.2.4多个GridView和

SqlDataSource相互配合

ASP.NET提供了多个GridView和多个SqlDataSource相互配合的能力。配合的方式可以有很多,可以达到丰富的功能效果.

拖一个GridView控件到页面上原有内容的下部,可以看到其ID为GridView2。在设计视图上单击GridView2的智能标签,在“选择数据源”列表中选择“新建数据源”,进入数据源配置向导,如图所示。2024/1/22精选课件ppt8.2.4多个GridView和

SqlDataSource相互配合

选择“数据库”,接受指定的数据源ID,按“确定”按钮继续。在“选择你的数据连接”步骤选择前节创建的SQLConnectionString,按“下一步”按钮继续。在“配置Select语句”步骤选择“指定来自表或视图的列”,选择STUDENT_CLASS表的所有列。与前节不同的是,需要为Select语句定义WHERE子句。执行页面,可以看到:当单击一个学生的“所选课程”按钮时,页面的下部就会列出他所选的课程列表。2024/1/22精选课件ppt8.2.5对GridView控件编程

可以针对GridView进行编程,来实现更加丰富的功能。为UseGridView网站创建一个新的页面StudentManage2,目的是用另一种方法完成对学生信息的管理。下面针对不同的功能要求,为该页面编写程序。首先,如果用户没有要求修改或新增学生信息,页面下部的Panel1部分应该是不显示的。2024/1/22精选课件ppt8.2.5对GridView控件编程

介绍另一种进入控件事件编程的方法:在设计视图上选中GridView1控件,单击“属性”窗口上部的闪电图标,窗口中列出GridView1控件的所有事件。双击RowDataBound行,系统会自动转到代码隐藏文件中,并为GridView1的RowDataBound事件增加处理函数,默认的函数名为

GridView1_RowDataBound。执行页面,界面如图所示。2024/1/22精选课件ppt小结

当需要列表、分页、排序显示大量数据时,使用GridView控件是一个很好的选择。

GridView控件本身提供了很强的功能,还可以通过编程的方式完成对数据更复杂的操作。由于控件本身提供了内置的分页、排序等功能,因此,GridView控件适合于管理记录较多的数据库表。由于GridView控件封装良好,从另一个方面来看,不容易在字段上增加各种灵活操作,因此适合于对没有更多关联关系的数据库表的管理。2024/1/22精选课件ppt第8章Web数据访问8.1数据源控件

8.2GridView控件

8.3DataList控件

8.4DetailsView控件2024/1/22精选课件ppt8.3DataList控件

8.3.1DataList控件的模板和事件8.3.2DataList控件的基本应用8.3.3对DataList控件编程实现数据修改和删除8.3.4对DataList控件编程实现数据添加2024/1/22精选课件pptDataList控件概述DataList控件用于在重复的列表中显示数据项,并且支持对这些项进行选择和编辑。DataList中列表项的内容和布局是使用模板定义的,可以为项、交替项、选定项和编辑项创建模板;也可以使用标题、脚注和分隔符模板自定义DataList的整体外观。DataList可以多列显示数据。DataList无内置分页、排序等功能,适合管理数据不太多的数据源。精选课件ppt8.3.1DataList控件的模板和事件

DataList控件可用于模板化地列表显示数据,可用自定义的格式显示数据库的各行信息。使用DataList控件,可通过所创建的模板来定义数据显示布局。所谓模板,就是用来控制显示数据库中每条记录的HTML。 DataList控件可用于列表操作任何重复结构中的数据,它使用HTML的table元素在列表中显示数据记录。但是,若要更精确地控制用于显示的HTML,可以选择使用Repeater控件.2024/1/22精选课件ppt模板名称说明ItemTemplate包含一些HTML元素和控件,必须定义,是所有项的内容和布局的默认定义。AlternatingItemTemplate包含一些HTML元素和控件,为交替行创建不同的外观,例如指定一个与ItemTemplate中指定的颜色不同的背景色。SelectedItemTemplate定义当前选中行的外观。通常,用户可以使用此模板来通过不同的背景色或字体颜色直观地区分选定的行,还可以通过显示数据源中的其他字段来展开该项。EditItemTemplate指定当某项处于编辑模式时的布局。此模板通常包含一些编辑控件,如TextBox等。HeaderTemplate定义列表开始处呈现的文本和控件。FooterTemplate定义列表结束处呈现的文本和控件。SeparatorTemplate定义在每项之间呈现的元素。典型的示例可能是一条直线(使用HR元素)。8.3.1DataList控件的模板和事件

2024/1/22精选课件ppt8.3.1DataList控件的模板和事件

每个模板都支持其自己的样式对象,样式对象包含一系列外观属性的定义,可以在设计时和运行时进行设置。与上表相对应,样式对象包括:ItemStyleAlternatingItemStyleSelectedItemStyleEditItemStyleHeaderStyleFooterStyleSeparatorStyle2024/1/22精选课件ppt8.3.1DataList控件的模板和事件

DataList控件支持的公共事件事件名称说明CancelCommand当单击DataList控件中编辑项的Cancel按钮(取消编辑)时发生。DataBinding当DataList控件绑定到数据源时发生。DeleteCommand当单击DataList控件中某一项的Delete按钮(删除该项)时发生。EditCommand当单击DataList控件中某一项的Edit按钮(使该项进入编辑状态)时发生。ItemCommand当单击DataList控件中的任一按钮时发生。ItemCreated当在DataList控件中创建项时,在服务器上发生。ItemDataBound当数据绑定到DataList控件的项时发生。SelectedIndexChanged在两次服务器发送之间,如果DataList控件中选择了不同的项,则触发该事件。UpdateCommand当单击DataList控件中编辑项的Update按钮(将修改提交到数据库)时发生。2024/1/22精选课件ppt8.3.2DataList控件的基本应用1、显示数据2、格式化各个模版3、多列显示4、定制各个模版精选课件ppt1、使用DataList控件显示数据

首先,创建一个称为SqlDataSource1的数据源。

其次,在界面上放置一个DataList控件。 然后,为datalist选择数据源。此时,会自动生成datalist的结构,主要是增加了对数据源的绑定和生成了ItemTemplate模板。 最后,启动调试就可以看的数据。返回源码试图查看DataList的源码2024/1/22精选课件ppt2、格式化datalist主要方法有:

1)使用datalist智能任务导航中的自动套用格式。

2)通过格式化各个模版进行定制。

A)在属性窗口中格式化。

B)在智能任务导航中的属性生成器。

C)在源代码中手工修改。精选课件ppt2、格式化datalistA)在属性窗口中格式化选择DataList,然后在右侧属性窗口中选择对应属性进行格式设置精选课件ppt2、格式化datalistB)在智能任务导航中的属性生成器精选课件ppt2、格式化datalistC)在源代码中手工修改如上图所示,可以在源码中增加各个模版的style项也可以在各个模版的源码或者模版内部控件上使用各种HTML标签,比如Font、Div、CSS等精选课件ppt3、多列显示数据 在DataList属性面板中利用属性进行重复列的设置和重复方向设置精选课件ppt4、定制各个模版个性化各个模板,两种方式:界面中修改,复制或者添加控件代码修改 一般是添加显示数据的label或者textbox控件和对数据进行编辑的button按钮控件。 在进行数据显示的时候,可以使用其他控件进行排版,必然tabel、panel等。 手工代码方式比较方便,但界面方式简单。

精选课件ppt4、定制各个模版界面方式定制首先:利用智能任务导航进入模版编辑状态。其次:选择一种模版视图。再次:在模版中添加控件或者从别的模版试图中复制控件。最后:设置控件。精选课件ppt4、定制各个模版界面方式定制注意:为TextBox控件设置数据源显示字段。 选择控件,然后利用智能任务导航,选择“编辑……”,然后在弹出的对话框中进行设置。精选课件ppt4、定制各个模版代码方式定制可以在上面代码中直接书写控件源码。一般是从ItemTemplate中复制内容,然后修改,比如把label修改为TextBox等等。精选课件ppt8.3.3对DataList控件编程

8.3.2小节已经做到了以比较美观的形式对数据进行显示,但还不能对数据进行修改。 即使编辑多个模版,也只能看到两个模版,像EditTemplate、SelectedTemplate等都看不到。按上节的方法,为数据源“生成INSERT、UPDATE和DELETE语句”。利用DataList控件也可以完成数据项的就地编辑功能,效果甚至比GridView控件的就地编辑功能(不推荐使用)还要好,但需要付出更多的手工劳动。2024/1/22精选课件ppt8.3.3对DataList控件编程进入选中和编辑状态 第一、设置相应按钮,并触发事件。因为按钮在DataList模版中,属于DataList的子控件。因此不能直接触发事件,需要特殊处理。

首先,设置按钮的commandname属性为某一个动作,比如select、edit、delete、update、cancel等。该名称对应DataList的一个事件。 也可以设置其他标识名称。精选课件ppt8.3.3对DataList控件编程

其次,设置DataList控件对应的事件属性。双击该名称既可得到对应事件过程。

如果各个button按钮设置了其他的commandname属性,那么可以使用ItemCommand事件过程,然后在该事件中通过mandname来判断是触发的哪一个按钮。精选课件ppt8.3.3对DataList控件编程

第二、在事件过程中设置datalist状态。 通过两个属性设置选中和编辑状态:SelectedItemIndex和EditItemIndex,如果属性值为-1,则取消选中或编辑状态,否则,就置对应序号的记录为选中或编辑状态。DataList1.EditItemIndex=e.Item.ItemIndex;精选课件ppt8.3.3对DataList控件编程第三、删除记录、更新记录。 修改数据只能通过DataList对应的数据源控件sqlDataSource来实现。 利用上节课GridView的编辑方式,对sqlDataSource对应的命令参数赋值,然后调用方法即可。注意:模版中的控件,在事件过程中无法直接获得,必须通过findcontrol方法获得ID,并进行类型转换。比如((TextBox)e.Item.FindControl(“txtUserName”)).Text;精选课件ppt8.3.4进一步对DataList控件编程

可以按照上节介绍的方法:为页面增加一个“新增”按钮和一个Panel控件,当按“新增”按钮时控制Panel控件可见并在其上输入新记录的数据。为网站再创建一个新的页面ManagerManage3,继续增加对数据的插入功能。增加一个table控件。两个普通HTML按钮的单击事件处理函数采用JavaScript编程,为“保存”按钮的单击事件编写服务器端处理函数。(参考教材P188-189代码)

2024/1/22精选课件ppt第8章Web数据访问

8.1数据源控件

8.2GridView控件

8.3DataList控件

8.4DetailsView控件

2024/1/22精选课件ppt8.4DetailsView控件

8.4.1常用属性和事件8.4.2DetailsView控件的示例8.4.3DetailsView和GridView组合使用2024/1/22精选课件ppt8.4.1常用属性和事件

前两节介绍的GridView控件和DataList控件都是以列表的形式一次显示多条记录。但在实际应用中经常需要一次只处理一条记录,ASP.NET提供了一些专门处理这种情况的控件,DetailsView就是其中之一。使用DetailsView控件可以显示数据库表中一条记录的信息,还可以执行编辑、删除和插入等操作。2024/1/22精选课件ppt8.4.1常用属性和事件

属性名称说明AllowPaging是否启用分页功能,默认为false。AlternatingRowStyleDetailsView控件中的交替行的外观。AutoGenerate-DeleteButton记录中是否显示“删除”按钮,默认为false。AutoGenerate-EditButton记录中是否显示“编辑”按钮,默认为false。AutoGenerate-InsertButton记录中是否显示“插入”按钮,默认为false。AutoGenerateRows是否在DetailsView控件中为每个字段自动生成一行。注:类似于GridView控件的AutoGenerateColumns属性。BackColor、ForeColor、BorderColor、BorderStyle、BorderWidth等这些属性用于设置DetailsView控件的外观。BottomPagerRowDetailsView控件底部的分页行对象。CommandRowStyleDetailsView控件中的命令行的外观。2024/1/22精选课件ppt8.4.1常用属性和事件

CurrentMode获取DetailsView控件的当前数据输入模式。有3个枚举项可选:Edit、Insert、ReadOnly。默认为ReadOnly。DataItemDetailsView控件中的当前数据项。DataItemCount数据源中的项数。DataItemIndex数据源中当前项的索引,从0开始。DataKey该属性值为一个DataKey对象,该对象表示所显示的记录的主键。注:GridView控件中类似的属性为DataKeys。DataKeyNames该属性值为一个数组,该数组包含了显示在DetailsView控件中项的主键字段的名称。DataSource该属性值为一个DataSource对象,DetailsView控件从该对象中获得数据。DataSourceIDDetailsView控件要绑定到的DataSource控件的ID,DetailsView从该控件中获得数据。DefaultModeDetailsView控件的默认数据输入模式。参CurrentMode属性。EditRowStyle正在编辑的行的样式。FieldHeaderStyle字段标题的样式。2024/1/22精选课件ppt8.4.1常用属性和事件

FieldsDetailsView控件中所有字段的集合。HeaderRowDetailsView控件中的标题行对象。HeaderStyleDetailsView控件中的标题行的外观。HeaderTemplate控件标题部分的模板。HeaderText标题行中显示的文本。InsertRowStyle新插入的行的样式。PageCount获取数据源中的记录数。PageIndex当前记录的索引。PagerStyle页导航行的样式。Rows显示在DetailsView控件中的数据行DetailsViewRow对象的集合。SelectedValueDetailsView控件中的当前记录的数据键值。Visible

DetailsView控件在页面上是否可见。2024/1/22精选课件ppt8.4.1常用属性和事件

事件名称说明DataBinding当DetailsView绑定到数据源时发生。DataBound在DetailsView绑定到数据源后发生。ItemCommand当单击DetailsView控件中的按钮时发生。ItemCreated在DetailsView控件中创建记录时发生。ItemDeleted(ItemDeleting)在单击DetailsView控件中的“删除”按钮时,但在删除操作之后(之前)发生。ItemInserted(ItemInserting)在单击DetailsView控件中的“插入”按钮时,但在插入操作之后(之前)发生。ItemUpdated(ItemUpdating)在单击DetailsView控件中的“更新”按钮时,但在更新操作之后(之前)发生。ModeChanged(ModeChanging)在DetailsView控件试图在编辑、插入和只读模式之间更改时,但在更新CurrentMode属性改变之后(之前)发生。PageIndexChanged(PageIndexChanging)当PageIndex属性的值在换页操作后(前)更改时发生。2024/1/22精选课件ppt8.4.2DetailsView控件的示例

温馨提示

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

评论

0/150

提交评论