永发信息网

JDBC 我想在插入数据前先执行删除表中数据操作,但是现在执行结果是只插入一行数据,实际上我插入了7行。

答案:2  悬赏:30  手机版
解决时间 2021-02-07 13:37
  • 提问者网友:战魂
  • 2021-02-06 19:50
大家看看什么原因

这是DB.JAVA
建驱动连接我就省了
public ResultSet executeQuery(String sql) {
try {

Statement stmt = connstr.createStatement();
res = stmt.executeQuery(sql);
} catch (SQLException ex) {
System.out.println(ex.getMessage());
}
return res;
}

public PreparedStatement dosql(String sql) {
try {
prase = connstr.prepareStatement(sql);
} catch (Exception e) {

}
return prase;
}

into.java
public class into {
String sql1 = "delete from User"; //删除数据sql

String sql = "insert into User(title,auth,content) values(?,?,?)";
//插入数据sql
db data = new db();

public PreparedStatement prase = null;

public Boolean insertexcel(User user) {
Boolean jiaqi = false;

try {
prase=data.dosql(sql1);
prase.excuteUpdate(); //就在这里我执行删除操作

prase = data.dosql(sql);
prase.setString(1, user.getTitle());
prase.setString(2, user.getAuthor());
prase.setString(3, user.getContent());
prase.executeUpdate();//这里进行插入操作
jiaqi = true;
} catch (Exception e) {
e.printStackTrace();
}
return jiaqi;
}
}

我用的是jsp+jdbc+servlet做的。
最佳答案
  • 五星知识达人网友:舊物识亽
  • 2021-02-06 20:59
你删除数据的条件呢?
全部回答
  • 1楼网友:零点过十分
  • 2021-02-06 22:18
oracle数据库支持事务处理,可以通过commit提交事务,通过rollback回滚事务,这两种方式是进行事务处理的首要手段。 在jdbc中也同样支持事务的处理,但所有的事务处理都需要依靠connection完成。否则在事务处理的过程中,会造成在错误之前的代码运行了,而错误之后的代码没有运行的情况,这在实际开发的过程中是不允许出现的,否则会造成很大的损失。 在connection操作中所有的数据库更新属于立即更新,如果想要进行事务的操作,则首先应该停止自动更新操作,之后所有的更新则通过commit()进行提交,如果有问题则回滚。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯