我的sqllite数据库上有一个触发器可以正常工作。
db.execSQL("CREATE TRIGGER no_name_duplicate " +
" BEFORE INSERT "+
" ON "+profileTable+
" FOR EACH ROW BEGIN"+
" SELECT CASE WHEN ((SELECT "+colProfileName+" FROM "+profileTable+" WHERE "+colProfileName+"=new."+colProfileName+" ) IS NOT NULL)"+
" THEN RAISE (ABORT,'My Violation') END;"+
" END;");
举起活动
android.database.sqlite.SQLiteConstraintException: My Violation(code 19)
现在,如果您想捕获该异常(或编辑上述代码)以显示消息或记录某些内容,您将如何进行。
总结一下,当触发器触发时,如何触发此Log.v("test","test")
?
答案 0 :(得分:0)
我发现最好的方法是返回rowID。
long newRowId;
newRowId = db.insert(tableName,primaryKey,values);
如果触发该触发器,您将获得-1的行ID。然后只需显示您的消息或记录任何行,如果您获得行ID为-1