asp.net初学者问一个根据DropDownList的值进行模糊查询的方法。

nanhe0065 2007-06-18 08:52:01

在按钮Click事件里我是按如下方式写的:

string strSql = "select A, B, C, D, E from TABLE where ";
switch (DropDownList1.Text)
{
case "注册号":
strSql += "A";
break;
case "企业名称":
strSql += "B ";
break;
}
strSql += " like '%' || :VALUE || '%'";

SqlDataSource1.SelectCommand = strSql;

---------------------------------------
对应的HTML Tag里的SqlDataSource
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" ProviderName="<%$ ConnectionStrings:ConnectionString.ProviderName %>" SelectCommand="select A, B, C, D, E from TABLE where A like '%' || :VALUE || '%'">
<SelectParameters>
<asp:ControlParameter ControlID="TextBox1" Name="VALUE" PropertyName="Text" />
</SelectParameters>
</asp:SqlDataSource>

-----------------------------------------------
注:是访问Oracle数据库,所以用了||符号。

一个GridView绑定到SqlDataSource1

程序可以运行,查询也OK。


我只想问这种情况下有没有更合理的方式解决这类问题。
就是根据DropDownList的取值,进行不同数据库字段的模糊查询。

...全文
529 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
nanhe0065 2007-06-18
  • 打赏
  • 举报
回复
thank you jilate.
jilate 2007-06-18
  • 打赏
  • 举报
回复
既然字段不固定的话,那么就自动用字符串连接了

可以将表的字段和中文名做一个基础数据表保存起来

在dropdownlist绑定的时候,valuefield用字段名,textfield用中文名

这样通过selectedvaule 就可以直接访问了

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧