selectionArgs в SQLiteQueryBuilder не работает с целочисленными значениями в столбцах
Я пытаюсь выбрать некоторые данные из базы данных, и у меня есть два фрагмента кода, чтобы сделать это:
cursor = builder.query(db,
new String[]{"col1", "col2", "col3"},
"id = ?", new String[]{getSID(db)}, null, null, null);
а также
cursor = builder.query(db,
new String[]{"col1", "col2", "col3"},
"id = " + getSID(db), null, null, null, null);
Разница между ними заключается в том, что первый документ кажется более правильным в соответствии с документацией, но это также неt работа - курсор пуст. Вместо второго - яЯ получаю все данные, которые мне нужны.
Поэтому я попытался выполнить разные запросы SQL на моем ПК с копией базы данных, и эточто яу нас есть:
SELECT col1, col2, col3 FROM SomeTables WHERE (id = '42')
Этот неt работает (и этот запрос явно равен запросу, сгенерированному первым примером кода)
SELECT col1, col2, col3 FROM SomeTables WHERE (id = 42)
И этот работает нормально (равно запросу из второго примера кода).
Как я знаю, SQLite должен выполнять приведение типов автоматически, но что-то пошло не так, и я нене знаю почему. Есть ли у вас какие-либо идеи о том, как можно исправить первый пример кода? (Или, может быть, база данных?)
Если это имеет значение, здесьс упрощеннымCREATE
скрипт стола сid
поле:
CREATE TABLE SomeTable ( ID PRIMARY KEY, col1, col2, [...] )
UPD: И, кстати, getSID (db) возвращает String Object.