2011-09-27 52 views
0

這是我的錯誤:android.database.sqlite.SQLiteException:近 「(」

09-27 08:16:34.547: WARN/System.err(8366):  at android.database.sqlite.SQLiteCompiledSql.native_compile(Native Method) 
09-27 08:16:34.547: WARN/System.err(8366):  at android.database.sqlite.SQLiteCompiledSql.compile(SQLiteCompiledSql.java:92) 
09-27 08:16:34.547: WARN/System.err(8366):  at android.database.sqlite.SQLiteCompiledSql.<init>(SQLiteCompiledSql.java:65) 
09-27 08:16:34.547: WARN/System.err(8366):  at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:83) 
09-27 08:16:34.547: WARN/System.err(8366):  at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:41) 
09-27 08:16:34.547: WARN/System.err(8366):  at android.database.sqlite.SQLiteDatabase.compileStatement(SQLiteDatabase.java:1149) 
09-27 08:16:34.547: WARN/System.err(8366):  at android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1802) 
09-27 08:16:34.557: WARN/System.err(8366):  at de.enough.appmate.dbase.CMSResource.updateItem(CMSResource.java:1168) 
09-27 08:16:34.557: WARN/System.err(8366):  at de.enough.appmate.dbase.CMSResourceUpdater.updateItems(CMSResourceUpdater.java:179) 
09-27 08:16:34.557: WARN/System.err(8366):  at de.enough.appmate.dbase.CMSResourceUpdater.loadUpdates(CMSResourceUpdater.java:102) 
09-27 08:16:34.557: WARN/System.err(8366):  at de.enough.appmate.dbase.CMSResourceUpdaterRunnable.run(CMSResourceUpdaterRunnable.java:32) 
09-27 08:16:34.557: WARN/System.err(8366):  at java.lang.Thread.run(Thread.java:1019) 

,這是我的updateItem方法的代碼數據庫應進行更新:

this.db.execSQL("UPDATE " + CMSConstants.ITEMS + " SET (" + 
        CMSConstants.ID + ", " + 
        CMSConstants.TITLE + ", " + 
        CMSConstants.IS_PAGE + ", " + 
        CMSConstants.IS_HIDDEN + ", " + 
        CMSConstants.ITEM_TYPE + ", " + 
        CMSConstants.ORDER_INDEX + ", " + 
        CMSConstants.SECTION_ID + ", " + 
        CMSConstants.TABLE_SECTION_NAME + ", " + 
        CMSConstants.TABLE_SECTION_ID + ", " + 
        CMSConstants.IMAGE1_FILE + ", " + 
        CMSConstants.IMAGE1_CAPTION + ", " + 
        CMSConstants.IMAGE1_DISPLAY_IN_GALLERY + ", " + 
        CMSConstants.CATEGORY1 + ", " + 
        CMSConstants.CATEGORY2 + ", " + 
        CMSConstants.GEO_LONGITUDE + ", " + 
        CMSConstants.GEO_LATITUDE + ", " + 
        CMSConstants.DESCRIPTION + ", " + 
        CMSConstants.KEYWORDS + ", " + 
        CMSConstants.BLOCKWORDS + ", " + 
        CMSConstants.CLEAN_NAME + ", " + 
        CMSConstants.ADDITIONAL_FIELD1_NAME + ", " + 
        CMSConstants.ADDITIONAL_FIELD1_VALUE + ", " + 
        CMSConstants.ADDITIONAL_FIELD2_NAME + ", " + 
        CMSConstants.ADDITIONAL_FIELD2_VALUE + ", " + 
        CMSConstants.ADDITIONAL_FIELD3_NAME + ", " + 
        CMSConstants.ADDITIONAL_FIELD3_VALUE + ", " + 
        CMSConstants.ADDITIONAL_FIELD4_NAME + ", " + 
        CMSConstants.ADDITIONAL_FIELD4_VALUE + ", " + 
        CMSConstants.ADDRESS_LINE1 + ", " + 
        CMSConstants.ADDRESS_LINE2 + ", " + 
        CMSConstants.ADDRESS_LINE3 + ", " + 
        CMSConstants.ADDRESS_LINE4 + ", " + 
        CMSConstants.ADDRESS_LINE5 + ", " + 
        CMSConstants.ADDRESS_POSTCODE + ", " + 
        CMSConstants.CONTACT_EMAIL + ", " + 
        CMSConstants.CONTACT_EMAIL_DISPLAY + ", " + 
        CMSConstants.CONTACT_EMAIL_SUBJECT + ", " + 
        CMSConstants.CONTACT_TEL + ", " + 
        CMSConstants.CONTACT_TEL_DISPLAY + ", " + 
        CMSConstants.CONTACT_WEB + ", " + 
        CMSConstants.CONTACT_WEB_DISPLAY + ", " + 
        CMSConstants.MODIFICATION_DATE + ", " + 
        CMSConstants.PAGE_HEADER + 
        ") VALUES (" + 
        "?,?,?,?,?,?,?,?,?,?," + 
        "?,?,?,?,?,?,?,?,?,?," + 
        "?,?,?,?,?,?,?,?,?,?," + 
        "?,?,?,?,?,?,?,?,?,?," + 
        "?,?,?);", bindArgs); 

我不知道問題出在哪裏,我查看了代碼,「(」

附近沒有問題,希望有人能幫助我

感謝名單 newone

編輯: 這是我的新查詢

this.db.execSQL("UPDATE " + CMSConstants.ITEMS + " SET " + 
       CMSConstants.ID + "= ?, " + 
       CMSConstants.TITLE + " = ?, " + 
       CMSConstants.IS_PAGE + " = ?, " + 
       CMSConstants.IS_HIDDEN + " = ?, " + 
       CMSConstants.ITEM_TYPE + " = ?, " + 
       CMSConstants.ORDER_INDEX + " = ?, " + 
       CMSConstants.SECTION_ID + " = ?, " + 
       CMSConstants.TABLE_SECTION_NAME + " = ?, " + 
       CMSConstants.TABLE_SECTION_ID + " = ?, " + 
       CMSConstants.IMAGE1_FILE + " = ?, " + 
       CMSConstants.IMAGE1_CAPTION + " = ?, " + 
       CMSConstants.IMAGE1_DISPLAY_IN_GALLERY + " = ?, " + 
       CMSConstants.CATEGORY1 + " = ?, " + 
       CMSConstants.CATEGORY2 + " = ?, " + 
       CMSConstants.GEO_LONGITUDE + " = ?, " + 
       CMSConstants.GEO_LATITUDE + " = ?, " + 
       CMSConstants.DESCRIPTION + " = ?, " + 
       CMSConstants.KEYWORDS + " = ?, " + 
       CMSConstants.BLOCKWORDS + " = ?, " + 
       CMSConstants.CLEAN_NAME + " = ?, " + 
       CMSConstants.ADDITIONAL_FIELD1_NAME + " = ?, " + 
       CMSConstants.ADDITIONAL_FIELD1_VALUE + " = ?, " + 
       CMSConstants.ADDITIONAL_FIELD2_NAME + " = ?, " + 
       CMSConstants.ADDITIONAL_FIELD2_VALUE + " = ?, " + 
       CMSConstants.ADDITIONAL_FIELD3_NAME + " = ?, " + 
       CMSConstants.ADDITIONAL_FIELD3_VALUE + " = ?, " + 
       CMSConstants.ADDITIONAL_FIELD4_NAME + " = ?, " + 
       CMSConstants.ADDITIONAL_FIELD4_VALUE + " = ?, " + 
       CMSConstants.ADDRESS_LINE1 + " = ?, " + 
       CMSConstants.ADDRESS_LINE2 + " = ?, " + 
       CMSConstants.ADDRESS_LINE3 + " = ?, " + 
       CMSConstants.ADDRESS_LINE4 + " = ?, " + 
       CMSConstants.ADDRESS_LINE5 + " = ?, " + 
       CMSConstants.ADDRESS_POSTCODE + " = ?, " + 
       CMSConstants.CONTACT_EMAIL + " = ?, " + 
       CMSConstants.CONTACT_EMAIL_DISPLAY + " = ?, " + 
       CMSConstants.CONTACT_EMAIL_SUBJECT + " = ?, " + 
       CMSConstants.CONTACT_TEL + " = ?, " + 
       CMSConstants.CONTACT_TEL_DISPLAY + " = ?, " + 
       CMSConstants.CONTACT_WEB + " = ?, " + 
       CMSConstants.CONTACT_WEB_DISPLAY + " = ?, " + 
       CMSConstants.MODIFICATION_DATE + " = ?, " + 
       CMSConstants.PAGE_HEADER + " = ?" 
       , bindArgs); 

,這是新的錯誤:

09-27 09:39:03.105: WARN/System.err(8903): android.database.sqlite.SQLiteConstraintException: error code 19: constraint failed 
09-27 09:39:03.105: WARN/System.err(8903):  at android.database.sqlite.SQLiteStatement.native_execute(Native Method) 
09-27 09:39:03.115: WARN/System.err(8903):  at android.database.sqlite.SQLiteStatement.execute(SQLiteStatement.java:61) 
09-27 09:39:03.115: WARN/System.err(8903):  at android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1809) 
09-27 09:39:03.115: WARN/System.err(8903):  at de.enough.appmate.dbase.CMSResource.updateItem(CMSResource.java:1221) 
09-27 09:39:03.115: WARN/System.err(8903):  at de.enough.appmate.dbase.CMSResourceUpdater.updateItems(CMSResourceUpdater.java:178) 
09-27 09:39:03.115: WARN/System.err(8903):  at de.enough.appmate.dbase.CMSResourceUpdater.loadUpdates(CMSResourceUpdater.java:102) 
09-27 09:39:03.115: WARN/System.err(8903):  at de.enough.appmate.dbase.CMSResourceUpdaterRunnable.run(CMSResourceUpdaterRunnable.java:32) 
09-27 09:39:03.115: WARN/System.err(8903):  at java.lang.Thread.run(Thread.java:1019) 
+1

你可以打印您的查詢記錄,並顯示在這裏呢? –

+0

我同意@NikitaBeloglazov,你應該在執行它之前將你的查詢準備成字符串和Log.d。更容易調試這種方式。另外,如果你看看這個錯誤,它似乎是一個約束失敗(無效值),不會再出現SQL語法錯誤。你也應該檢查你的值。 –

回答

2

試試這個

this.db.execSQL("UPDATE " + CMSConstants.ITEMS + " SET "+CMSConstants.ID+"="+value) 

我想查詢是錯誤的..

簡單的更新查詢

"UPDATE TABLE_NAME SET COLUMN_NAME=COLUMN_VALUE" 
+0

但我有更多的價值。那我該怎麼做呢? – newone

+0

「UPDATE TABLE_NAME SET COLUMN_NAME1 = COLUMN_VALUE1,COLUMN_NAME2 = COLUMN_VALUE2,COLUMN_NAME3 = COLUMN_VALUE3」 –

+0

我認爲你有正確的想法,但newone應該仍然使用佔位符而不是字符串連接,單引號是SQL字符串文字的標準(即使SQLite允許雙引號)。 –

相關問題