全部,將新的Java結果集對象分配給現有的對象,然後關閉原始的ResultSet對象會導致新創建的對象關閉?
對於稱爲Analyze的類及其構造函數Analyze以Java JDBC Resultset對象作爲參數進行分析。
private Resultset analysisSet
public void Analyse(ResultSet queryResults)
{
analysisSet = queryResults;
queryResults.close();
}
public void doSomeStuff()
{
analysisSet.next() //throws SQL Exception "Closed Resultset : next"
}
但是,如果我註釋掉「queryResults.close()」語句,那麼它工作正常嗎?
當然,我分配一個對象等於另一個對象後,它們變得互相排斥?
如果有人能解釋這裏發生了什麼。
在C++中,我可以完成這樣一個完整的任務,不需要引用它,我該如何複製> – kaleeway
您可以查看受保護的clone()方法,它只是複製所有字段,非常像C結構分配。但它不被認爲是一個很好的使用方法。 – h22
不要複製它,一旦你完成使用它,首先調用它來重置它。這是一個奇怪的用例。爲什麼你需要兩個對同一個ResultSet的引用? –