我想删除我的Android应用程序中选择的记录形式我的SQLite数据库。但我无法做到这一点,并在程序运行时得到异常。查询删除从SQLite数据库的特定记录android
这是我想要删除特定的选定记录。
public void deleteRecord(String datarecord)
{
this.db.delete(TABLE_NAME, "name="+datarecord , null);
}
这就是我对从中执行所选记录的删除操作的单击事件所做的事情。
dh.deleteRecord(FavMusicList[position]);
dh是我的DataHelper类的对象,我创建了deleteRecord函数。
我得到了语法错误的SQLite异常。所以我想我肯定是犯了错误的语法删除特定选定的记录,但不知道我到底需要纠正什么。
有人能帮我吗?
感谢, 大卫
我的堆栈跟踪:
12-22 14:39:37.892: ERROR/AndroidRuntime(676): FATAL EXCEPTION: main
12-22 14:39:37.892: ERROR/AndroidRuntime(676): android.database.sqlite.SQLiteException: near "very": syntax error: , while compiling: DELETE FROM table1 WHERE name=Iâm very drunk
12-22 14:39:37.892: ERROR/AndroidRuntime(676): at android.database.sqlite.SQLiteCompiledSql.native_compile(Native Method)
12-22 14:39:37.892: ERROR/AndroidRuntime(676): at android.database.sqlite.SQLiteCompiledSql.compile(SQLiteCompiledSql.java:91)
12-22 14:39:37.892: ERROR/AndroidRuntime(676): at android.database.sqlite.SQLiteCompiledSql.<init>(SQLiteCompiledSql.java:64)
12-22 14:39:37.892: ERROR/AndroidRuntime(676): at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:80)
12-22 14:39:37.892: ERROR/AndroidRuntime(676): at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:36)
12-22 14:39:37.892: ERROR/AndroidRuntime(676): at android.database.sqlite.SQLiteDatabase.compileStatement(SQLiteDatabase.java:1145)
12-22 14:39:37.892: ERROR/AndroidRuntime(676): at android.database.sqlite.SQLiteDatabase.delete(SQLiteDatabase.java:1589)
12-22 14:39:37.892: ERROR/AndroidRuntime(676): at com.android.soundmachine.DataHelper.deleteRecord(DataHelper.java:42)
12-22 14:39:37.892: ERROR/AndroidRuntime(676): at com.android.soundmachine.FavoritesListing$SoundMacHineAdapter$1$1.onClick(FavoritesListing.java:192)
12-22 14:39:37.892: ERROR/AndroidRuntime(676): at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:158)
12-22 14:39:37.892: ERROR/AndroidRuntime(676): at android.os.Handler.dispatchMessage(Handler.java:99)
12-22 14:39:37.892: ERROR/AndroidRuntime(676): at android.os.Looper.loop(Looper.java:123)
12-22 14:39:37.892: ERROR/AndroidRuntime(676): at android.app.ActivityThread.main(ActivityThread.java:4627)
12-22 14:39:37.892: ERROR/AndroidRuntime(676): at java.lang.reflect.Method.invokeNative(Native Method)
12-22 14:39:37.892: ERROR/AndroidRuntime(676): at java.lang.reflect.Method.invoke(Method.java:521)
12-22 14:39:37.892: ERROR/AndroidRuntime(676): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
12-22 14:39:37.892: ERROR/AndroidRuntime(676): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
12-22 14:39:37.892: ERROR/AndroidRuntime(676): at dalvik.system.NativeStart.main(Native Method)
如果您提供的堆栈跟踪,这将是很有帮助。 – Mudassir 2010-12-22 05:32:38
@Mudassir:对不起,但我不明白Stack Trace是什么意思? – 2010-12-22 05:36:06