DbUtils 关键字 'SET' 附近有语法错误

敲代码的NY 发布于 2013/08/06 17:33
阅读 650
收藏 0

执行的代码

String sql = "select * from (" +
				" select top 15 * from (" +
				" select top " + page*15 + " * from wm_food where shopid = ? order by id asc ) " +
				"as temp1 order by id desc ) " +
				"as temp2 order by id asc";
			conn = DriverManager.getConnection(url, user, password);
			QueryRunner qr = new QueryRunner();
			List<Map<String, Object>> datas = qr.query(conn, sql, new MapListHandler(), shopid);


错误message:

java.sql.SQLException: com.microsoft.sqlserver.jdbc.SQLServerException: 关键字 'SET' 附近有语法错误。 Query: select * from ( select top 15 * from ( select top 15 * from wm_food where shopid = ? order by id asc ) as temp1 order by id desc ) as temp2 order by id asc Parameters: [1]

该空格开的,我都用空格间隔开了,请问我是哪里写错了

加载中
0
黄龍
黄龍

List<Map<String, Object>> datas = qr.query(conn, sql, newMapListHandler(), shopid);

我依稀记得最后一个参数是个数组来的吧!看看文档先

0
loyal
loyal

提示的很明白了啊:

java.sql.SQLException: com.microsoft.sqlserver.jdbc.SQLServerException: 关键字 'SET' 附近有语法错误。 Query: select ... Parameters: [1]
Parameters: [1]       你看不到这个提示啊!!!!输出下你的传入参数就明白了.

loyal
loyal
回复 @蜗牛暴走 : 单条?额额额..哎...要看你执行sql的时候参数到底对不对,不是一个对了就完了.
敲代码的NY
敲代码的NY
看到了,参数也没有问题单条select的话是没有问题的
返回顶部
顶部