Java对Oracle数据库中的信息进行增删改后, 要进行commit提交吗? 要的话怎么执行?

jojo007 2005-09-01 01:44:51
Java对Oracle数据库中的信息进行增删改后, 要进行commit提交吗? 要的话怎么执行?

//删除图书分类, 但不删除已存在数据库中的该类图书
public boolean delete(int aid) throws Exception {
sqlStr = "delete from LC_BOOKCLASS where ID = " + aid ;
try
{
DataBase db = new DataBase();
db.connect();
stmt =db.conn.createStatement ();
stmt.execute(sqlStr);
在这里插入对吗? stmt.execute("commit");
return true;
}
catch (SQLException e)
{
System.out.println(e);
return false;
}
}
...全文
721 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
pdw2009 2005-09-01
  • 打赏
  • 举报
回复
db.conn.setAutoCommit(false);
db.conn.rollback();
db.conn.commit();
db.conn.setAutoCommit(true);

表示不自动事务处理,这是由JDBC驱动来控制的,默认情况下是
db.conn.setAutoCommit(true);表示可以自动提交,如果你设置了 db.conn.setAutoCommit(false); 你就得必须要用db.conn.setAutoCommit(true);
语句才把记录保存到数据库
wintangtang 2005-09-01
  • 打赏
  • 举报
回复
你为什么不用数据连接池做呢
那样的话提交就简单的多了
jojo007 2005-09-01
  • 打赏
  • 举报
回复
//删除图书分类, 但不删除已存在数据库中的该类图书
public boolean delete(int aid) throws Exception {
sqlStr = "delete from LC_BOOKCLASS where ID = " + aid ;
try
{
DataBase db = new DataBase();
db.connect();
stmt =db.conn.createStatement ();
stmt.execute(sqlStr);
db.conn.commit(); // 这么做对吗?
return true;
}
catch (SQLException e)
{
System.out.println(e);
return false;
}
}
davidmay 2005-09-01
  • 打赏
  • 举报
回复
人家的意思是既可以手动提交,也可以自动提交.
jojo007 2005-09-01
  • 打赏
  • 举报
回复
pdvv(我爱花猫) 拜托说的具体些好吗
pdvv 2005-09-01
  • 打赏
  • 举报
回复
db.conn.setAutoCommit(false);

db.conn.rollback();
db.conn.commit();

db.conn.setAutoCommit(true);

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧