當將非唯一數據插入數據庫時,需要處理錯誤。我有這樣的代碼:如果無法插入數據,則顯示錯誤
try {
handler.addBookmark(new BookmarkModel(idBrand, brand, desc, types, detail, image));
Toast.makeText(this, "Success", Toast.LENGTH_LONG).show();
}catch (SQLiteException e){
e.printStackTrace();
Toast.makeText(this, "Failed", Toast.LENGTH_LONG).show();
}
我插入這樣的:
public long addBookmark(BookmarkModel bookmark) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(KEY_ID, bookmark._id); // Must Unique
values.put(KEY_BRAND, bookmark.brandName);
values.put(KEY_DESC, bookmark.descTerm);
values.put(KEY_TYPE, bookmark.type);
values.put(KEY_DETAIL, bookmark.detail);
values.put(KEY_IMAGE, bookmark.image);
return db.insert(TABLE_BOOKMARK, null, values);
//db.close();
}
logcat中出現的錯誤:
android.database.sqlite.SQLiteConstraintException: column id is not unique (code 19)
數據未插入,但我無法證明錯誤消息。如何顯示吐司讓用戶知道插入失敗?
我想補充的是具有唯一ID的數據,我想,當它不能處理的錯誤信息 –