在类的一个方法中需要执行2次sql, sql1和sql2,两者不一样
分别得到两个rs
conn =DriverManager.getConnection(XXXXXXXXXXXX);
stmt = conn.createStatement();
rs1 = stmt .execute(sql1);
rs2 = stmt .execute(sql2);
stmt .close();
conn.close();
这样写对吗?还是要这样写
conn=XXX.getConnection();
stmt1=conn.createStatement();
stmt2=conn.createStatement();
stmt1.execute(sql1)
stmt2.execute(sql2)
stmt1.close()
stmt2.close()
conn.close()
分别得到两个rs
conn =DriverManager.getConnection(XXXXXXXXXXXX);
stmt = conn.createStatement();
rs1 = stmt .execute(sql1);
rs2 = stmt .execute(sql2);
stmt .close();
conn.close();
这样写对吗?还是要这样写
conn=XXX.getConnection();
stmt1=conn.createStatement();
stmt2=conn.createStatement();
stmt1.execute(sql1)
stmt2.execute(sql2)
stmt1.close()
stmt2.close()
conn.close()
是检索sql,还是更新sql?
最好还是写两个方法,在BIZ层用事务调用。
原因是 ResultSet 是需要关闭的。
如果你用第一种 那么rs2执行的时候 rs1已经被关闭了。。报错是难免的 但是如果你用第二种
是通过不同的对象 来执行 所以不会有问题我们习惯于 自己写一个DataModel 每次从数据库中查出来的结果都存储起来。然后我们在处理你可以每次查询后 就存一次嘛 不就没有这么多事了
等待中...
(到底哪个对阿,小弟也有此问)
又及 2个检索sql 和 2个更新sql 或者是一个检索sql 一个更新sql
都该是那种情况阿
stm = conn.createStatement();
rs2=stm.execute(sql);
st.setint(2, xxx); ResultSet rs = st.executeQuery(); while (rs.next()) { ........ }