Я бьюсь над этим несколько часов, я проверял много способов и знаю, где проблема, но я просто не могу понять, как ее исправить, мне нужна внешняя точка зрения здесь. *
Это мой код запроса:
public Cursor getAllExpensesUser(int user){<br>
String sql = "SELECT * FROM expense WHERE _id IN (SELECT id_expense FROM forwho WHERE id_user = "+ user +")";
return mDb.rawQuery(sql, null);
}
С этим запросом ничего не возвращается.
При использовании следующего запроса он возвращает желаемые строки ... очевидно, я использую номер идентификатора напрямую.
`String sql = "SELECT * FROM expense WHERE _id IN (SELECT id_expense FROM forwho WHERE id_user = 2)";`
Я пробовал также с аргументами:
public Cursor getAllExpensesUser(int user){<br>
String sql = "SELECT * FROM expense WHERE _id IN (SELECT id_expense FROM forwho WHERE id_user = ?)";
String[] arguments = {Integer.toString(user)};
return mDb.rawQuery(sql, arguments);
Итак, проблема в том, что я использую переменную.
Кто-нибудь может увидеть, где я все испортил?
Спасибо