晚上好。看,我遇到了这个大问题并且看不到它的解决方案,但我知道必须有办法解决这个问题......
public static int[] prices() throws Exception {
try {
Connection con = getConnection();
Statement search = con.createStatement();
ResultSet rs = search.executeQuery("SELECT nomeProd FROM main;");
rs.last();
int k = rs.getRow();
rs.beforeFirst();
int prices[] = new int[k];
/*
for( int i = 1; i <= k; i++ ) {
}
*/
return prices;
} catch(Exception e) {
System.out.println(e);
}
}
所以,我需要的是从try-catch块中返回price数组,否则我将无法获得变量&#34; k&#34;。如果我在try块之前将k初始化为0,并在catch块之后创建数组,那么我将无法访问ResultSet变量(好吧,是的,我可以连接,创建一个语句和结果集到处都是再次,但这可能只会让我更头疼)。
任何人都可以帮我这个吗?谢谢!
答案 0 :(得分:4)
只需在try/catch
块之外声明您的变量,然后就可以在块内外访问它们。例如:
Connection con = null;
try {
con = getConnection();
// rest of code on the same lines
}