我正在处理asp.net。我有一个SqlDataSource
用硬编码的SelectCommand上查询:ASP.NET SqlDataSource,就像SelectCommand
<asp:SqlDataSource ID="DataSource1" runat="server" CancelSelectOnNullParameter="False"
ConnectionString="<%$ ConnectionStrings:S.Properties.Settings.ConnectionString %>"
SelectCommand="SELECT * FROM [table]
WHERE ([col1] like Case @col1_param When null Then col1 Else @col1_param End)
and ([col2] like Case @col2_param When null Then col2 Else @col2_param End)"
SelectCommandType="Text">
<SelectParameters>
<asp:ControlParameter ControlID="TextBox1" Name="col1_param" PropertyName="Text"
Type="String" />
<asp:ControlParameter ControlID="TextBox2" Name="col2_param" PropertyName="Text"
Type="String" />
</SelectParameters>
我想的是,如果你在一个文本框输入数据而已,数据将只在WHERE子句的文本框的值根据显示。如果两个文本框均未放置任何值,则查询将执行,就好像没有任何位置一样。
现在使用这段代码,会发生什么情况是,如果您只放在一个文本框中,则不显示任何数据。如果所有文本框都是空白的,则相同。
我不想使用sql存储过程。
我该如何解决这个问题?
谢谢...
谢谢!!!!!!!!!!! – trek 2013-04-09 04:31:24