SQLite中的查询拒绝返回任何内容

时间:2019-03-28 22:14:58

标签: java android sql sqlite

我一直在尝试从SQLite表获取ID。我不断得到id = 0。

该ID位于一个表中,该表也包含一行电子邮件。我需要获取与方法调用中提供的电子邮件匹配的ID。

我遇到了很多标题相似的问题,并尝试了许多不同的代码并获得了相同的结果。

我还在SQLite dabase浏览器中查看了SQLite表,因此我知道该表已填充。

public int getWorkerId(String emailId) {
        int returnId = 0;
        String where = EMAIL_ADDRESS + " = ' " + emailId + "'";
        Cursor c = db.query(true, TABLE_NAME, null,
                where, null, null, null, null, null);
        if (c.moveToFirst()) {
            returnId = c.getInt(c.getColumnIndex(ENTRY_ID));
        }

        c.close();

        return returnId; 
    }

谢谢。

1 个答案:

答案 0 :(得分:0)

正如 sticky bit 评论的那样,String where = EMAIL_ADDRESS + " = ' " + emailId + "'"; 中第一个单引号和第二个双引号之间的空格是导致问题的原因。