Ich versuche, die folgende Ausnahme speziell für Code 19. Gibt es eine Möglichkeit the error code von SQLiteConstraintException kennen zu fangen? oder sollte ich einfach eine "contains" Prüfung für die Nachrichtenbeschreibung haben?Wie Fehlercode von SQLiteConstraintException in Java bekommen
03-24 14: 46: 45.430: W/System.err (2219): android.database.sqlite. SQLiteConstraintException: Primärschlüssel muss eindeutig sein (Code 19)
try {
res = database.insertOrThrow(EMP_TABLE, null, values);
} catch (android.database.sqlite.SQLiteConstraintException e) {
e.printStackTrace();
//something like e.getErrorCode(); }
Meine Umgehungslösung ist;
if(e.getMessage().contains("code 19"))
Log.d(TAG, "Key Already exists !");
Anstatt Ausnahme abzufangen, ist die angegebene Zeile bereits vorhanden. Dann müssen Sie keine Ausnahme behandeln. – jakubbialkowski
Wie überprüfe ich das? durch eine andere SQL-Anweisung? – shamaleyte
Warum brauchen Sie das? Sie können res = database.insert (EMP_TABLE, null, values); und Sie werden keine Ausnahme bekommen. Sie müssen nur den Wert von res überprüfen. Wenn es -1 ist, dann gibt es einen Fehler, sonst nicht. –