JDBC SELECT COUNT(*)在HSQLDB上返回空结果集
我希望总是收到一个SELECT计数上有一行的结果集,但是results.next()总是返回false。这在HSQLDB2.5.1上。 下面的代码打印: 列数:1。类型为INTEGER的第一列C1 无计数结果 在我的SQL控制台中执行相同的SQL语句可以正常工作: C1 104JDBC SELECT COUNT(*)在HSQLDB上返回空结果集,select,jdbc,count,hsqldb,Select,Jdbc,Count,Hsqldb,我希望总是收到一个SELECT计数上有一行的结果集,但是results.next()总是返回false。这在HSQLDB2.5.1上。 下面的代码打印: 列数:1。类型为INTEGER的第一列C1 无计数结果 在我的SQL控制台中执行相同的SQL语句可以正常工作: C1 104 getResultSet方法适用于execute,但不适用于返回结果集的executeQuery。这就是你需要提到的,在你失去它的那一刻,因为你没有把它分配给任何东西 看到和 getResultSet方法适用于execu
getResultSet
方法适用于execute
,但不适用于返回结果集的executeQuery
。这就是你需要提到的,在你失去它的那一刻,因为你没有把它分配给任何东西
看到和
getResultSet
方法适用于execute
,但不适用于返回结果集的executeQuery
。这就是你需要提到的,在你失去它的那一刻,因为你没有把它分配给任何东西
看到和
我注意到executeQuery返回了一个结果集。我不确定语句的状态,但想知道该对象是否具有预期的行,并且getResultSet返回的是另一个对象。
ResultSet results=Statement.executeQuery(…)
我注意到executeQuery返回了一个ResultSet。我不确定语句的状态,但想知道该对象是否具有预期的行,并且getResultSet返回的是另一个对象。ResultSet results=Statement.executeQuery(…)
statement = connection.createStatement();
// check if table empty
statement.executeQuery("SELECT COUNT(*) FROM mytable");
ResultSet results = statement.getResultSet();
System.out.println("number of columns: " + results.getMetaData().getColumnCount() + ". First column " +results.getMetaData().getColumnName(1) + " with type " +results.getMetaData().getColumnTypeName(1) );
int numberOfRows = 0;
boolean hasResults = results.next();
if (hasResults){
numberOfRows = results.getInt(1);
System.out.println("Table size " + numberOfRows );
}else{
System.out.println("No COUNT results" );
}
statement.close();
ResultSet results = statement.executeQuery("SELECT COUNT(*) FROM mytable");