舊的查詢工作,新的沒有。 Android的logcat給我錯誤爲: 失敗1:沒有這樣的列abcname。 abcname是我嘗試從android中的彈出窗口獲得的editview的值。sql查詢的問題,變量值沒有插入本身
我知道第一個查詢會在字段中插入這些值,因爲它們是以單引號括起來的。我在adb shell中輸入的相同查詢正常工作。所以我複製了查詢,並刪除了對應於字段名稱的數據,並插入了變量名稱。在試圖運行,我得到上述錯誤。
舊的查詢:
MapsActivity.myDB.execSQL("INSERT INTO "
+MapsActivity.TableName
+ " (name, user_comment, latitude, longitude) "
+ " VALUES ('tagName','tagComment','tagLatitude','tagLongitude');");
新的查詢:
MapsActivity.myDB.execSQL("INSERT INTO "
+MapsActivity.TableName
+ " (name, user_comment, latitude, longitude) "
+ " VALUES ("+tagName +",'tagComment','tagLatitude','tagLongitude');");
是什麼問題?
@ 1舊的查詢工作正常。它是不工作的第二個查詢。我必須從varible取值,因此我不能使用單引號,我需要替換tagName的值。 @ 2尋找參數綁定 thnx! – Kaustubh 2010-03-27 10:16:45
甚至更好:在SQLiteDatabase上使用'insert()'方法,所以你沒有生成任何你自己的SQL。 – CommonsWare 2010-03-27 11:08:28