日期:2014-05-18  浏览次数:20593 次

请问通过ResultSet得到PreparedStatement对像,然后关闭PreparedStatement可行吗?
代码如下:
void test(ResultSet rs){
  if (rs != null) {
PreparedStatement ps = null;
try { 
ps = (PreparedStatement) rs.getStatement();
rs.close();
} catch (Throwable e) {
rs = null;
e.printStackTrace();
}finally{
if (ps != null) {
try {
ps.close();
} catch (Throwable e) {
ps = null;
e.printStackTrace();
}
}
}
}

请问通过这种方式关闭PreparedStatement 对像有问题吗?我在本地开了50个线程,每三秒操作一次测试表(表里数据目前只有两条),还没遇到任何问题。欢迎大家讨论,共同进步!
忘记补充,数据库是sqlserver2005

------解决方案--------------------
两条记录很难测试出性能来,多造一些测试数据