GONGJUNRUI123 2017-10-30 20:33 采纳率: 33.3%
浏览 3163
已采纳

JDBC 连接java和Oracle 数据库 删除之后数据仍然存在

各位,我在Oracle数据库里面删除一条数据,之后在Java里面查询这条数据,结果显示还是存在这条数据,这是为什么?

这是jdbc连接的代码:
public class DbTools {
Connection connection;

public Connection getConn() {
    try{
        //load the driver
        Class.forName("oracle.jdbc.driver.OracleDriver");
        String url = "jdbc:oracle:thin:@localhost:1521:orcl";
        String userName = "system";
        String password = "123";

        //get the connection object
        connection = DriverManager.getConnection(url, userName, password);
    }catch (ClassNotFoundException e){
        e.printStackTrace();
    }catch (SQLException e){
        e.printStackTrace();
    }
    return connection;
}

}

表名:useinfo
1.usename
2.password

我在数据库里面先删除“22222”这条数据:
![删除数据](https://img-ask.csdn.net/upload/201710/31/1509395121_210391.jpg)

我再在java里面查询这条数据:
public static void searchJDBC(String name){
        String sql = String.format("select * from useinfo where username='%s'", name);
        DbTools dbTools = new DbTools();
        Connection connection = dbTools.getConn();
        try{
            //create the statement object
            Statement statement=connection.createStatement();
            ResultSet resultSet = statement.executeQuery(sql);
            while(resultSet.next()) {
                System.out.println(resultSet.getString("username")+ "  "+ resultSet.getString("password"));
            }

        }catch (SQLException e){
            e.printStackTrace();
        }
    }

结果显示这条数据还是存在的 请问是什么原因?
  • 写回答

9条回答 默认 最新

  • 十木禾 2017-10-31 00:53
    关注

    数据库为了保证数据的安全,会有一个事务的概念
    比如过一个账户减钱,对应一个账户加钱(类比我们的转账)
    如果在减钱成功正在给另一个账户加钱的时候,数据库异常,则数据就会发生错误

    为了避免这种情况,我们可以设置这个转账的过程为一个事务
    在事务没有提交的时候,数据库里面的数据还是不会发生变化的
    所有只要在转账完成之后再提交事务就可以避免数据错误了

    更多内容可以看看:http://www.cnblogs.com/fjdingsd/p/5273008.html

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(8条)

报告相同问题?

悬赏问题

  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置