大家好,我对这个小代码块有疑问
// 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进行了测试 但是,没有任何效果。 谢谢提前
答案 0 :(得分:0)
而不是insert()
,请使用insertWithOnConflict()
一些适合您使用的冲突解决算法,例如SQLiteDatabase.CONFLICT_IGNORE
。