android.database.sqlite.SQLiteException:near" a&#34 ;:语法错误(代码1):

时间:2014-09-28 10:59:57

标签: android sql android-sqlite

我想在gridview中交换位置并在android上获取语法错误。

android.database.sqlite.SQLiteException:near" a&#34 ;:语法错误(代码1):

 public void swapNewspaperSeialByPosition(int oldPosition, int newPosition) {

String selectQuery2 = "UPDATE " + TBL_NEWSPAPER + " a INNER JOIN " + TBL_NEWSPAPER
        + " b ON a.rowid <> b.rowid SET a.serialNo = b.serialNo WHERE a.rowid IN ("
        + oldPosition + "," + newPosition + ") AND b.rowid IN ("
        + newPosition + "," + oldPosition + ")";

SQLiteDatabase db = this.getWritableDatabase();
db.execSQL(selectQuery2);

}

这里的logcat:

09-28 16:55:28.332: E/SQLiteLog(3047): (1) near "a": syntax error
09-28 16:55:28.332: E/InputEventReceiver(3047): Exception dispatching input event.
09-28 16:55:28.342: D/AndroidRuntime(3047): Shutting down VM
09-28 16:55:28.342: W/dalvikvm(3047): threadid=1: thread exiting with uncaught exception (group=0x4184e438)
09-28 16:55:28.392: E/AndroidRuntime(3047): FATAL EXCEPTION: main
09-28 16:55:28.392: E/AndroidRuntime(3047): android.database.sqlite.SQLiteException: near "a": syntax error (code 1): , while compiling: UPDATE tbl_newspaper a INNER JOIN tbl_newspaper b ON a.rowid <> b.rowid SET a.serialNo = b.serialNo WHERE a.rowid IN (4,2) AND b.rowid IN (2,4)
09-28 16:55:28.392: E/AndroidRuntime(3047):     at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
09-28 16:55:28.392: E/AndroidRuntime(3047):     at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:1013)
09-28 16:55:28.392: E/AndroidRuntime(3047):     at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:624)
09-28 16:55:28.392: E/AndroidRuntime(3047):     at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
09-28 16:55:28.392: E/AndroidRuntime(3047):     at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58)
09-28 16:55:28.392: E/AndroidRuntime(3047):     at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:31)
09-28 16:55:28.392: E/AndroidRuntime(3047):     at android.database.sqlite.SQLiteDatabase.executeSql(SQLiteDatabase.java:1663)
09-28 16:55:28.392: E/AndroidRuntime(3047):     at android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1594)
09-28 16:55:28.392: E/AndroidRuntime(3047):     at com.bangla.joyanews.DatabaseHelper.swapNewspaperSeialByPosition(DatabaseHelper.java:582)
09-28 16:55:28.392: E/AndroidRuntime(3047):     at FragmentAllNewspaper.swapNewspaperSeialByPosition(FragmentAllNewspaper.java:163)

0 个答案:

没有答案