Java Tomcat,结果集中没有数据?
我很难从mySQL数据库中获取任何信息。我将传递一个有效的查询,该查询将返回一行。但是,它只返回0,即Java Tomcat,结果集中没有数据?,java,mysql,apache,tomcat,jdbc,Java,Mysql,Apache,Tomcat,Jdbc,我很难从mySQL数据库中获取任何信息。我将传递一个有效的查询,该查询将返回一行。但是,它只返回0,即int results public String getResultSet(String query) throws SQLException{ ResultSet rs = null; int results=0; try { con = ds.getConnection();
int results
public String getResultSet(String query) throws SQLException{
ResultSet rs = null;
int results=0;
try {
con = ds.getConnection();
Statement stmt = (Statement) con.createStatement();
rs = stmt.executeQuery(query);
while(rs.next()){
results = rs.getInt("location_id");
}
} catch (Exception ex ){
} finally {
if (con != null) con.close();
}
return Integer.toString(results);
}
没有抛出错误,有人能告诉我哪里做错了吗
TIA看起来您的
异常
的catch块是空的。这将捕获并静默地忽略任何SQL等异常。然后您将退出try/catch,并返回结果
。。。这仍然是零
你所做的是“挤压”例外;i、 e.在不进行任何恢复或错误报告的情况下捕获并丢弃它。这是坏习惯。更糟糕的是,您这样做是为了
异常
。这意味着您不仅要对(可能)预期会发生的已检查异常执行此操作,而且要对无法预期的整个未检查异常范围执行此操作。看起来您有一个带有空正文的异常捕获块。这将捕获并静默地忽略任何SQL等异常。然后您将退出try/catch,并返回结果
。。。这仍然是零
你所做的是“挤压”例外;i、 e.在不进行任何恢复或错误报告的情况下捕获并丢弃它。这是坏习惯。更糟糕的是,您这样做是为了
异常
。这意味着您不仅要对(可能)预期会发生的已检查异常执行此操作,而且要对无法预期的整个未检查异常范围执行此操作。没有引发异常,因为您正在捕获所有异常而不打印它们。如果有,您将永远看不到它们,因为您的catch块是空的。不会抛出任何异常,因为您正在捕获它们,而不打印它们。如果有,您将永远看不到它们,因为您的catch块是空的。您是否尝试使用调试器查看是否使用rs.next()实际进入while循环?是否在数据库中运行查询并验证其返回结果?是的,查询有效,它确实进入while循环。那么,您认为代码看起来有效吗?您是否尝试过使用调试器查看是否确实使用rs.next()进入while循环?是否在数据库中运行查询并验证其返回结果?是的,查询有效,它确实进入while循环。你认为代码看起来有效吗?只是没有对捕获进行任何操作,仅此而已。我看不出这会对结果集产生什么影响?@Eric Banderhide如果抛出异常怎么办?如果您有一个空的catch子句,您甚至不知道是否有错误。异常在Tomcat上打印到哪里,是Catalina.out吗?我添加了堆栈跟踪,去看了看,它向我指出了错误。这是造成问题的原因,只是没有对捕获物采取行动,仅此而已。我看不出这会对结果集产生什么影响?@Eric Banderhide如果抛出异常怎么办?如果您有一个空的catch子句,您甚至不知道是否有错误。异常在Tomcat上打印到哪里,是Catalina.out吗?我添加了堆栈跟踪,去看了看,它向我指出了错误。造成问题的是该声明的演员阵容。