[英]Android Sqlite with ContentProvider or SQLiteOpenHelper
[英]Android SQLite query ContentProvider Case Statement syntax
我在运行此查询时收到错误,是否知道我的语法错误是什么?
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):,而在编译时:创建CASE时创建了SELECT ASE = 112 THEN (创建的玩家和您所连接的玩家一样)ELSE(创建的玩家和您所创建的玩家一样)来自游戏在哪里(turn =?)
尝试这个。
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 = ?)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.