- 1、本文档共17页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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 ”列,在操作符中选“=”。当使用“
您可能关注的文档
- 441华信惠悦民生银行人力资源规划.ppt
- 王庄煤业手指口述安全确认操作法汇总.doc
- 43《规范使用通用语言文字,弘扬中华优秀传统文化》主题班会.ppt
- 43确定物体的位置.ppt
- 4321微信聊天套路.ppt
- 44_第44课时化学与技术.pptx
- 44瓦超高功率808nm半导体激光器设计与制作.doc
- 44三位数除以两位数1.ppt
- 4502皮带顺槽掘进作业规程.doc
- 王志林-清华T20交流心得-连环枪.ppt
- 2024年光储项目设计要点及消防安全分析报告.docx
- 大模型提示学习与思维链PPT.docx
- 大连院S-RHT®固定床渣油加氢处理技术.docx
- 高盛 -电网转型:从周期性过渡到结构性成长;可再生能源消纳和人工智能是两大利好因素(摘要) 20240120.docx
- 上海与杭州遗产捐赠的探索性研究.docx
- 2025年有色行业年度策略报告:金铜共舞,拾级而上.docx
- 地球偿付能力 -寻找我们与自然的平衡 Planetary Solvency–finding our balance with nature -Global risk management for human prosperity.docx
- 使用血液系统自我评估(BSS)工具识别血液服务障碍指导文件 -血液系统自我评估.docx
- 碳氢化合物冷却液与服务器材料以及健康环境的兼容性研究.docx
- 银行业2025年信用风险展望-双宽松下稳中求进“内外兼修”和而不同 -大公国际.docx
文档评论(0)