C# 拼接复合SQL语句

.做测试,这里的复合条件只有三个,如果有近十个条件怎么拼接,而且如果没有输入那么不拼接该条件有没有好的算法!谢谢!... .

做测试,这里的复合条件只有三个,如果有近十个条件怎么拼接,而且如果没有输入那么不拼接该条件
有没有好的算法!谢谢!
展开
 我来答
lizychn
推荐于2016-06-22 · TA获得超过542个赞
知道小有建树答主
回答量:624
采纳率:40%
帮助的人:201万
展开全部
string str = "";

//如果都不填写,那么字符串为空
if(textBox书名.text == "" && textBox类目.text == "" && ... ...)
{
str = "";
}
else
{
//否则开始拼字符串条件

str = " where ";

if(textBox书名.text != "")
{
str+= "书名=" + textBox书名.text + " and ";

}
if(textBox类目.text !="")
{
str+= "类目=" + textBox类目.text + " and";
}
......
}

//最后将字符串最后的 空格与and 去掉,这个方法好象是这样写,如果不对你再改改,反正你就想办法去掉最后4个字符就行了
str = subString(str, 0, str.lenth-4);

然后 "select * from BOOK"+str;
阳光的雷咩咩
2014-06-10 · TA获得超过1.4万个赞
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:7887万
展开全部
  1. string.format函数,具体网上搜

  2. 参数化查询,具体百度:sqlparameter

  3. 不用sql了,使用linq to entities

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式