我想在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)