避免使用sqliteAssetHelper来记录错误

时间:2014-07-23 12:39:27

标签: android sqlite logging

大家好,我对这个小代码块有疑问

// Insert a new contact in database
    public void insertInSignature(String TITLE_SI) {
        try {
            // Open Android Database
            db = databaseHelper.getWritableDatabase();
            ContentValues initialValues = new ContentValues();
            initialValues.put("TITLE_SI", TITLE_SI);
            db.insert("DELIVERY_SLIP", null, initialValues);
        } catch (SQLException sqle) {
            Log.e(TAG, "insertUser Error");
            Log.e(TAG, "Exception : " + sqle);
        } finally {
            // Close Android Database
            databaseHelper.close();
        }
    }

我对我的表“DELIVERY_SLIP

有唯一约束

所以,当我试图插入一些已经存在的行时,它会返回一些错误,例如“哦,狗屎,你插入相同的,我很抱歉,我不能这样做”

http://cdn.imghack.se/images/3b51afd07d1f1a8bd021c9e9dfc57e98.png

这是我的日志

就是这一行

databaseHelper.close();

当数据库助手关闭时,返回日志。 我只是想避免记录它,我已经在sqliteConstraintException上使用tryCatch进行了测试 但是,没有任何效果。 谢谢提前

1 个答案:

答案 0 :(得分:0)

而不是insert(),请使用insertWithOnConflict()一些适合您使用的冲突解决算法,例如SQLiteDatabase.CONFLICT_IGNORE