以下のステートメントを Android の rawQuery として渡しています。
SELECT DISTINCT ltUsers._id,ltUsers.NAME,ltUsers.GLOBAL_ID, ltGroups.GROUP_NAME
FROM ltUsers
JOIN ltGroups ON (ltUsers.GROUP_ID = ltGroups.GLOBAL_ID)
WHERE ltgroups.GLOBAL_ID = ? " +
ORDER BY ltUsers.NAME ASC,ltgroups.GLOBAL_ID ASC;
rawQuery を次のように使用します。
Cursor c = db.rawQuery(sql,args)
パラメータに値を渡すと問題なく動作します。
String[] args = new String[]{"2"}
GLOBAL_ID
ただし、WHERE
句で無制限にすべての行を表示できるようにしたいと考えています。Android の外部にある SQLite データベースのダンプをテストするだけでなく、ステートメントにパラメーターを直接書き込むことによって Android でテストすると、次の句がこれを行う有効な方法であることがわかります。
WHERE ltGroups.GLOBAL_ID = ltGroups.GLOBAL_ID
しかし、フィールド参照を渡すltGroups.GLOBAL_ID
か[ltGroups].[GLOBAL_ID]
、パラメーターとして渡すと、rawQuery に行が返されません。なぜこれが起こっているのかについてのアイデアはありますか? 追加情報を喜んで作成します。