Аргументы выбора как целые числа, а не строки - PullRequest
0 голосов
/ 26 ноября 2018

У меня есть этот метод, который принимает целочисленный ввод и возвращает строку, он должен взять идентификатор сотрудника и вернуть его имя, должность, телефон, адрес электронной почты.Между тем, аргументы выбора 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;
        }

Ответы [ 2 ]

0 голосов
/ 26 ноября 2018

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

Cursor c = EmpDept.rawQuery("Select name, Title, phone, email from Employee where EmpID like ?", new String[] {ID.toString()});
0 голосов
/ 26 ноября 2018

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...