SqlDataSource+GridView 顯示全部&部分篩選
.Net學習也有段時間了,之前一直再用笨方法來做SELECT全部資料&部分性篩選資料(靠CODE在篩選),終於讓師父Mars大幫我解開這個笨行為,
以下是由SqlDataSource精靈模式下所產生出來的
<asp:SqlDataSource ID="SDS_" runat="server"
ConnectionString="<%$ ConnectionStrings:SQLServer %>"
SelectCommand="SELECT * FROM [WBACC] WHERE ([ACID] LIKE '%' + @ACID + '%') "
<SelectParameters>
<asp:ControlParameter ControlID="TB_KEYWORD" Name="ACID"
PropertyName="Text" Type="String" />
</SelectParameters>
這種方法必須要在TB_KEYWORD有值才能顯示出資料
此種方法如果是在SQL中則會跑出
SELECT * FROM [WBACC] WHERE ([ACID] LIKE '%Null%')
這樣一定會跑不出資料
但是如果更改為
<asp:ControlParameter ControlID="TB_KEYWORD" Name="ACID"
PropertyName="Text" Type="String" ConvertEmptyStringToNull="False" />
這樣的方法則SQL會跑出
SELECT * FROM [WBACC] WHERE ([ACID] LIKE '%%')
資料取得全部!!
以下是由SqlDataSource精靈模式下所產生出來的
<asp:SqlDataSource ID="SDS_" runat="server"
ConnectionString="<%$ ConnectionStrings:SQLServer %>"
SelectCommand="SELECT * FROM [WBACC] WHERE ([ACID] LIKE '%' + @ACID + '%') "
<SelectParameters>
<asp:ControlParameter ControlID="TB_KEYWORD" Name="ACID"
PropertyName="Text" Type="String" />
</SelectParameters>
這種方法必須要在TB_KEYWORD有值才能顯示出資料
此種方法如果是在SQL中則會跑出
SELECT * FROM [WBACC] WHERE ([ACID] LIKE '%Null%')
這樣一定會跑不出資料
但是如果更改為
<asp:ControlParameter ControlID="TB_KEYWORD" Name="ACID"
PropertyName="Text" Type="String" ConvertEmptyStringToNull="False" />
這樣的方法則SQL會跑出
SELECT * FROM [WBACC] WHERE ([ACID] LIKE '%%')
資料取得全部!!
留言
張貼留言