我工作的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存储过程。
我该如何解决这个问题?
谢谢...