《ASP NET程序设计与开发》课件第7章_第1页
《ASP NET程序设计与开发》课件第7章_第2页
《ASP NET程序设计与开发》课件第7章_第3页
《ASP NET程序设计与开发》课件第7章_第4页
《ASP NET程序设计与开发》课件第7章_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

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

文档简介

7.1SqlDataSource控件简介

7.2SqlDataSource控件的配置

7.3列表控件的数据绑定

本章小结

训练任务7.1SqlDataSource控件简介7.1.1ASP.NET2.0中的数据处理架构要了解在ASP.NET2.0中如何通过Web页面访问数据库,我们首先需要了解ASP.NET2.0是如何对数据进行处理的。图7-1以SqlDataSource控件为例,给出了ASP.NET2.0中的数据处理架构。图7-1ASP.NET2.0中的数据处理架构由图7-1可以看出,ASP.NET2.0使用SqlDataSource控件作为Web页面与数据库联系的桥梁,使得我们在程序中访问数据库时不必考虑“如何访问”的问题,而可以专注于解决“访问什么”的问题。SqlDataSource控件提供了Web页面与数据库联系的双向功能,Web控件可以通过数据绑定命令与SqlDataSource控件关联,而SqlDataSource控件可以通过SelectCommand、UpdateCommand、InsertCommand、DeleteCommand与各种符合OLE标准的数据库进行访问。可以说,对数据库的数据进行处理是ASP.NET技术的核心,而SqlDataSource控件则是数据处理的核心。从本章开始到第9章,我们将介绍与数据处理相关的知识,包括SqlDataSource数据源控件、GridView控件和DetailsView控件。7.1.2SqlDataSource控件

SqlDataSource控件是ASP.NET2.0中应用最为广泛的控件,该控件能够与多种常用数据库进行交互,并且能够在数据绑定控件的支持下完成多种数据访问任务。另外,得益于强大的所见即所得功能,在VisualStudio2005集成开发环境中,几乎不需要编写代码,就能够实现从连接数据源到显示编辑数据等一系列功能,彻底摆脱了编写大量重复性代码的困扰。就控件名称而言,SqlDataSource控件似乎只能访问SqlServer数据库,然而实际情况并非如此,SqlDataSource控件可以访问任何OLEDB或者符合ODBC标准的数据库。SqlDataSource控件和数据绑定控件集成后,能够容易地将从数据源获取的数据显示在Web页面上,只需要为SqlDataSource控件设置数据库连接字符串、SQL语句、存储过程名称即可。应用程序运行时,SqlDataSource控件将根据设置的参数自动连接数据源,并且执行SQL语句或者存储过程,然后返回选择的数据记录集合(假设使用了Select语句),最后关闭数据库。以上过程并不需要编写代码,只需拖动控件,设置属性等,大大降低了工作强度,提高了工作效率。7.1.3SqlDataSource控件的语法结构

用鼠标从工具箱的数据栏中拖一个SqlDataSource控件到Web页面上,切换到源视图,我们可以看到SqlDataSource控件的语法结构如下:

<asp:SqlDataSourceID="SqlDataSource1"runat="server"

ConnectionString="<%$ConnectionStrings:连接字符串%>"

DeleteCommand="DELETEFROM...WHERE..."

InsertCommand="INSERTINTO...VALUES..."

UpdateCommand="UPDATE....SET...WHERE..."

SelectCommand="SELECT...FROM...WHERE...">

<DeleteParameters>

...

</DeleteParameters>

<InsertParameters>

...

</InsertParameters>

<UpdateParameters>

...

</UpdateParameters>

<SelectParameters>

...

</SelectParameters>

</asp:SqlDataSource>

以上语法可以通过SqlDataSource控件的“配置数据源”功能来生成。下面具体介绍SqlDataSource控件的配置。7.2SqlDataSource控件的配置在第3章中,我们以拖曳的方式创建了GridView与SqlDataSource控件,系统会自动生成SqlDataSource代码,非常方便。不过,有时需要针对SqlDataSource进行更详细的设置。下面我们将介绍另一种创建GridView与SqlDataSource控件的方法。7.2.1配置SqlDataSource控件的类型和连接字符串

(1)拖曳SqlDataSource控件到Web页面上,单击右上角的“配置数据源”选项,如图7-2所示。图7-2拖放SqlDataSource控件到Web页面上

(2)在打开的对话框中,选择数据连接,如图7-3所示。这里的连接有两种形式:一种是使用现有的数据库连接,另外一种可以使用新建连接建立新的数据连接,然后选择这个新建的连接为数据连接。新建连接的方法如图7-4所示,这里不再具体介绍。现有的数据连接可以是以前建立过的连接,也可以是在Web.config文件中配置的ConnectionString节点,在实际使用中,以后者为主要方式。图7-3“配置数据源”对话框图7-4新建连接

(3)配置数据连接字符串。如果现有的网站解决方案中没有Web.config文件,则可通过“添加新项”添加一个Web.config文件。去掉文件中现有的“<connectionStrings/>”,添加如下内容:

<connectionStrings>

<addname=“second”connectionString="server=localhost; InitialCatalog=second;IntegratedSecurity=true;" providerName="System.Data.SqlClient"/>

   </connectionStrings>

用一<connectionStrings>...</connectionStrings>标记可以定义多个连接字符串。每一项由name、connectionString、providerName三个属性构成。其中,name表示该连接字符串的名字,是图7-3所示的下拉菜单中显示的名称;connectionString是连接字符串的核心,它由可选的几个属性构成。本例所代表的意思是:“server=localhost”表示使用本地数据库服务器,如果要使用其他数据库服务器,则需要输入服务器的IP;“InitialCatalog=second”表示选择的数据库名称;“IntegratedSecurity=true”表示数据库服务器使用的是Windows集成身份认证,如果SqlServer数据用的是混合认证方式,则要把该处改为相应的用户名和密码。当然,连接字符串中还可以添加其他属性。7.2.2配置SqlDataSource控件的数据访问方式

SqlDataSource控件提供了如下两种访问数据的方式:

(1)设置数据访问来自表或视图的数据。假设网页显示数据为单一数据表,可以选择此方式,并且系统会自动生成“选择”、“添加”、“删除”、“更新”等SQL语法。

(2)设置以“存储过程”或“SQL语句”访问数据。如果网页显示数据来自多个关联数据表,则可选择此种方式,但是系统无法自动生成“选择”、“添加”、“更新”、“删除”等SQL语法,可以使用“查询生成器”自行生成。图7-5为在连接字符串设置好后,单击“下一步”看到的界面。图7-5选择数据访问方式通过上面的介绍,我们了解了SqlDataSource控件的基本概念和数据访问的方式。下面的项目任务7-1和7-2实现了为SqlDataSource控件设置数据源。项目任务7-1设置数据访问来自存储过程或SQL语句

【要求】设置数据访问来自存储过程或SQL语句。

【步骤】

(1)配置Select语句。如图7-6所示,选中“指定自定义SQL语句或存储过程”单选按钮。图7-6“配置Select语句”对话框

(2)创建SQL命令。在“配置Select语句”界面,可以选择使用下列两种方式来设置数据源:

① SQL语句。必须自行设置SELECTUPDATEINSERTDELETE命令,单击“查询生成器”按钮,可进入“查询生成器”对话框协助创建SQL语句,如图7-7所示。

②存储过程。必须在SQLServer中先创建存储过程,然后选择存储过程。图7-7配置数据源窗口

(3)在“查询生成器”中添加表。单击“查询生成器”按钮后,出现“查询生成器”对话框,首先必须添加数据表,然后单击“添加”按钮,如图7-8所示。图7-8利用“查询生成器”添加表

(4)利用“查询生成器”执行查询。

“查询生成器”对话框可分为下列几部分(见图7-9):

①数据表关联图。可以设置数据表的关联以及要显示的字段。

②设置排序与WHERE条件。可以设置排序字段或方向,也可以设置WHERE子句条件。

③SQL语句。设置上述两个项目后生成SQL语句,也可以直接修改。

④“执行查询”按钮。单击此按钮可执行SQL语句。

⑤执行后的结果。

⑥“确定”按钮。图7-9设置查询

(5)生成SQLSelect命令。单击“确定”按钮后,返回如图7-10所示的“配置数据源”对话框,还可以设置其他SQL命令,或者单击“下一步”按钮。

(6)单击“测试查询”按钮来测试结果,确认完成后单击“完成”按钮,如图7-11所示。图7-10生成的SQLSelect命令图7-11测试查询项目任务7-2设置数据访问来自表或视图数据

【要求】设置数据访问来自表或视图数据。

【步骤】

(1)选择数据表及字段。选择数据表,然后选择字段,如图7-12所示。系统自动生成读取数据的“选择”的SQL语句。在右方有3个按钮,说明如下:①WHERE按钮:设置WHERE子句条件的参数,在7.2.3节中会作介绍。②ORDERBY按钮:设置排序字段。③ “高级”按钮:设置生成INSERTUPDATE以及DELETE的SQL语句。图7-12“配置数据源”对话框

(2)生成添加、删除、修改数据的SQL语句。单击“高级”按钮后,会出现如图7-13所示的对话框,选中“生成INSERT、UPDATE和DELETE语句”复选框,在此选项中可以生成INSERT、UPDATE和DELETE的SQL选项。图7-13“高级SQL生成选项”对话框

(3)设置排序字段。单击ORDERBY按钮,打开如图7-14所示的“添加ORDERBY子句”对话框,在此对话框中可以选择排序字段及排序方式。图7-14“添加ORDERBY子句”对话框

(4)单击“下一步”按钮,测试查询。在测试查询步骤中,可以单击“测试查询”按钮预览查询数据,然后单击“完成”按钮即可,如图7-15所示。图7-15测试查询通过完成以上两个项目任务,我们可以发现两者各有优缺点,使用第二种方式是一种可视化的操作,比较适合初学者;使用第一种方式则可以灵活地添加各种SQL语句,如同使用SQLServer企业管理器一样方便,比较适合对SQL语句非常熟悉的读者。因此,我们在学习这一部分知识的时候,掌握这两种方式的设置都很重要。7.2.3配置WHERE子句

在实际的开发过程中,经常会进行各种各样的查询,这就需要我们对SQL语句中的WHERE子句进行灵活的配置。如果读者比较熟悉SQL语句的语法,那么可以直接用7.2.2节提到的第一种方式进行设置,而对于初学者而言,用第二种方法更简单,因为它完全是可视化的操作。本节介绍几个常用的WHERE子句的配置方法。

在Web页面中添加一个新的SqlDataSource控件,点击“配置数据源”,选择“second”数据连接,打开如图7-12所示的窗口。在图7-12中单击“WHERE”按钮,可以打开如图7-16所示的窗口。图7-16“添加WHERE子句”窗口在图7-16所示的窗口中,列出了所有已经选择的列,我们可以通过选择不同的列来设置相应的WHERE子句条件。在列的下方,还有“运算符”和“源”两个选项可以选择,在当前的状态下,两个选项均以灰色显示,这是因为运算符会根据所选列的数据类型不同而发生改变,而“源”选项需要在选择列后才能显示。

“运算符”选项中,可选择的运算符取决于数据列的定义。对于定义为整数的数据列,可选择等于(=)、小于(<)、大于(>)、小于等于(<=)、大于等于(>=)或不等于(<>);对于允许空值的数据列,还可选择“ISNULL”和“ISNOTNULL”;对于定义为字符数据类型的数据列,可选择“LIKE”和“NOTLIKE”。“源”选项中可选择“None”、“Control”、“Cookie”、“Form”、“Profile”、“QueryString”和“Session”。选择“None”表示将在搜索条件中使用文本值,在这种情况下,“参数属性”元素将只显示一个“值”字段。选择任何其他“源”值表示将在搜索条件中使用参数化值,在这种情况下,“参数属性”元素将显示两个字段。

通过上面的介绍,我们了解到如果要访问所需要的数据,其实就是配置SQL语句的WHERE子句。下面的项目任务7-3实现了SqlDataSource控件的模糊查询功能。项目任务7-3实现SqlDataSource控件的模糊查询功能

【要求】实现一个模糊查询的功能,在TextBox1中输入需要查询的标题的名称,在productinfo表中搜索出所有满足条件的记录。

【步骤】

(1)添加一个新的Web页面“7-2.aspx”,拖一个TextBox控件和SqlDataSource控件到Web页面上,点击“配置数据源”,选择“second”数据连接,点击“下一步”,选择数据表的名称“productinfo”表,选择所有的数据列(如图7-17所示),然后点击“WHERE”按钮,打开“添加WHERE子句”对话框。图7-17选择productinfo表的所有列

(2)在打开的窗口中配置相应的参数,如图7-18所示。

(3)在“添加WHERE子句”对话框中单击“添加”按钮,然后单击“确定”完成操作,如图7-19所示。图7-18配置Control查询图7-19完成“添加WHERE子句”操作当然,在该项目任务中我们还没有把结果显示出来,在第8章的介绍中,我们可以用GridView控件把结果显示在Web页面上。在这个项目中,我们可以发现在ASP.NET中配置WHERE子句非常方便,除了本项目以外,还可以通过选择不同的“源”选项来实现各种复杂的查询。灵活地配置WHERE子句是学习ASP.NET过程中需要掌握的一项重要技巧,读者应在使用过程中不断地积累,只有这样才能开发出符合各种要求的复杂查询。7.3列表控件的数据绑定在ASP.NET中有许多控件可以进行数据绑定(DataBind),这些控件包括DropDownList、ListBox、CheckBoxList、BulletedList、RadioButtonList等。这些控件既可以由开发人员手动编辑数据,也可以通过设置与数据库字段实现绑定,并且可以添加事件,判断用户的选择,其功能十分强大。这些控件都有以下三个共同的属性:

(1) DataSourceID:数据源控件ID。

(2) DataTextField:设置控件显示的字段。

(3) DataValueField:设置控件值的字段。下面首先介绍如何创建列表控件。

(1)创建新网页7-3.aspx。

(2)将控件拖曳到设计窗口。将CheckBoxList、ListBox、BulletedList、RadioButtonList、DropDownList控件拖曳到设计窗口,如图7-20所示。

(3)对SqlDataSource进行配置。选择Catalogs表中的所有字段,如图7-21所示。图7-20将控件拖曳到设计窗口图7-21配置数据源为Catalogs中的所有字段

(4)设置“选择数据源”对话框,如图7-22所示。这里需要注意的是,“选择要在DropDownList中显示的数据字段”和“为DropDownList的值选择数据字段”是两个不同的概念,一般在设置的时候把两者设为一致,其实可以设置为不同的两个字段。其中,“选择要在DropDownList中显示的数据字段”对应的是“DropDownList1.SelectedItem.Text”属性,而“为DropDownList的值选择数据字段”对应的是“DropDownList1.SelectedValue”,请读者仔细体会两者的区别。图7-22选择数据源

(5)设置其他控件。根据上一步设置CheckBoxList、ListBox、BulletedList、RadioButtonList等控件的数据绑定。

(6)按F5键,

温馨提示

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

评论

0/150

提交评论