Java 返回子句失败(postgres 9.3,jdbc)

Java 返回子句失败(postgres 9.3,jdbc),java,postgresql,jdbc,Java,Postgresql,Jdbc,我已经查看了几个使用java通过insert检索id的链接,我想我应该使用RETURNING子句 我的代码: Connection c = DriverManager.getConnection("jdbc:postgresql://localhost:5432/testdb?ssl=true&sslfactory=org.postgresql.ssl.NonValidatingFactory", "postgres","root"); String sql = "INSERT INTO

我已经查看了几个使用java通过insert检索id的链接,我想我应该使用RETURNING子句

我的代码:

Connection c = DriverManager.getConnection("jdbc:postgresql://localhost:5432/testdb?ssl=true&sslfactory=org.postgresql.ssl.NonValidatingFactory", "postgres","root");
String sql = "INSERT INTO main (nom_fichier, adate, mdate, cdate, size, chunknumber)"
                + " VALUES ('test',450,450,450,450,5)"
                + " Returning id"
                + ";";
Statement stmt = c.createStatement();
int rowNumber = stmt.executeUpdate(sql);
但我得到了这个错误:

Exception in thread "main" org.postgresql.util.PSQLException: a result was returned when none was expected.
    at org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:339)
    at fr.infotel.postgre.TestPostgre.main(TestPostgre.java:25)
我还尝试使用
语句。RETURN\u生成的\u键
(不带Returning子句),但没有成功(结果集中没有任何内容)

第一个问题:我想让RETURNING语句工作,因为我的请求在psql中工作

第二个问题:如果第一个不可能,我怎么能得到同样的结果

我将postgres9.3与postgres9.3.jdbc3 jar一起使用


感谢您的帮助。

使用
ResultSet
对象,而不是
行数

ResultSet resultSet = stmt.executeQuery(sql);

您的查询结果现在位于
resultSet
变量中。

您可以使用
resultSet
obj吗?我想
ResultSet
就可以了,试试这个。好吧,就是这么简单。。。我有这个问题已经三个小时了。。。谢谢你@ataurrahmanmunnah那该怎么做?
executeUpdate
方法总是返回一个整数:@ethanalroy,My bad。不知为什么我犯了这个错误<代码>执行任务返回
结果集
对象。我已经更新了我的答案。谢谢你的接球。