Java Statement.executeQuery SQL错误,带有ORDER BY和/或LIMIT-不确定正确的格式
我试图使用Statement.executeQuery从JDBC数据库中获取结果集。它需要按第一列排序,并限制为1000行。现在,我使用的sql语句如下所示:Java Statement.executeQuery SQL错误,带有ORDER BY和/或LIMIT-不确定正确的格式,java,sql,database,postgresql,Java,Sql,Database,Postgresql,我试图使用Statement.executeQuery从JDBC数据库中获取结果集。它需要按第一列排序,并限制为1000行。现在,我使用的sql语句如下所示: SELECT * FROM TABLENAME ORDER BY COLUMN1NAME LIMIT 1000; 这只是给了我SQL错误。显然有些地方出了问题,但我对sql的了解还不够透彻,无法解决这个问题 数据库是Postgres。如果改用,并让JDBC驱动程序管理它会更好(如果支持): 否则,请提供您正在使用的特定数据库引擎,并使用
SELECT * FROM TABLENAME ORDER BY COLUMN1NAME LIMIT 1000;
这只是给了我SQL错误。显然有些地方出了问题,但我对sql的了解还不够透彻,无法解决这个问题
数据库是Postgres。如果改用,并让JDBC驱动程序管理它会更好(如果支持):
否则,请提供您正在使用的特定数据库引擎,并使用正确的语句。没关系,这不是语法问题。从错误的结果集中检索列名。抱歉。错误说明了什么?这是用于什么数据库的?并不是所有的语句都使用
limit
来实现这类功能。您必须围绕Statement.executeQuery创建一个try/catch块,因此我从错误中得到的只是我放在catch块中的内容(此时,它只是一个println和一个printStackTrace)。这是为博士后数据库准备的。输出的是什么?并在catch
中放置一个断点,以便检查抛出的异常。如果语法对Postgres有效,则需要提取错误。
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);