带有ORDER BY和/或LIMIT的Java Statement.executeQuery SQL错误 - 不确定格式是否正确

时间:2014-08-11 19:03:57

标签: java sql database postgresql

我试图使用Statement.executeQuery从JDBC数据库中获取结果集。它需要按第一列排序,并限制为1000行。现在,我使用的sql语句如下:

SELECT * FROM TABLENAME ORDER BY COLUMN1NAME LIMIT 1000;

这只是给我SQL错误。显然有些不对劲,但我并不太了解sql以便弄明白。

数据库是Postgres。

2 个答案:

答案 0 :(得分:1)

如果你改用Statement#getMaxRows并让你的JDBC驱动程序管理它(如果支持的话)会更好:

final int MAX_ROWS = 1000;
//...
String sql = "SELECT * FROM TABLENAME ORDER BY COLUMN1NAME";
Statement stmt = connection.createStatement();
stmt.setMaxRows(MAX_ROWS);
ResultSet rs = stmt.executeQuery(sql);

否则,请提供您正在使用的特定数据库引擎并使用正确的语句。

答案 1 :(得分:0)

没关系,这不是语法。正在从错误的结果集中检索列名称。遗憾。