在表中查找特定条目会导致列未找到异常

时间:2013-06-26 16:44:32

标签: java android database android-sqlite

我编写了数据库应用程序,我试图在数据库中查找特定条目。我得到一个例外,即我尝试查找条目的特定列不会退出,尽管在数据库中插入新数据不会导致任何异常。这是代码:

public void findEmail(String findEm) {

    Cursor c = sqlDB.query(DB_TABLE_NAME, dbCols, DB_EMAIL_COL + "=" + findEm, null, null, null, null);

    if(c!=null)
    {
        c.moveToFirst();

        String found = c.getString(1); // id = col 0, email = col 1

        Toast.makeText(context, "Email FOund "+ found, 0).show();
    }
}

我发现电子邮件列不存在。语法有什么问题,或者我在代码中遗漏了什么。

此致

2 个答案:

答案 0 :(得分:0)

我不确定,因为我不是Java开发人员,但不应该是:

Cursor c = sqlDB.query(DB_TABLE_NAME, dbCols, DB_EMAIL_COL + "='" + findEm + "'", null, null, null, null);

答案 1 :(得分:0)

您的代码评论说:

id = col 0, email = col 1
            ^^^^^

并且您的错误消息显示:

Email column doesn't exist
^^^^^

所以我假设您的DB_EMAIL_COL的值为Email,但它的值应为email

请记住,Email != email