往插入数据库中插入数据时遇到的问题

zhangyaowen 2004-12-29 08:48:49
我用如下代码往插入数据库中插入数据
try
{
r.moveToCurrentRow();
r.updateString("Name", name);
r.updateString("Company", company);
r.updateString("Post", post);
r.insertRow();
r.moveToInsertRow();

}
catch(Exception e)
{
e.printStackTrace();
}
运行时无异常出现,并通过显示也看到了新插入的记录,但此时我关闭记录集和Connection连接,便退出程序,打开数据库发现里面其实并未新增一条记录.后来我试了试在退出程序时先关闭记录集和Connection连接,打开数据库有新增一条记录.是不是一定要关闭记录集和Connection连接后,操作才能真正的写入到数据库里,请哪位高手回答一下我遇到的这个问题.
...全文
123 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
mdxk 2004-12-29
  • 打赏
  • 举报
回复
http://1shome.wy8.net/down.htm

这里提供了一个方法
你可以看看
zhangyaowen 2004-12-29
  • 打赏
  • 举报
回复
不过我又试了试,如果con.commit();后不加con.close();仍然没法写入数据库
zhangyaowen 2004-12-29
  • 打赏
  • 举报
回复
谢谢各位了
jjja 2004-12-29
  • 打赏
  • 举报
回复
提交后,connection还可以使用
zhangyaowen 2004-12-29
  • 打赏
  • 举报
回复
可以了,不过connection提交后,没有关闭,又要用到connection时,是否又要重建一个
MYLiao 2004-12-29
  • 打赏
  • 举报
回复
提交事务就是用上面的语句,你看着改一下你的程序结构
MYLiao 2004-12-29
  • 打赏
  • 举报
回复
try {
Connection conn=DriverManager.getConnection(url);
conn.setAutoCommit(false);
.......
r.moveToCurrentRow();
r.updateString("Name", name);
r.updateString("Company", company);
r.updateString("Post", post);
r.insertRow();
r.moveToInsertRow();
.......conn.commit();
conn.close();
}
catch(Exception e){
e.printStackTrace();
}
zhangyaowen 2004-12-29
  • 打赏
  • 举报
回复
提交事务用什么语句啊,我用的是Access
射天狼 2004-12-29
  • 打赏
  • 举报
回复
要提交事务,否则数据是在缓存里!!
你用的是ORACLE吧!!

62,614

社区成员

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

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