回顾我的代码,我发现我偶尔写过:
ResultSet rs = conn.createStatement().executeQuery("select * from main");
//snip
rs.close();
有时我写了
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery("Select * from main");
//snip
rs.close();
st.close();
在第二个代码段中,更明显的是该语句是关闭的,但是在第一个语句中它也是关闭的吗? conn.createStatement()返回一个语句对象,但是像这样实例化时,完成后我看不到任何简单的方法来关闭它.我是否应该重写各种代码以使用方法2?
解决方法: