1
데이터베이스 핸들러 파일에서 아래 지정된 함수를 사용하고 싶습니다. 그것을 구현할 때 javaNullpointerException이 올 것이다. 나는 확실히 뭔가를 놓친다.sqlite에서 delete 함수를 호출하는 방법
삭제 기능 :
// Deleting single contact
public void deleteContact(Contact contact) {
SQLiteDatabase db = this.getWritableDatabase();
db.delete(TABLE_CONTACTS, KEY_ID + " = ?",new String[] { String.valueOf(contact.getID()) });
db.close();
}
내가으로 사용하는 것을 시도하고있다 :
DatabaseHandler db = new DatabaseHandler(this);
Contact pm = null;
Intent i;
i = getIntent();
pm._id= i.getExtras().getInt("id");
pm._name = i.getExtras().getString("name");
pm._phone_number = i.getExtras().getString("phone_number");
// **Some problem is here I am not getting it
db.deleteContact(pm);
Toast.makeText(getApplicationContext(),"Deleted..",Toast.LENGTH_SHORT).show();
로그 캣 :에서
08-19 01:15:00.726: E/AndroidRuntime(12657): FATAL EXCEPTION: main
08-19 01:15:00.726: E/AndroidRuntime(12657): java.lang.NullPointerException
08-19 01:15:00.726: E/AndroidRuntime(12657): at com.parth.targetthebudget.ViewContact$ListAdapter$2$1.onClick(ViewContact.java:151)
08-19 01:15:00.726: E/AndroidRuntime(12657): at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:163)
08-19 01:15:00.726: E/AndroidRuntime(12657): at android.os.Handler.dispatchMessage(Handler.java:99)
08-19 01:15:00.726: E/AndroidRuntime(12657): at android.os.Looper.loop(Looper.java:130)
08-19 01:15:00.726: E/AndroidRuntime(12657): at android.app.ActivityThread.main(ActivityThread.java:3687)
08-19 01:15:00.726: E/AndroidRuntime(12657): at java.lang.reflect.Method.invokeNative(Native Method)
08-19 01:15:00.726: E/AndroidRuntime(12657): at java.lang.reflect.Method.invoke(Method.java:507)
08-19 01:15:00.726: E/AndroidRuntime(12657): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
08-19 01:15:00.726: E/AndroidRuntime(12657): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
08-19 01:15:00.726: E/AndroidRuntime(12657): at dalvik.system.NativeStart.main(Native Method)
예에 보낸 것과 동일한 ID를 가진 레코드를 제거합니다
을 추가, 제거 다음, 나는 이미 있었다 이것을 시도했지만 문제는 ID = 1을 부여한 경우 logcat이 08-19 01 : 40 : 20.351 : E/AndroidRuntime (13678) : android.database.CursorIndexOutOfBoundsException : 요청한 색인 0 0의 크기입니다.은 ID = 1의 데이터를 삭제하지 않는다는 것을 의미합니다! – arraystack
ID가 1 인 레코드가 있습니까? –