创建SELECT查询有一个查询如何与某些条件
如何让这个查询可以返回这样的结果。 工作示例。
表
1 xx
2 yy
3 xx
1)
textbox1.Text=="";
textbox2.Text=="";
结果 -
1 xx
2 yy
3 xx
2)
textbox1.Text=="";
textbox2.Text=="xx";
结果 -
1 xx
3 xx
创建SELECT查询有一个查询如何与某些条件
如何让这个查询可以返回这样的结果。 工作示例。
表
1 xx
2 yy
3 xx
1)
textbox1.Text=="";
textbox2.Text=="";
结果 -
1 xx
2 yy
3 xx
2)
textbox1.Text=="";
textbox2.Text=="xx";
结果 -
1 xx
3 xx
请你下面的语句尝试,感谢
string query = @"SELECT * FROM table WHERE 1=1 "
+ (string.IsNullOrEmpty(textBox1.Text) ? "" : " AND id='" + textBox1.Text + "' ")
+ (string.IsNullOrEmpty(textBox2.Text) ? "" : " AND name='" + textBox2.Text + "' ");
它工作正常 –
....它是一个很好的入侵方式,任何黑客使用SQL注入您的网站.... –
只是回答相应的,但是,使用参数化查询是安全的使用,请看这里的例子:http:///www.dotnetperls.com/sqlparameter,感谢您的时间 –
我不确定问题是什么,所以这是从假设。
string [email protected]"SELECT * FROM table WHERE 1=1 ";
if(textBox1.Text != "")
query += " and id=" + textBox1.Text;
if(textBox2.Text != "")
query += " AND name= " + textBox2.Text;
您生成的查询将为字符串类型数据提供错误。 –
我们不知道他的数据类型是什么,这就是我一直使用的并且没有问题的地方。也是你的代码做的只是写不同的;;) – Andres
这就是写,但是,猜测'name'字段,当然它的字符串或varchar,感谢您的时间。 –
但是,这是不是** **一个问题..... ** **什么是你的问题???? –
你根本无法用那个查询来做到这一点。您必须根据用户输入更改您的查询(使用一个参数或不使用)。 – Marco
Sql injection ... – Guillaume86