ben kodu 19. için özel olarak aşağıdaki özel durum yakalamaya çalışıyorum SQLiteConstraintException ait the error code almanın bir yolu var mı? veya mesaj açıklamasını sadece "içerir" kontrolüne sahip olmam mı gerekiyor?Nasıl Java
03-24 14: 46: 45,430 (2219) System.err/W: android.database.sqlite. SQLiteConstraintException: birincil anahtar benzersiz olmalıdır (kod 19)
try {
res = database.insertOrThrow(EMP_TABLE, null, values);
} catch (android.database.sqlite.SQLiteConstraintException e) {
e.printStackTrace();
//something like e.getErrorCode(); }
My geçici bir çözüm; Bir yöntem olarak kullanılamaz olduğu için
if(e.getMessage().contains("code 19"))
Log.d(TAG, "Key Already exists !");
yerine istisna yakalama onay verilen gelmez satır zaten var. Sonra istisna yapmak zorunda değilsiniz. – jakubbialkowski
Bu kontrolü nasıl yaparım? başka bir sql ifadesi ile? – shamaleyte
Neden buna ihtiyacınız var? Res = database.insert'i kullanabilirsiniz (EMP_TABLE, null, values); ve hiçbir istisna almazsınız. Sadece res değerini kontrol etmeniz gerekiyor. Eğer -1 ise, başka bir hata yoktur. –