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

posted @ 2016-01-21 19:52  指尖飞舞  阅读(2193)  评论(0编辑  收藏  举报