使用 execSQL 语句更新 android 中 table 中的行

Updating row in table in android using execSQL statement

我正在尝试更新数据库 table 中的行,但由于下面提到的一些问题,它没有更新。请帮忙 ! 这是 logcat 错误。

04-23 02:34:56.435: D/PackageItemInfo(27696): loadIcon(缓存)名称=org.example.beproj.MainActivity 04-23 02:35:06.576: D/dalvikvm(27696): GC_FOR_ALLOC 释放 418K,40% 释放 10126K/16688K,暂停 18ms,总计 26ms 04-23 02:35:06.596:I/dalvikvm-heap(27696):将堆(碎片情况)增加到 19.996MB,分配 8294416 字节 04-23 02:35:06.616: D/dalvikvm(27696): GC_CONCURRENT 释放 23K,27% 释放 18202K/24792K,暂停 6ms+2ms,总计 22ms 04-23 02:35:16.797: E/SQLiteLog(27696): (1) 没有这样的列:ID 04-23 02:35:16.797: D/AndroidRuntime(27696): 关闭虚拟机 04-23 02:35:16.797: W/dalvikvm(27696): threadid=1: 线程退出并出现未捕获的异常 (group=0x41276ae0) 04-23 02:35:16.797:E/AndroidRuntime(27696):致命异常:main 04-23 02:35:16.797: E/AndroidRuntime(27696): android.database.sqlite.SQLiteException: 没有这样的列: ID (code 1): , 编译时: UPDATE vgs SET Steps = 'xguvdyij'其中 ID = 0 04-23 02:35:16.797:E/AndroidRuntime(27696):在 android.database.sqlite.SQLiteConnection.nativePrepareStatement(本机方法) 04-23 02:35:16.797: E/AndroidRuntime(27696): 在 android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:888) 04-23 02:35:16.797: E/AndroidRuntime(27696): 在 android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:499) 04-23 02:35:16.797: E/AndroidRuntime(27696): 在 android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588) 04-23 02:35:16.797: E/AndroidRuntime(27696): 在 android.database.sqlite.SQLiteProgram.(SQLiteProgram.java:58) 04-23 02:35:16.797: E/AndroidRuntime(27696): 在 android.database.sqlite.SQLiteStatement.(SQLiteStatement.java:31) 04-23 02:35:16.797: E/AndroidRuntime(27696): 在 android.database.sqlite.SQLiteDatabase.executeSql(SQLiteDatabase.java:1663) 04-23 02:35:16.797: E/AndroidRuntime(27696): 在 android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1594) 04-23 02:35:16.797: E/AndroidRuntime(27696): 在 org.example.beproj.update_final$2.onClick(update_final.java:92) 04-23 02:35:16.797: E/AndroidRuntime(27696): 在 android.view.View.performClick(View.java:4278) 04-23 02:35:16.797: E/AndroidRuntime(27696): 在 android.view.View$PerformClick.run(View.java:17429) 04-23 02:35:16.797: E/AndroidRuntime(27696): 在 android.os.Handler.handleCallback(Handler.java:725) 04-23 02:35:16.797: E/AndroidRuntime(27696): 在 android.os.Handler.dispatchMessage(Handler.java:92) 04-23 02:35:16.797: E/AndroidRuntime(27696): 在 android.os.Looper.loop(Looper.java:137) 04-23 02:35:16.797: E/AndroidRuntime(27696): 在 android.app.ActivityThread.main(ActivityThread.java:5099) 04-23 02:35:16.797:E/AndroidRuntime(27696):在 java.lang.reflect.Method.invokeNative(本机方法) 04-23 02:35:16.797: E/AndroidRuntime(27696): 在 java.lang.reflect.Method.invoke(Method.java:511) 04-23 02:35:16.797: E/AndroidRuntime(27696): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:803) 04-23 02:35:16.797: E/AndroidRuntime(27696): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:570) 04-23 02:35:16.797:E/AndroidRuntime(27696):在 dalvik.system.NativeStart.main(本机方法)

密码是

db=SQLiteDatabase.openDatabase(DB_path, null,SQLiteDatabase.OPEN_READWRITE);
new_text=editText1.getText().toString();
String update = "UPDATE "+table_name+" SET Steps = '"+ new_text +"' WHERE ID = " + position;
db.execSQL(update); 

错误说明问题:

FATAL EXCEPTION: main 04-23 02:35:16.797: E/AndroidRuntime(27696): android.database.sqlite.SQLiteException: no such column: ID (code 1): , while compiling: UPDATE vgs SET Steps = 'xguvdyij' WHERE ID = 0