zoukankan      html  css  js  c++  java
  • Android开发时,sqlite创建表成功,insert不报错,但没有数据插入的原因

    在android开发过程中,经常要通过sqlite来存储一些数据,这种应用应该是再平常不过了,但是有时难免一时疏忽,就会出现sqlite创建表成功,insert不报错,但没有数据插入。

    具体问题详见如下代码:

            Context ctx;
            SQLiteDatabase db = dbOpenHelper.getWritableDatabase();

            // 开启事务
            db.beginTransaction();
            try{
                    // 数据库操作
               for (...) {
                 // 插入数据
                          db.insert(table, values);
                    }
            
               // 设置事务标志为成功,当结束事务时就会提交事务
               //(一定要记得添加这句,否则就会出现insert成功,但数据库没数据)
                    db.setTransactionSuccessful();  
            }
            catch(Exception ex){
            
            } finally {
                    // 结束事务方法时会检查事务的标志是否为成功,
                    // 如果程序执行此方法之前调用了setTransactionSuccessful()方法设置事务的标志为成功则提交事务
                 // 如果没有调用setTransactionSuccessful() 方法则回滚事务。
                    db.endTransaction();
            }

  • 相关阅读:
    「2013-8-5」企业基因
    HashMap和ConcurrentHashMap详解
    JVM 详解
    Dubbo 项目学习(四) 接口抽取以及依赖版本统一
    Dubbo 项目学习(三) 消费Dubbo服务
    Dubbo 项目学习(二) 发布Dubbo服务
    Spring Boot 日志问题记录
    Dubbo 项目学习(一) Admin 管理控制台
    Idea 搭建 SSM 项目框架
    Idea 搭建 SSH 项目框架
  • 原文地址:https://www.cnblogs.com/bobshieh/p/5149398.html
Copyright © 2011-2022 走看看