网站大量收购闲置独家精品文档,联系QQ:2885784924

48-使用SqlDataSource控件查询数据.docx

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
48-使用SqlDataSource控件查询数据

导言:? 在上一章里,我们探讨了怎样用SqlDataSource控件直接从数据库检索数据。通过设置数据源向导,我们可以选择要访问的数据库,然后要么从指定的表或视图,要么从自定义的SQL语句或存储过程来返回需要的记录。不管用那种方式,SqlDataSource控件的SelectCommand 属性都被赋值为一个ad-hoc SQL SELECT命令(SELECT statement)。当SqlDataSource控件的Select()方法被调用时(无论数据Web控件是自动还是通过编程设置来调用Select()方法),就将执行这个SELECT命令。? 上一篇教程里使用的SQL SELECT命令里缺少WHERE字句,在SELECT命令里WHERE字句用来限制查询结果范围。比如,我们显示那些价格高于50的产品名称时,可以用如下所示的查询语句:SELECT ProductNameFROM ProductsWHERE UnitPrice 50.00?? 特别的,WHERE字句中的参数值来源于外部(some external source),比如:查询字符串的值,一个session变量,或用户从Web控件输入的值。一般来说,通过使用参数的方式来传递这些值。在Microsoft SQL Server里,我们这样表示参数@parameterName,例如:SELECT ProductNameFROM ProductsWHERE UnitPrice @Price? SqlDataSource控件支持带参数的查询,包括SELECT,INSERT, UPDATE和DELETE 命令而且,参数的值可以来源于一个查询字符串,session状态,页面上的控件等等,甚至可以通过编程来赋值。这一章我们探讨怎样通过显式地赋值和通过编程来赋值2种方式来构造带参数的查询。?注意:?? 在上一章我们将SqlDataSource控件和ObjectDataSource控件作了比较。除了在概念上类似外,它们在参数的使用上也很相像。不过SqlDataSource控件的参数与位于业务逻辑层的相关方法的对应参数相匹配,而ObjectDataSource控件的参数由SQL查询直接定义。此2种控件的Select(),Insert(), Update()和Delete()方法都有对应的参数集,此外这2种控件还可以包含通过编程传入的,或由查询字符串,session变量等预定义源(pre-defined sources)传入的参数值。构造一个带参数的查询SqlDataSource控件的数据源设置向导提供了三种检索数据的方式:?通过返回表或视图的相关列?通过使用自定义SQL查询?通过使用存储过程? 当使用通过返回表或视图的相关列的方法的时候,需要在“添加WHERE字句”对话框里为WHERE字句设置参数。当使用通过使用自定义SQL查询方法时,需要直接在WHERE字句设置参数(每个参数的形式为:@parameterName)。对第三中方法,因为一个存储过程由一个或几个SQL语句组成,而且在SQL语句中可以设置参数,所以那些SQL语句中设置的参数对存储过程来说是输入参数。? 一个带参数查询的构造取决于SqlDataSource控件的SelectCommand命令是如何设置的,我们接下来使用上面三种方法来构造带参数的查询。打开SqlDataSource文件夹里的ParameterizedQueries.aspx页面,进入设计模式,从工具箱拖一个SqlDataSource控件到页面上,设置其ID为Products25BucksAndUnderDataSource,然后在智能标签中点“配置数据源”链接,选择NORTHWINDConnectionString,点“下一步”。第一步:在“指定来自表或视图的列”模式里添加WHERE字句? 当选择使用SqlDataSource控件从数据库返回数据时,其数据源设置向导允许我们使用最简单的“指定来自表或视图的列”模式(如图1)。此模式会自动生成Select()方法调用时使用的SQL SELECT命名。象上一章探讨的一样,在Products表中选择ProductID,ProductName和UnitPrice三列。?????????????????? 图1:选择“指定来自表或视图的列”模式?? 为给SELECT命令添加WHERE字句,请点击“WHERE”按钮,进入“添加WHERE字句”界面(如图2),首选选择用来筛选记录的列,再选择操作符(比如=, , =, 等),最后选择参数值来源,比如来自查询字符串,视图状态等。完成设置后点“添加”按钮。??? 本例中,我们仅仅返回那些价格小于或等于25的记录。所以我们选“UnitPrice ”列,在操作符中选“=”。当使用“

文档评论(0)

整理王 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档