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的数目,非常容易。
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的数目,非常容易。