我有一个方法:
public void dbQuery(String query, String what) {
try {
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(query);
if(what.equals("temp_table")) {
String temporary_table = rs.getString("table_name_temp");
System.out.println(temporary_table);
return;
}
}
catch (Exception e) {
e.printStackTrace();
}
finally {
if (rs != null) rs.close();
if (stmt != null) stmt.close();
}
}
String query = "EXEC temptables.dbo.create_temp_cdr 'SIP'";
String temporary_table = db.dbQuery(query,"temp_table");
如何获取 void
的返回值以在另一个 db.dbQuery()
中使用它?
PS:我需要来自 dbQuery()
的值,以便我可以构造另一个查询
来再次调用dbQuery()
最佳答案
How do I get the return of a void to use it in another db.dbQuery() ?
“虚空回归”是什么意思?如果您的意思是“返回值”,那么就没有一个 - 这就是将该方法声明为 void
的要点。
如果您想要返回一个值,那么不要将其设置为 void 方法...考虑到:
String temporary_table = db.dbQuery(query,"temp_table");
看起来您只想将 dbQuery
更改为返回 String
。请注意,您需要计算出如果什么
不是temp_table
时返回什么。 (您还应该修复您的异常处理 - 只需将堆栈跟踪打印到标准输出,然后继续不管几乎永远都不是正确的方法。)
关于java - 从 Java 中的 void 方法返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10620473/