Android SQLite使用execSQL捕获错误

时间:2013-04-11 18:45:53

标签: android sql sqlite

我有一个运行INSERT SQL语句的方法,该语句来自外部设备,而不是来自Android设备。传入的语句可能会导致重复的记录,我希望Android设备忽略sql语句,如果它们导致重复。方法是:

    ourDatabase.execSQL(sql)

其插入数据的表具有以下列,可防止重复

    KEY_CONCATA + " TEXT PRIMARY KEY , " +

这应该是唯一的而不是主键吗?

系统此刻会识别出它导致重复并结束程序,我希望它能够捕获错误并阻止它插入到数据库中(如果它是重复的)。

谢谢!

1 个答案:

答案 0 :(得分:1)

声明KEY_CONCATA TEXT NOT NULL UNIQUE,并在使用insertWithOnConflict标志时插入使用SQLiteDatabase.CONFLICT_IGNORE