【发布时间】:2012-09-07 08:46:02
【问题描述】:
查询:
select count(*) from table_name
数据库:Sqlserver
totalrowcount = Integer.parseInt(resultSet.getString(1));
当我尝试执行返回计数的查询时,当我尝试从 resultSet 获取值时引发异常。
例外:
com.microsoft.sqlserver.jdbc.SQLServerException: Could not find stored procedure 'count'.
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.doExecuteStatement(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerStatement$StmtExecCmd.doExecute(Unknown Source)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeQuery(Unknown Source)
at com.heb.endeca.util.BatchManagerHelper.getRowCount(BatchManagerHelper.java:91)
at com.heb.endeca.util.BatchManagerHelper.generateFeed(BatchManagerHelper.java:70)
at com.heb.endeca.batch.BatchManager.startEndecaBatchManager(BatchManager.java:87)
at com.heb.endeca.batch.BatchManager.main(BatchManager.java:50)
【问题讨论】:
-
我们能看到更多你的代码吗?您如何精确地执行该查询?但是,我最初的想法是 getString() 不是您用来检索计数的方法
-
statement = connection.createStatement(); LOG.debug("为 pricecountquery 创建的语句"); resultSet = statement.executeQuery(countQuery); if(resultSet.next()) System.out.println(resultSet.getInt(1));这是我的代码。仍然会抛出 com.microsoft.sqlserver.jdbc.SQLServerException: 找不到存储过程 'count' -- 虽然 resultset.next() 返回 true,但类似这样的异常
-
不要将您的代码添加为评论,请编辑原始帖子。人们会阅读这篇文章,不一定是 cmets。