Разработка Android с использованием sqlite: результат запроса не должен быть пустым

У меня довольно большой запрос, который возвращает данные при выполнении вне Android, но ничего не возвращает при выполнении в Android.

Я разделил запрос на несколько частей и решил, что объединение было в порядке.Я попробовал на меньшем наборе данных с тем же поведением.Я тестировал с различными версиями оборудования и API.Я использую метод rawQuery с постоянными значениями.http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html#rawQuery(java.lang.String, java.lang.String [])

Этот запрос предназначен для замены FULL OUTER JOIN, который в настоящее время не поддерживается.

SELECT IFNULL(stype, gtype) AS type, IFNULL(sdate, gdate) AS date, IFNULL(sroute, groute) AS route FROM (

SELECT sp.type AS stype, sp.date AS sdate, -1 AS gtype, gp.date AS gdate, sp.route AS sroute, gp.route AS groute
FROM Sensor_Point AS sp LEFT JOIN GPS_Point AS gp ON gp._id IS NULL AND sp.sent=0 AND sp.route=gp.route AND sp.route=1
UNION ALL
SELECT sp.type AS stype, sp.date AS sdate, -1 AS gtype, gp.date AS gdate, sp.route AS sroute, gp.route AS groute
FROM GPS_Point AS gp LEFT JOIN Sensor_Point AS sp ON sp._id IS NULL AND gp.sent=0 AND sp.route=gp.route AND gp.route=1

) WHERE route=1 ORDER BY date ASC LIMIT 255

Любые советы будут с благодарностью.

Обновить:

Похоже, проблема, наконец, в параметрах запроса, если я установлю его следующим образом:

String[] args = new String[3];
args[0] = args[1] = args[2] = "1"; 
Cursor data dataBase.rawQuery(SELECT_POINTS, args);

Это не работает, в то время как работает, когда жестко кодирует значения непосредственно в запросе.

Cursor data = dataBase.rawQuery(SELECT_POINTS, null);

Ответы на вопрос(1)

Ваш ответ на вопрос