android.database.sqlite.SQLiteException:near";";
这是我的错误:android.database.sqlite.SQLiteException:near";";,android,sql,database,Android,Sql,Database,这是我的错误: 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.ja
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)
我不明白问题出在哪里。我查看了代码,发现“(”附近没有问题
希望有人能帮助我
塔克斯
纽恩
编辑:
这是我的新问题
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)
试试这个
this.db.execSQL("UPDATE " + CMSConstants.ITEMS + " SET "+CMSConstants.ID+"="+value)
我认为你的询问是错误的
简单更新查询
"UPDATE TABLE_NAME SET COLUMN_NAME=COLUMN_VALUE"
你能将你的查询打印到日志中并显示在这里吗?我同意@NikitaBeloglazov的观点,你应该在执行之前将查询准备成字符串并记录下来。这样更容易调试。另外,如果你看到错误,它似乎是一个约束失败(无效值),不再是SQL语法错误。您还应该检查您的值。但我有更多的值。那么我该如何做?“更新表\u名称集列\u名称1=列\u值1,列\u名称2=列\u值2,列\u名称3=列\u值3”我认为您的想法是正确的,但是newone仍然应该使用占位符而不是字符串连接,并且单引号是SQL字符串文本的标准(即使SQLite允许双引号)@newone:update t set c1=?,c2=?,…update SQL仍然可以使用占位符。抱歉,但我看到当我这样做时,会出现一个错误。它是:android.database.sqlite.sqliteconstraintextException:错误代码19:约束失败。你知道为什么会出现吗?
"UPDATE TABLE_NAME SET COLUMN_NAME=COLUMN_VALUE"