数据库预编译语句in(查询条件),如果查询条件只有一个,可以运行,如果多个条件,则不能运行,为什么?

Stringsql="SELECTFULL_NAMEFROMBASE_USERWHEREUSER_CODEIN(?)";this.query(sqsql.toString... String sql = "SELECT FULL_NAME FROM BASE_USER WHERE USER_CODE IN (?)" ;

this.query(sqsql.toString(), new Object[]{userCode}//执行预编译的SQL查询语句
如果userCode=10086,则可以运行语句;
如果userCode=10086,10087,则可以不运行语句,
请问为什么呢?
展开
 我来答
花间翘楚
推荐于2016-10-27 · 超过43用户采纳过TA的回答
知道小有建树答主
回答量:101
采纳率:100%
帮助的人:86.4万
展开全部
你这个是把usercode的值作为变量给了语句里的?

这时候就有个问题
你的userCode是string类型的数组吧。。。
那么传进去的应该是'10086','10087'

如果不是这个问题你就在执行SQL语句之前先输出一下语句 日志里看看是哪里格式不对了
追问
不是string类型数组,就是一个string类型的字符串,如String  userCode = “ ‘10086’,'10087' ” ;但这样传到SQL语句执行就不行,如果是String  userCode = “ ‘10086’ ” 就可以,所以很疑惑!
追答
传一个这个String userCode = “ ‘10086’,'10087' ”过去,然后在执行前加一句输出,把拼接的SQL语句输出一下看看
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式