数据库预编译语句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,则可以不运行语句,
请问为什么呢? 展开
this.query(sqsql.toString(), new Object[]{userCode}//执行预编译的SQL查询语句
如果userCode=10086,则可以运行语句;
如果userCode=10086,10087,则可以不运行语句,
请问为什么呢? 展开
1个回答
展开全部
你这个是把usercode的值作为变量给了语句里的?
这时候就有个问题
你的userCode是string类型的数组吧。。。
那么传进去的应该是'10086','10087'
如果不是这个问题你就在执行SQL语句之前先输出一下语句 日志里看看是哪里格式不对了
这时候就有个问题
你的userCode是string类型的数组吧。。。
那么传进去的应该是'10086','10087'
如果不是这个问题你就在执行SQL语句之前先输出一下语句 日志里看看是哪里格式不对了
追问
不是string类型数组,就是一个string类型的字符串,如String userCode = “ ‘10086’,'10087' ” ;但这样传到SQL语句执行就不行,如果是String userCode = “ ‘10086’ ” 就可以,所以很疑惑!
追答
传一个这个String userCode = “ ‘10086’,'10087' ”过去,然后在执行前加一句输出,把拼接的SQL语句输出一下看看
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询