테이블의 id로 삭제를 하려고 아래와 같이 코드를 작성했습니다. 그런데 에러가 뜨네요
id는 integer형식이고 primary key, autoincrement입니다.
Button delete = (Button)findViewById(R.id.delete_button);
EditText delete_text =(EditText)findViewById(R.id.delete_text);
str_delete = delete_text.getText().toString();
dbmanager = new DBManager(this);
sqlitedb = dbmanager.getWritableDatabase();
delete.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
String sql = "delete from customers where id = "+str_delete+";";
sqlitedb.execSQL(sql);
sqlitedb.close();
}
});
---------------------erorr 내용-----------------------------
12-05 22:42:00.490: E/SQLiteLog(22868): (1) near ";": syntax error
12-05 22:42:00.490: D/AndroidRuntime(22868): Shutting down VM
12-05 22:42:00.490: W/dalvikvm(22868): threadid=1: thread exiting with uncaught exception (group=0x41d4cd58)
12-05 22:42:00.490: E/AndroidRuntime(22868): FATAL EXCEPTION: main
12-05 22:42:00.490: E/AndroidRuntime(22868): Process: com.example.aa201304326, PID: 22868
12-05 22:42:00.490: E/AndroidRuntime(22868): android.database.sqlite.SQLiteException: near ";": syntax error (code 1): , while compiling: delete from customers where id = ;
12-05 22:42:00.490: E/AndroidRuntime(22868): at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
12-05 22:42:00.490: E/AndroidRuntime(22868): at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:889)
12-05 22:42:00.490: E/AndroidRuntime(22868): at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:500)
12-05 22:42:00.490: E/AndroidRuntime(22868): at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
12-05 22:42:00.490: E/AndroidRuntime(22868): at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58)
12-05 22:42:00.490: E/AndroidRuntime(22868): at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:31)
12-05 22:42:00.490: E/AndroidRuntime(22868): at android.database.sqlite.SQLiteDatabase.executeSql(SQLiteDatabase.java:1672)
12-05 22:42:00.490: E/AndroidRuntime(22868): at android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1603)
12-05 22:42:00.490: E/AndroidRuntime(22868): at com.example.customermgt.MainActivity$1.onClick(MainActivity.java:40)
12-05 22:42:00.490: E/AndroidRuntime(22868): at android.view.View.performClick(View.java:4473)
12-05 22:42:00.490: E/AndroidRuntime(22868): at android.view.View$PerformClick.run(View.java:18589)
12-05 22:42:00.490: E/AndroidRuntime(22868): at android.os.Handler.handleCallback(Handler.java:733)
12-05 22:42:00.490: E/AndroidRuntime(22868): at android.os.Handler.dispatchMessage(Handler.java:95)
12-05 22:42:00.490: E/AndroidRuntime(22868): at android.os.Looper.loop(Looper.java:136)
12-05 22:42:00.490: E/AndroidRuntime(22868): at android.app.ActivityThread.main(ActivityThread.java:5091)
12-05 22:42:00.490: E/AndroidRuntime(22868): at java.lang.reflect.Method.invokeNative(Native Method)
12-05 22:42:00.490: E/AndroidRuntime(22868): at java.lang.reflect.Method.invoke(Method.java:515)
12-05 22:42:00.490: E/AndroidRuntime(22868): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:792)
12-05 22:42:00.490: E/AndroidRuntime(22868): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:608)
12-05 22:42:00.490: E/AndroidRuntime(22868): at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:132)
12-05 22:42:00.490: E/AndroidRuntime(22868): at dalvik.system.NativeStart.main(Native Method)