c# winform 多条件查询 。

有3个textbox控件,写其中任何一个都可以实现查询,或者两个,或者都写。查询语句如何写?select*fromT_PaibanwhereNumlike'%"+text... 有3个textbox控件 ,写其中任何一个 都可以实现查询,或者两个,或者都写。查询语句如何写?
select * from T_Paiban where Num like '%" + textBox1.Text + "%' or Name like '%" + textBox2.Text + "%' or TheWeek like like '%" + textBox3.Text + "%';

貌似当我textbox2和textbox3 为空时 就出错。怎么改?
展开
 我来答
懒洋洋Fly
2011-09-15 · TA获得超过111个赞
知道答主
回答量:69
采纳率:0%
帮助的人:52万
展开全部
String sql = select * from T_Paiban ;
String condition="";
if(textBox1.Text.Trim()!="")
condition=" Num like '%" + textBox1.Text + "%' ";
if( textBox2.Text.Trim()!=""){
if(condition.Length>0){
condition+=“ or ”;
}
condition+="Name like '%" + textBox2.Text + "%'"
}
if( textBox3.Text.Trim()!=""){
if(condition.Length>0){
condition+=“ or ”;
}
condition+="TheWeek like '%" + textBox3.Text + "%'"
}
if(condition!="")
sql+=" where "+condition;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
laosong2008
2011-09-15 · TA获得超过159个赞
知道小有建树答主
回答量:283
采纳率:0%
帮助的人:242万
展开全部
string sql="select * from table name where 1=1 ";
if(!tb1.text.Equals(string.empty))
{
sql=sql+"and field1='"+tb1.text+"'";
}
if(!tb2.text.Equals(string.empty))
{
sql=sql+"and field2='"+tb2.text+"'";
}
...
sqlHelper.ExecuteDataSet(sql);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liwei823
2011-09-15
知道答主
回答量:12
采纳率:0%
帮助的人:9.6万
展开全部
这个不需要修改啊。
就是在进行SQL执行前,进行判断
如:if(!String.IsNullOrEmpty( textBox1.Text ) || !String.IsNullOrEmpty( textBox2.Text ) || )
{
// Do Something
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式