Создание таблицы android sqliteDatabase с уникальными ключевыми ограничениями, не вызывающими исключение для повторяющейся записи - PullRequest
3 голосов
/ 04 января 2012

Я создал одно приложение для Android, которое подключалось к базе данных sqlite.

и я дал unique constraint для нескольких полей ровно 2 поля, скажем username and password.

Я ожидаю, что приложение сгенерирует исключение при попытке вставить повторяющуюся запись.

и в Logcat получаю следующее исключение:

01-04 16:52:06.604: E/SQLiteDatabase(1432): android.database.sqlite.SQLiteConstraintException: error code 19: constraint failed

в строке пытаюсь вставить db.insert(userTable, null, cv);

но даже если я пишу этот код в блоке try..catch, элемент управления не вводится в мой блок catch. Эксперты, пожалуйста, расскажите, почему этот случай случается .?

Заранее спасибо.

Ответы [ 3 ]

2 голосов
/ 04 января 2012

используйте как показано ниже:

try{
    db.insertOrThrow(userTable, null, cv);
}
catch(SQLiteConstraintException ex){
//what ever you want to do
}
0 голосов
/ 03 января 2015

Вы можете попробовать это:

try{
     db.insertOrThrow(userTable, null, cv);
} catch (android.database.sqlite.SQLiteConstraintException ex) {

}
0 голосов
/ 04 января 2012

Попробуйте перехватить SQLException вместо SQLiteConstraintException

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...