选择Args为整数而不是字符串

时间:2018-11-26 20:32:39

标签: android database sqlite

我有一个采用整数输入并返回行的方法,它应采用员工id并返回其名称,职务,电话,电子邮件。 同时rawquery选择args使用字符串,不适用于整数,我该如何解决?

 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 :(得分:1)

与其他任何对象一样,只需使用toString()

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

如果您决定改用原语int,则String.valueOf(ID)将执行相同的操作。

答案 1 :(得分:-1)

rawQuery的第二个参数必须是String的数组:

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