1
所以這是我的代碼部分:如何繞過初始化ResultSet?
try {
for (int i = 0; i < n; i++){
ResultSet res;
res = bdd.requete(sql);
doSomethingWithRes()
}
}
catch (Exception e) {
e.printStackTrace();
}
我想在此塊結束時關閉ResultSet(節省資源),但如果我添加res.cose(),java會告訴我該res可能尚未初始化(對於n = 0,這是正確的)。有沒有辦法來初始化resultSet而不做查詢?
我也試過
try {
for (int i = 0; i < n; i++){
ResultSet res;
res = bdd.requete(sql);
doSomethingWithRes()
}
}
catch (Exception e) {
e.printStackTrace();
}
if (n>=1)
res.close()
但是編譯器不接受它,即使它會工作。有沒有辦法強制編譯器接受這個?
也許看看[與資源嘗試(https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html)。這可以按如下方式使用:'try(ResultSet res = bdd.requete(sql)){doSomethingWithRes();} catch(Exception e){e.printStackTrace();}' – Lino