[习题]SqlDataSource的「FilterExpression」属性,需搭配 DataSet模式

这里是备份,原文请看我的网站:[习题]SqlDataSource的「FilterExpression」属性,需搭配 DataSet模式

http://www.dotblogs.com.tw/mis2000lab/archive/2011/04/29/sqldatasource_filterexpression_filterparameters.aspx

SqlDataSource的「FilterExpression」属性,需搭配 DataSet模式



SqlDataSource的DataSourceMode预设就是 DataSet了。所以不用修改。



SqlDataSource的FilterExpression」属性

      说穿了,就是执行SQL指令之后,放到 DataSet里面。

      然后,再从 DataSet里面去作「筛选」。

      他也可以搭配「参数」的方法(名为 FilterParameters)来作。


本文的补充范例,可以放在ASP.NET 4.0 专题实务(松岗出版)

       「上集」光盘里面的  20章「网站内部的小搜寻引擎」,当作补充教材。

       这个范例,在「下集」的光盘里面也有提供。


================================================================================
范例一。Search_DataSet.aspx

我们使用 「Select * from 数据表 Where title like '% 关键词 %' 」 来进行单一字段的搜寻。
从数据库捞(查询)数据出来,就已经完成了。

        <asp:SqlDataSource ID="SqlDataSource1" runat="server"
            ConnectionString="<%$ ConnectionStrings:在Web.Config文件里面,你自己的联机字符串 %>"
            
            SelectCommand="SELECT * FROM [test] WHERE ([title] LIKE '%' + @title + '%')" >

            <SelectParameters>
                <asp:ControlParameter ControlID="TextBox1" Name="title" PropertyName="Text"
                    Type="String" />
            </SelectParameters>
        </asp:SqlDataSource>
        
        


================================================================================
范例二。Search_DataSet_1.aspx


跟上一个范例最大的不同,就是我们的SQL指令!
们使用 「Select * from 数据表」来进行单一字段的搜寻。

基本上,是捞出「全部」的记录。

然后,再透过 FilterExpression作筛选。

这就是两个范例最大的不同点。

与上一个范例的差别,就在于 HTML设计画面。

        <asp:SqlDataSource ID="SqlDataSource1" runat="server"
            ConnectionString="<%$ ConnectionStrings:在Web.Config文件里面,你自己的联机字符串 %>"
            
            SelectCommand="SELECT * FROM [test]"
            FilterExpression="title like '%{0}%'" >

            <FilterParameters>
                <asp:ControlParameter ControlID="TextBox1" Name="newparameter1"
                    PropertyName="Text" />
            </FilterParameters>

        </asp:SqlDataSource>
      


================================================================================
范例三。Search_DataSet_2_Manual.aspx

这就是范例二的「手写版」。
  "" 使用 SqlDataSource精灵,如果您想多学一点,可以参考看看。

FilterExpression FilterParameters,都放在后置程序代码来写。


我的书,跟别人不同。

除了精灵可以完成的步骤外,我很坚持自己要能 "写程序",把全部的流程跑一遍。



没道理 Visual Studio的精灵能做到的,你却写不出程序来作一样的事?
那要学啥?


1.  初学者、或是程度「暂时」还跟不上的朋友, 可以学简单的版本,用精灵拉一拉就完成。
     手写程序,可以等待以后再回头学习。

     (反正书里都有!有需要,就会查得到!     .....但你买别的「入门」书,"大部分" 都没有。你想学也找不到范例!)


2.  愿意跟自己挑战、要提升功力的人,也可以学到完整的「手写程序」。

范例下载(因为这几个范例很简单,只提供 VB语法)--  SqlDataSource_FilterExpression.rar

      第三个手写的程序,C#语法,您可以在书本的光盘里面,

      参考一下 Search_Engine_4_SqlDataSource_Manual.aspx 即可。语法很简单。此范例在书本 上/下集都有提供。

转载于:https://www.cnblogs.com/mis2000lab/articles/sqldatasource_FilterExpression.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值