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);

Разница между ними заключается в том, что первый документ кажется более правильным в соответствии с документацией, но он также не работает - курсор пуст. Вместо второго - я получаю все данные, которые мне нужны.

Поэтому я попытался выполнить разные запросы SQL на моем компьютере с копией базы данных, и вот что у меня получилось:

SELECT col1, col2, col3 FROM SomeTables WHERE (id = '42')

Этот не работает (и этот запрос, очевидно, равен запросу, сгенерированному первым примером кода)

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.

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

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