Аргументы выбора как целые числа, а не строки

У меня есть этот метод, который принимает целочисленный ввод и возвращает строку, он должен принимать идентификатор сотрудника и возвращать его имя, должность, телефон, электронную почту. Между тем аргументы выбора rawquery используют строки и не работают с целыми числами, как я могу это исправить?

 public Cursor getEmpData(Integer ID)
        {
            EmpDept = getReadableDatabase();
            Integer[] empRow = {ID};

            Cursor c = EmpDept.rawQuery("Select name, Title, phone, email from Employee where EmpID like ?", ID);
            if (c != null)
            {
                c.moveToFirst();
            }
            EmpDept.close();
            return c;
        }
0
0
69
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Просто используйте toString(), как и любой другой объект:

Cursor c = EmpDept.rawQuery("Select name, Title, phone, email from Employee where EmpID like ?", ID.toString());

Если вы решите использовать вместо него примитивный int, String.valueOf(ID) сделает то же самое.

Ответ принят как подходящий

Второй аргумент rawQuery должен быть массивом String:

Cursor c = EmpDept.rawQuery("Select name, Title, phone, email from Employee where EmpID like ?", new String[] {ID.toString()});

Другие вопросы по теме