[SQLServer]在关键字 'AND' 附近有语法错误 10

Stringsql="selectPROC_ID,PROC_NAME,PROC_SPEC,PROC_GRADE,PROC_BRAND,PROC_NUM,PROC_TO,P... String sql = "select PROC_ID, PROC_NAME,PROC_SPEC,PROC_GRADE,PROC_BRAND,PROC_NUM,PROC_TO,PROC_SDATE,PROC_EDATE from PROC_PLAN_INFO where 1=1";

if(vo.getPROC_NAME()!=null||!vo.getPROC_NAME().equals("")){
sql+=" AND PROC_NAME="+vo.getPROC_NAME();
}if(vo.getPROC_BRAND()!=null||!vo.getPROC_BRAND().equals("")){
sql+=" AND PROC_BRAND="+vo.getPROC_BRAND();
}if(vo.getPROC_SDATE()!=null||!vo.getPROC_SDATE().equals("")){
sql+=" AND PROC_SDATE="+vo.getPROC_SDATE();
}if(vo.getPROC_EDATE()!=null||!vo.getPROC_EDATE().equals("")){
sql+=" AND PROC_EDATE="+vo.getPROC_EDATE();
}

大家帮忙看下那里出错了
展开
 我来答
啊_科
2012-06-08 · TA获得超过268个赞
知道小有建树答主
回答量:284
采纳率:0%
帮助的人:126万
展开全部
sql += " AND PROC_NAME=" + vo.getPROC_NAME();
如果 PROC_NAME 为字符串型,则需要加单引号
应该这样 sql += " AND PROC_NAME= ‘ " + vo.getPROC_NAME() +“ ’ ”;
大概错误在此,你试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xu_micheal
2009-07-17 · TA获得超过380个赞
知道答主
回答量:108
采纳率:0%
帮助的人:0
展开全部
if (vo.getPROC_NAME() !=null || !vo.getPROC_NAME().equals(""))
{
sql += " AND PROC_NAME=" + vo.getPROC_NAME();
}

// if (vo.getPROC_NAME() != null || !vo.getPROC_NAME().equals(""))
// (vo.getPROC_NAME() != null 与!vo.getPROC_NAME().equals("")
// 之间是或的关系,只要有一个为真该if 语句就将执行
// vo.getPROC_NAME()结果若是"",则前面一个条件为真,if语句执行
// vo.getPROC_NAME()结果若是null, 则后一个条件为真,也将执行
// 所以后面动态链接的WHERE条件语句就可能会出错。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式