내가 안드로이드에 rawQuery으로 아래의 문을 통과하고있어에 selectionArgs로 필드 이름을 전달 :안드로이드 - 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"}
그러나 나는 또한 WHERE
절에 GLOBAL_ID
에 의해 제한 모든 행을 표시 할 수 있어야합니다. 때 그러나
WHERE ltGroups.GLOBAL_ID = ltGroups.GLOBAL_ID
: - 단지 바로 문에 매개 변수를 작성하여뿐만 아니라 안드로이드 - 안드로이드 이외의 내 SQLite 데이터베이스의 덤프에 테스트 다음 절은이 작업을 수행 할 수있는 유효한 방법이 될 방법을 보여줍니다 필드 참조 ltGroups.GLOBAL_ID
또는 [ltGroups].[GLOBAL_ID]
을 매개 변수로 전달하면 rawQuery의 모든 행을 반환하지 못합니다. 이것이 일어날 수있는 이유에 대한 아이디어가 있습니까? 추가 정보를 생성하는 데 만족합니다.
감사합니다, 나는 의심대로입니다. 모든 행을 요청할 때 다른 SQL을 실행하기 위해 조건부를 두어 휘몰아 치는 일을해야한다는 것을 의미합니다. –