weixin_43910182
想学软件的小电工
采纳率85.7%
2019-01-27 23:39 阅读 739

C#怎样对SQL数据库进行多重筛选?

如题,我需要把数据库中的数据筛选出来,现在想到的两种办法如图,
一是用IF语句多重循环comboBox中的值来筛选,功能试过能实现,但是代码过于冗长。
二是用dataview来筛选,但是出现BUG,每次都只会按第二个条件筛选,第一个条件没用。单一筛选条件测试过是可以用的。
不知道有什么比较好的方法?图片说明图片说明图片说明

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

3条回答 默认 最新

  • 已采纳
    scroch scroch 2019-02-11 12:29

    stringbuilder sb = new stringbuilder();
    sb.append(" where 1=1 ");
    if(comboBox1.Text..ToString()!=""){
    sb.append(" and stype like '"+comboBox1.Text..ToString()+"' ");
    }
    if(comboBox2.Text..ToString()!=""){
    sb.append(" and region like '"+comboBox2.Text..ToString()+"' ");
    }
    string sql = sb.ToString();

    点赞 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 2019-01-27 23:45

    不需要多个if
    if (comboBox1.Text == "xxx" && comboBox2.Text == "yyy")
    ...

    第二个办法可以用and连接
    string filter = "xxx like yyy and zzz like aaa"

    点赞 评论 复制链接分享
  • qq_35829955 qq_380780124 2019-01-28 11:00

    这样写不是很合理 。这里的查询,最好重新访问数据库,获取数据 。 因为数据窗口的内容未必是所有的数据。

    如果在数据窗口过滤,那就是双列过滤的问题。 同上面解答 。

    点赞 评论 复制链接分享

相关推荐