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

下载本文档

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

文档简介

第8章 Web数据访问,Web应用开发技术,2019/5/13,Web应用开发技术,第8章 Web数据访问,8.1 数据源控件 8.2 GridView控件 8.3 DataList控件 8.4 DetailsView控件,2019/5/13,Web应用开发技术,8.1 数据源控件,8.1.1 数据源控件概述 8.1.2 SqlDataSource控件,2019/5/13,Web应用开发技术,8.1.1 数据源控件概述,ASP.NET中参与数据绑定的有两类服务器控件:数据源(DataSource)控件和数据绑定控件。这些控件完成Web数据访问的基础任务。 ASP.NET包含一些DataSource控件。这些DataSource控件不呈现任何用户界面,而是充当不同类型数据源与网页上其他界面控件之间的中间方。DataSource控件对象可以用声明的方式(在网页文件中)或者以编程的方式(在代码隐藏文件中)定义。,2019/5/13,Web应用开发技术,8.1.1 数据源控件概述,使用DataSource控件可以连接到数据源,无需编写代码即可实现以下功能: 从数据源中检索数据; 设置页面行为(如排序、分页、缓存等); 更新、插入和删除数据; 使用运行时参数筛选数据; 允许其他界面控件绑定到DataSource控件,以便在网页中显示数据。,2019/5/13,Web应用开发技术,8.1.1 数据源控件概述,ASP.NET包含支持不同数据绑定方案的DataSource控件,包括: ObjectDataSource:连接中间层对象或数据接口对象,使用ObjectDataSource可以创建依赖于中间层对象来管理数据的Web应用程序。 SqlDataSource:连接ADO.NET托管数据提供程序,完成对SQL Server、Oracle、OLE DB或ODBC数据源的访问。 AccessDataSource:连接Access数据库。 XmlDataSource:连接XML数据源文件,一般为诸如TreeView或Menu等层次结构控件提供数据。 SiteMapDataSource:与ASP.NET站点导航结合使用。,2019/5/13,Web应用开发技术,8.1.1 数据源控件概述,DataSource控件不呈现任何用户界面,用户界面功能由数据绑定控件完成。数据绑定控件可以绑定到DataSource控件,并自动在页面请求生命周期的适当时机获取数据。数据绑定控件通过其DataSourceID属性连接到DataSource控件,然后即可利用DataSource控件所提供的功能,包括排序、分页、缓存、筛选、更新、删除和插入等。 ASP.NET提供专用的数据绑定控件,如DataList、DetailsView、GridView和FormView等,本章的重点是介绍前3种专用数据绑定控件,,2019/5/13,Web应用开发技术,8.1.2 SqlDataSource控件,SqlDataSource 控件使用SQL命令来检索和修改数据,可用于SQL Server、Oracle、OLE DB和ODBC等数据源。 SqlDataSource控件可将检索结果作为DataReader或DataSet对象返回。当结果作为DataSet返回时,还可以对结果进行排序、筛选和缓存等操作。 为网站创建一个新的页面StudentManage1。最终要在此页面上完成对学生信息的管理。,2019/5/13,Web应用开发技术,8.1.2 SqlDataSource控件,在工具箱的“数据”页中拖动一个SqlDataSource控件到页面上来 ,切换到设计视图,可以看到一个可视化的SqlDataSource控件。将鼠标移动到该控件右上角,可以看到一个小三角标记,该标记称为SqlDataSource控件的“智能标签”。单击智能标签,可以打开一个上下文相关的菜单,初始时如图 所示。,2019/5/13,Web应用开发技术,8.1.2 SqlDataSource控件,单击“配置数据源”,弹出配置数据源向导,用户可在该向导的引导下,对数据源进行配置。 该向导的第1步是“选择你的数据连接”。 因为目前本网站还没有创建到数据库的连接,因此,需要按“新建连接”按钮,进入“添加连接”对话框,添加一个新的数据库连接,如图所示。,2019/5/13,Web应用开发技术,8.1.2 SqlDataSource控件,按“测试连接”按钮进行测试,如果测试成功,则可按“确定”按钮返回配置数据源向导,按“下一步”继续。 向导提示“将连接字符串保存到应用程序配置文件中”,如图所示。 选择“是”复选框,将连接字符串的名称改为SQLConnectionString,按“下一步”继续。,2019/5/13,Web应用开发技术,8.1.2 SqlDataSource控件,在“配置Select语句”步骤,界面如图 所示。,2019/5/13,Web应用开发技术,8.1.2 SqlDataSource控件,在“测试查询”步骤,按“测试查询”按钮,如果示例数据库已经建立且前述步骤都配置正确,应该能够显示结果数据集,如图所示。 按“完成”按钮,完成对数据源的配置。 数据源配置完成后,可以看到网站项目中新增加了一个Web.Config文件。打开它,可以看到其中有已经配置好的数据库连接字符串SQLConnectionString。,2019/5/13,Web应用开发技术,第8章 Web数据访问,8.1 数据源控件 8.2 GridView控件 8.3 DataList控件 8.4 DetailsView控件,2019/5/13,Web应用开发技术,8.2 GridView控件,8.2.1 常用属性和事件 8.2.2 GridView控件的基本应用 8.2.3 通过GridView控件修改数据 8.2.4 多个GridView和SqlDataSource相互配合 8.2.5 对GridView控件编程,2019/5/13,Web应用开发技术,8.2.1 常用属性和事件,使用GridView控件可以在“表”中显示数据源的值,其中每列表示一个字段,每行表示一条记录。GridView 控件还允许选择和编辑这些项以及对它们进行排序。 GridView控件包括很多属性和事件,方便用户对其进行灵活的设计期配置及运行期程序控制。,2019/5/13,Web应用开发技术,8.2.1 常用属性和事件,2019/5/13,Web应用开发技术,8.2.1 常用属性和事件,2019/5/13,Web应用开发技术,8.2.1 常用属性和事件,2019/5/13,Web应用开发技术,8.2.2 GridView控件的基本应用,从工具箱中拖一个GridView控件到页面上来 。 切换到设计视图,单出GridView控件的智能标签,在“选择数据源”中选择SqlDataSource1,可以看到设计视图中的GridView控件外观发生了变化,主要是为STUDENT表的各字段生成了对应的绑定列。 再次打开GridView控件的智能标签,选择“启用分页”。 执行页面,运行效果如图 所示。,2019/5/13,Web应用开发技术,8.2.2 GridView控件的基本应用,GridView控件提供了众多属性用于外观控制,如BackColor、ForeColor、BorderColor等,完全可以通过手工配置这些属性来达到个性化的完美显示效果。但也许不必这么辛苦就能达到相当专业的显示效果。再次打开GridView控件的智能标签,选择“自动套用格式”,弹出如图 的对话框。 用户可以在左侧的“选择方案”列表中选择一种系统预置的外观方案(如“石板”),如果预览效果满意,按“确定”按钮回到设计视图,即可以看到外观的改善。,2019/5/13,Web应用开发技术,8.2.2 GridView控件的基本应用,手工修改各字段的HeaderText属性,将其改为中文。 再次执行页面,效果如图所示 。,2019/5/13,Web应用开发技术,8.2.3 通过GridView控件修改数据,在设计视图中打开SqlDataSource1的智能标签,选择“配置数据源”,可对数据源进行进一步的配置。 按“下一步”,到达“配置Select语句”步骤。按“高级”按钮,在“高级SQL生成选项”对话框中选择“生成INSERT、UPDATE和DELETE语句”复选框。 再次打开GridView控件的智能标签,选择“编辑列”,弹出“字段”对话框。 在“可用字段”列表中选择CommandField,按“添加”按钮,CommandField出现在“选定的字段”列表中。 再次执行页面,效果如图所示。,2019/5/13,Web应用开发技术,8.2.4 多个GridView和 SqlDataSource相互配合,ASP.NET提供了多个GridView和多个SqlDataSource相互配合的能力。配合的方式可以有很多,可以达到丰富的功能效果 . 拖一个GridView控件到页面上原有内容的下部,可以看到其ID为GridView2。 在设计视图上单击GridView2的智能标签,在“选择数据源”列表中选择“新建数据源”,进入数据源配置向导,如图 所示。,2019/5/13,Web应用开发技术,8.2.4 多个GridView和 SqlDataSource相互配合,选择“数据库”,接受指定的数据源ID,按“确定”按钮继续。 在“选择你的数据连接”步骤选择前节创建的SQLConnectionString,按“下一步”按钮继续。 在“配置Select语句”步骤选择“指定来自表或视图的列”,选择STUDENT_CLASS表的所有列。与前节不同的是,需要为Select语句定义WHERE子句。 执行页面,可以看到:当单击一个学生的“所选课程”按钮时,页面的下部就会列出他所选的课程列表。,2019/5/13,Web应用开发技术,8.2.5 对GridView控件编程,可以针对GridView进行编程,来实现更加丰富的功能。 为UseGridView网站创建一个新的页面StudentManage2,目的是用另一种方法完成对学生信息的管理。 下面针对不同的功能要求,为该页面编写程序。 首先,如果用户没有要求修改或新增学生信息,页面下部的Panel1部分应该是不显示的。,2019/5/13,Web应用开发技术,8.2.5 对GridView控件编程,介绍另一种进入控件事件编程的方法:在设计视图上选中GridView1控件,单击“属性”窗口上部的闪电图标,窗口中列出GridView1控件的所有事件。双击RowDataBound行,系统会自动转到代码隐藏文件中,并为GridView1的RowDataBound事件增加处理函数,默认的函数名为 GridView1_RowDataBound。 执行页面,界面如图所示。,2019/5/13,Web应用开发技术,小结,当需要列表、分页、排序显示大量数据时,使用GridView控件是一个很好的选择。 GridView控件本身提供了很强的功能,还可以通过编程的方式完成对数据更复杂的操作。 由于控件本身提供了内置的分页、排序等功能,因此,GridView控件适合于管理记录较多的数据库表。由于GridView控件封装良好,从另一个方面来看,不容易在字段上增加各种灵活操作,因此适合于对没有更多关联关系的数据库表的管理。,2019/5/13,Web应用开发技术,第8章 Web数据访问,8.1 数据源控件 8.2 GridView控件 8.3 DataList控件 8.4 DetailsView控件,2019/5/13,Web应用开发技术,8.3 DataList控件,8.3.1 DataList控件的模板和事件 8.3.2 DataList控件的基本应用 8.3.3 对DataList控件编程实现数据修改和删除 8.3.4 对DataList控件编程实现数据添加,DataList控件概述,DataList控件用于在重复的列表中显示数据项,并且支持对这些项进行选择和编辑。 DataList中列表项的内容和布局是使用模板定义的,可以为项、交替项、选定项和编辑项创建模板;也可以使用标题、脚注和分隔符模板自定义DataList的整体外观。 DataList可以 多列显示数据。 DataList无内置分页、排序等功能,适合管理数据不太多的数据源。,2019/5/13,Web应用开发技术,8.3.1 DataList控件的模板和事件,DataList控件可用于模板化地列表显示数据,可用自定义的格式显示数据库的各行信息。使用DataList控件,可通过所创建的模板来定义数据显示布局。所谓模板,就是用来控制显示数据库中每条记录的HTML。 DataList控件可用于列表操作任何重复结构中的数据,它使用HTML的table元素在列表中显示数据记录。但是,若要更精确地控制用于显示的HTML,可以选择使用Repeater控件.,2019/5/13,Web应用开发技术,8.3.1 DataList控件的模板和事件,2019/5/13,Web应用开发技术,8.3.1 DataList控件的模板和事件,每个模板都支持其自己的样式对象,样式对象包含一系列外观属性的定义,可以在设计时和运行时进行设置。与上表相对应,样式对象包括: ItemStyle AlternatingItemStyle SelectedItemStyle EditItemStyle HeaderStyle FooterStyle SeparatorStyle,2019/5/13,Web应用开发技术,8.3.1 DataList控件的模板和事件,DataList控件支持的公共事件,8.3.2 DataList控件的基本应用,1、显示数据 2、格式化各个模版 3、多列显示 4、定制各个模版,2019/5/13,Web应用开发技术,1、使用DataList控件显示数据,首先,创建一个称为SqlDataSource1的数据源。 其次,在界面上放置一个DataList控件。 然后,为datalist选择数据源。此时,会自动生成datalist的结构,主要是增加了对数据源的绑定和生成了ItemTemplate模板。 最后,启动调试就可以看的数据。 返回源码试图查看DataList 的源码,2、格式化datalist,主要方法有: 1)使用 datalist智能任务导航中的自动套用格式。 2)通过格式化各个模版进行定制。 A)在属性窗口中格式化。 B)在智能任务导航中的属性生成器。 C)在源代码中手工修改。,2、格式化datalist,A)在属性窗口中格式化 选择DataList,然后 在右侧属性窗口中选择 对应属性进行格式设置,2、格式化datalist,B)在智能任务导航中的属性生成器,2、格式化datalist,C)在源代码中手工修改 如上图所示,可以在源码中增加各个模版的style项 也可以在各个模版的源码或者模版内部控件上使用各种HTML标签,比如Font、Div、CSS等,3、多列显示数据,在DataList属性面板中利用属性进行重复列的设置和重复方向设置,4、定制各个模版,个性化各个模板,两种方式: 界面中修改,复制或者添加控件 代码修改 一般是添加显示数据的label或者textbox控件和对数据进行编辑的button按钮控件。 在进行数据显示的时候,可以使用其他控件进行排版,必然tabel、panel等。 手工代码方式比较方便,但界面方式简单。,4、定制各个模版,界面方式定制 首先:利用智能任务导航进入模版编辑状态。 其次:选择一种模版视图。 再次:在模版中添加控件或者从别的模版试图中复制控件。 最后:设置控件。,4、定制各个模版,界面方式定制 注意:为TextBox控件设置数据源显示字段。 选择控件,然后利用智能任务导航,选择“编辑”,然后在弹出的对话框中进行设置。,4、定制各个模版,代码方式定制 可以在上面代码中直接书写控件源码。 一般是从ItemTemplate中复制内容,然后修改,比如把label修改为TextBox等等。,2019/5/13,Web应用开发技术,8.3.3 对DataList控件编程,8.3.2小节已经做到了以比较美观的形式对数据进行显示,但还不能对数据进行修改。 即使编辑多个模版,也只能看到两个模版,像EditTemplate、SelectedTemplate等都看不到。 按上节的方法,为数据源“生成INSERT、UPDATE和DELETE语句”。 利用DataList控件也可以完成数据项的就地编辑功能,效果甚至比GridView控件的就地编辑功能(不推荐使用)还要好,但需要付出更多的手工劳动。,8.3.3 对DataList控件编程,进入选中和编辑状态 第一、设置相应按钮,并触发事件。因为按钮在DataList模版中,属于DataList的子控件。因此不能直接触发事件,需要特殊处理。 首先,设置按钮的commandname属性为某一个动作,比如select、edit、delete、update、cancel等。该名称对应DataList的一个事件。 也可以设置其他标识名称。,8.3.3 对DataList控件编程,其次,设置DataList控件对应的事件属性。双击该名称既可得到对应事件过程。 如果各个button按钮设置了其他的commandname属性,那么可以使用ItemCommand事件过程,然后在该事件中通过mandname来判断是触发的哪一个按钮。,8.3.3 对DataList控件编程,第二、在事件过程中设置datalist状态。 通过两个属性设置选中和编辑状态:SelectedItemIndex和EditItemIndex,如果属性值为-1,则取消选中或编辑状态,否则,就置对应序号的记录为选中或编辑状态。 DataList1.EditItemIndex=e.Item.ItemIndex;,8.3.3 对DataList控件编程,第三、删除记录、更新记录。 修改数据只能通过DataList对应的数据源控件sqlDataSource来实现。 利用上节课GridView的编辑方式,对sqlDataSource对应的命令参数赋值,然后调用方法即可。 注意:模版中的控件,在事件过程中无法直接获得,必须通过findcontrol方法获得ID,并进行类型转换。 比如(TextBox)e.Item.FindControl(“txtUserName”).Text;,2019/5/13,Web应用开发技术,8.3.4 进一步对DataList控件编程,可以按照上节介绍的方法:为页面增加一个“新增”按钮和一个Panel控件,当按“新增”按钮时控制Panel控件可见并在其上输入新记录的数据。 为网站再创建一个新的页面ManagerManage3,继续增加对数据的插入功能。 增加一个table控件。两个普通HTML按钮的单击事件处理函数采用JavaScript编程,为“保存”按钮的单击事件编写服务器端处理函数 。 (参考教材P188-189代码),2019/5/13,Web应用开发技术,第8章 Web数据访问,8.1 数据源控件 8.2 GridView控件 8.3 DataList控件 8.4 DetailsView控件,2019/5/13,Web应用开发技术,8.4 DetailsView控件,8.4.1 常用属性和事件 8.4.2 DetailsView控件的示例 8.4.3 DetailsView和GridView组合使用,2019/5/13,Web应用开发技术,8.4.1 常用属性和事件,前两节介绍的GridView控件和DataList控件都是以列表的形式一次显示多条记录。但在实际应用中经常需要一次只处理一条记录,ASP.NET提供了一些专门处理这种情况的控件,DetailsView就是其中之一。 使用DetailsView控件可以显示数据库表中一条记录的信息,还可以执行编辑、删除和插入等操作。,2019/5/13,Web应用开发技术,8.4.1 常用属性和事件,2019/5/13,Web应用开发技术,8.4.1 常用属性和事件,2019/5/13,Web应用开发技术,8.4.1 常用属性和事件,2019/5/13,Web应用开发技术,8.4.1 常用属性和事件,2019/5/13,Web应用开发技术,8.4.2 DetailsView控件的示例,DetailsView控件可以触发许多与用户交互相关的事件,也就是说可以通过编程对数据库表中的单条记录实现丰富、细致的操作。 创建一个新的页面TeacherManage1。最终要在此页面上完成对教师信息的管理。 从工具箱拖一个DetailsView控件到页面上来,切换到设计视图,打开DetailsView1的智能标签,按照前文的方法,新建一个称为SqlDataSource1的数据源 。 为DetailsView1创建了数据源后,在设计视图中可以看到其预览形式已经发生了变化显示了记录的所有字段。 执行页面,界面如图 所示。,2019/5/13,Web应用开发技术,8.4.2 DetailsView控件的示例,在设计视图DetailsView1的智能标签中,将“启用分页”、“启用插入

温馨提示

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

评论

0/150

提交评论