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

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 h3.6m 人类行为预测论文复现
  • ¥50 wordpress项目注册报失败刷新后其实是成功状态,请求排查原因
  • ¥20 linxu服务器僵尸进程不释放,代码如何修改?
  • ¥15 pycharm激活不成功
  • ¥40 如果update 一个列名为参数的value
  • ¥15 基于51单片机的水位检测系统设计中LCD1602一直不显示
  • ¥15 OCS2安装出现问题,请大家给点意见
  • ¥15 ros小车启动launch文件报错
  • ¥15 vs2015到期想登陆但是登陆不上
  • ¥15 IPQ5018制作烧录固件,boot运行失败(操作系统-linux)(相关搜索:操作系统)(相关搜索:操作系统)