2015-04-22 83 views
-2

我試圖更新數據庫表中的行,但由於下面提到的一些問題而沒有更新。請幫忙 ! 這是logcat錯誤。使用execSQL語句在android中更新表中的行

2月4日至23日:34:56.435:d/PackageItemInfo(27696):loadIcon(緩存)名稱= org.example.beproj.MainActivity 2月4日至23日: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):爲8294416字節的分配增加堆(碎片)至19.996MB 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)no such column:ID 04-23 02:35:16.797:D/AndroidRuntime(27696):關閉VM 04-23 02:35:16.797:W/dalvikvm(27696):threadid = 1:線程以未捕獲的異常退出(group = 0x41276ae0) 04-23 02:35:16.797:E/AndroidRuntime(27696):致命例外:主 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 04-23 02:35:16.797:E/AndroidRuntime(27696):at android.database.sqlite.SQLiteConnection.nativePrepareStatement Native Method) 04-23 02:35:16.797:E/AndroidRuntime(27696):at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:888) 04-23 02:35:16.797:E/AndroidRuntime (27696):at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:499) 04-23 02:35:16.797:E/AndroidRuntime(27696):at android.database.sqlite.SQLiteSession.prepare(SQLiteSession .java:588) 04-23 02:35:16.797:E/AndroidRuntime(2 (SQLiteStatement.java:7696):at android.database.sqlite.SQLiteProgram。(SQLiteProgram.java:58) 04-23 02:35:16.797:E/AndroidRuntime(27696):at android.database.sqlite.SQLiteStatement。(SQLiteStatement.java: 31) 04-23 02:35:16.797:E/AndroidRuntime(27696):at android.database.sqlite.SQLiteDatabase.executeSql(SQLiteDatabase.java:1663) 04-23 02:35:16.797:E/AndroidRuntime 27696):at android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1594) 04-23 02:35:16.797:E/AndroidRuntime(27696):at org.example.beproj.update_final $ 2.onClick(update_final .java:92) 04-23 02:35:16.797:E/AndroidRuntime(27696):at android.view.View.performClick(View.java:4278) 04-23 02:35:16.797:E/AndroidRuntime (27696):at android.view.View $ PerformClick.run(View.java:17429) 04-23 02:35:16.797:E/AndroidRuntime(2在android.os.Handler.handleCallback(Handler.java:725) 04-23 02:35:16.797:E/AndroidRuntime(27696):at android.os.Handler.dispatchMessage(Handler.java:92) 04-23 02:35:16.797:E/AndroidRuntime(27696):at android.os.Looper.loop(Looper.java:137) 04-23 02:35:16.797:E/AndroidRuntime(27696):at android.app.ActivityThread.main(ActivityThread.java:5099) 04-23 02:35:16.797:E/AndroidRuntime(27696):at java.lang.reflect.Method.invokeNative(Native Method) 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):at com.android .internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:803) 04-23 02:35:16.797:E/AndroidRuntime(27696):at com.android.internal.os.ZygoteInit.main(Zygote Init.java:570) 04-23 02:35:16.797:E/AndroidRuntime(27696):at dalvik.system.NativeStart。主(本地方法)

而且代碼

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); 
+0

我也用這個代碼,但它不會得到更新 –

+0

ContentValues newValues =新ContentValues( ); newValues.put(「Steps」,new_text); String where =「_ id =」+ position; db_update(table_name,newValues,「_ id =」+ position,null); –

+0

'沒有這樣的列:ID'檢查您的數據庫與編輯器,如果它包含必要的列。 – user114111121

回答

1

錯誤規定的問題:

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 
+0

謝謝你這麼多@阿什坎 –