2013-04-25 79 views
0

我收到一個錯誤,當我運行此查詢,任何線索我的語法錯誤是什麼?Android SQLite查詢ContentProvider案例語句語法

final Cursor c = getContentResolver().query(
Provider.GAME_URI, new String[]{"CASE WHEN " +DBHelper.COLUMN_CRE_USER + " = " + preferences.getInt(LoginScreen.ID, 0) + " THEN (" + DBHelper.COLUMN_CRE_PTS + " AS you AND " + DBHelper.COLUMN_CON_PTS + " AS them) ELSE (" + DBHelper.COLUMN_CON_PTS + " AS you AND " + DBHelper.COLUMN_CRE_PTS + " AS them)"},"turn = ?", 
new String[] { preferences.getInt(LoginScreen.ID, 0) + ""}, null); 

04-24 19:57:48.345:E/AndroidRuntime(18775):android.database.sqlite.SQLiteException:致近 「AS」:語法錯誤(碼1):,而編譯:SELECT CASE WHEN createduser = 112 THEN(AS你createdplayerpts並作爲他們connectedplayerpts)ELSE(connectedplayerpts你和createdplayerpts AS他們)從博弈WHERE(轉=?)

回答

1

試試這個。

SELECT 
    CASE WHEN createduser = 112 THEN createdplayerpts ELSE connectedplayerpts END AS you, 
    CASE WHEN createduser = 112 THEN connectedplayerpts ELSE createdplayerpts END AS them 
FROM 
    game WHERE (turn = ?) 
+0

救主!我欠你一杯啤酒。 – 2013-04-25 06:26:19

+0

歡迎!任何時候 ;-) – appsroxcom 2013-04-25 06:30:42