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

  • 相关阅读:
    【52】目标检测之检测算法
    【51】目标检测之特征点检测
    6-----Scrapy框架中Item Pipeline用法
    5-----Scrapy框架中Spiders用法
    4-----Scrapy框架中选择器的用法
    3-----Scrapy框架的命令行详解
    1-----Scrapy框架整体的一个了解
    Python入妖5-----正则的基本使用
    win安装wordcloud报错解决方案
    在新项目下使用rbc权限
  • 原文地址:https://www.cnblogs.com/bobshieh/p/5149398.html
Copyright © 2020-2023  润新知