百度了很多,都是说一个st对应一个rs,真是复杂!

怎么改都报错!!

总结一下自己的错误:

最常见的的是查询操作,因为利用到rs结果集

while(rs.next){

list.add(rs.getString(1))

}

的时候,

劝各位不要放在工具包jdbcutils的方法里面,

如果放在工具包jdbcutils的方法里面,如下图:

如上方法----操作结束就直接关闭了所有的资源,如果后面用的rs的结果集,就会报错!!!

如果是删除,修改,增加只要不涉及返回结果集的,用上面最合适!

但是

如果返回结果集,并且对结果集进行操作

可以这样操作

因为查询结束以后,需要把结果集放在List集合里面;

添加结束以后;

再关闭资源,先关闭rs再关闭st最后关闭conn

最重要的是:

每次对数据库进行不同的sql语句操作的时候

最好一个conn对应一个st对应一个rs

我的servlert用到两次查询,所以我用了如下设置

Connection conn=null;
		Connection conn1=null;
		ResultSet rs=null;
		ResultSet rs1=null;
		PreparedStatement st=null;
		PreparedStatement st1=null;

 不要混淆;

免得报错!

一般报错是一个rs对应了两个st,或者是1个st对应两个rs,

我就是把st1写成了st,导致一直报错

我还觉得奇怪,我都分开了,怎么还报错???

 

 

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐