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

时间:2021-11-11 21:42:27
我用如下代码往插入数据库中插入数据
                  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连接后,操作才能真正的写入到数据库里,请哪位高手回答一下我遇到的这个问题.

9 个解决方案

#1


要提交事务,否则数据是在缓存里!!
你用的是ORACLE吧!!

#2


提交事务用什么语句啊,我用的是Access

#3


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();
}

#4


提交事务就是用上面的语句,你看着改一下你的程序结构

#5


可以了,不过connection提交后,没有关闭,又要用到connection时,是否又要重建一个

#6


提交后,connection还可以使用

#7


谢谢各位了

#8


不过我又试了试,如果con.commit();后不加con.close();仍然没法写入数据库

#9


http://1shome.wy8.net/down.htm

这里提供了一个方法
你可以看看

#1


要提交事务,否则数据是在缓存里!!
你用的是ORACLE吧!!

#2


提交事务用什么语句啊,我用的是Access

#3


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();
}

#4


提交事务就是用上面的语句,你看着改一下你的程序结构

#5


可以了,不过connection提交后,没有关闭,又要用到connection时,是否又要重建一个

#6


提交后,connection还可以使用

#7


谢谢各位了

#8


不过我又试了试,如果con.commit();后不加con.close();仍然没法写入数据库

#9


http://1shome.wy8.net/down.htm

这里提供了一个方法
你可以看看