preparedStatement

问题1
在用JDBC的PreparedStatement类时,使用insert插入数据到数据表中,sql语句在执行preparedStatement.executeUpdate()方法后,成功返回了操作行数,表明程序没有问题,但就是在数据库中看不到插入的数据。

这个问题的原因在于,设置了 connection.setAutoCommit(false),使得preparedStatement的操作不会自动提交到数据库,所以最好是在executeUpdate()后加上这条语句

//手动提交
connection.commmit();

问题2
使用preparedStatement.setInt()等方法给占位符赋值时,如果不对取值进行非空判断,经常会报空值异常。
解决方式,进行空值判断,如果是空的,使用setNull()方法

import java.sql.*;

preparedStatement.setNull(1,Types.Integer)

问题3
调用excute()方法执行对数据库操作的DDL语句,返回的是false。
原因是excute()方法相当于是excuteQuery()和excuteUpdate()之和。返回的结果是ResultSet时,excute()返回true;返回的结果是受影响的行数时,excute()返回false

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_35938548/article/details/79957004
个人分类: java
上一篇row_number() over()分组排序函数的使用
下一篇java中git项目的.gitignore文件
想对作者说点什么? 我来说一句

PreparedStatement

2009年06月09日 3KB 下载

没有更多推荐了,返回首页

关闭
关闭