[原创]多条件模糊查询的通用代码

本文介绍了一种使用C#动态构建SQL查询的方法,该方法能够根据用户输入的不同搜索条件灵活地生成带有WHERE子句的SQL查询语句。通过这种方式,可以在不降低代码可读性的前提下,有效地增加查询条件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

str_query1 = "select * from table";
string key1 = "";
string key2 = "";
string key3 = "";
string key4 = ""; //有几个条件就加几个key,我这里有四个

if (textBox1.Text.Trim() != "")
key1 = " column1 like '%" + textBox1.Text.Trim() + "%'";

if (textBox2.Text.Trim() != "")
key2 = " column2 like '%" + textBox2.Text.Trim() + "%'";

if (textBox3.Text.Trim() != "")
key3 = " column3 like '%" + textBox3.Text.Trim() + "%'";

if (textBox4.Text.Trim() != "")
key4 = " column4 like '%" + textBox4.Text.Trim() + "%'"; //这也一样



if (key1 != "" || key2 != "" || key3 != "" || key4 != "" )
{
str_query1 = "select * from table where";
if (key1 != "") //这些条件是个递增的过程,有几个条件就加几个if语句
{
str_query1 += key1;
}

if (key1 != "" && key2 != "")
{
str_query1 += "and" + key2;
}
else
{
str_query1 += key2;
}

if ((key1 != "" || key2 != "") && key3 != "")
{
str_query1 += "and" + key3;
}
else
{
str_query1 += key3;
}

if ((key1 != "" || key2 != "" || key3 != "") && key4 != "") //后面还可以加key5,相信你看到这里已经名白怎么加了
{
str_query1 += "and" + key4;
}
else
{
str_query1 += key4;
}


}
//上面这些代码的主要核心是但有一个条件不为空时肯定会有查询语句加上where ,
然后当前n-1个条件有一个不为空时,肯定要在keyN之前加上and,这一点相信大家都知道,否则的话就是前n-1个条件都为空
那么直接查询语句直接加keyN就行了,因为前面没有条件所以不用加and了,就这样依次类推,可以逐渐的把查询条件增加,又不会
让代码的可读性下降,当然了这个可以任意的添加修改key的数目,非常容易。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值