Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Statement.executeQuery SQL错误,带有ORDER BY和/或LIMIT-不确定正确的格式_Java_Sql_Database_Postgresql - Fatal编程技术网

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

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驱动程序管理它会更好(如果支持): 否则,请提供您正在使用的特定数据库引擎,并使用

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

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);