0

好的,所以当我查看这些示例时,我显然遗漏了一些东西。我有以下代码,它不断返回该项目存在的第一个 if 语句,但它对我查询的任何内容都执行此操作。我知道它们不存在,因为我查询的某些内容甚至不是 12 个字符并且不可能匹配。我的理解是使用 moveToFirst(); 要么返回它匹配的结果,但文档说 moveToFirst 只是将它移动到第一行并且天气它是成功的。所以,我认为为什么它总是成功是因为创建了游标并且游标确实移动到了第一行。如果这是怎么回事,我该如何检查数据库中是否存在值?感谢您的帮助,不知道为什么这会逃避我,前几天我用同样的方法让它工作,

    String selectQuery = "SELECT * FROM " + TABLE_NAMES + " WHERE " + COLUMN_NAME = '" + contents +"'";
    Cursor cursor = myDataBase.rawQuery(selectQuery, null);

    if (cursor.moveToFirst()) {
        contents = "The item" + contents +" is a valid.";
        tv.setText(contents);
    }else{
         contents = "The item " + contents + " is not a valid WIC item";
         tv.setText(contents);
    }
    close();
4

2 回答 2

0

您的查询语句中有一些错误。请用以下内容替换它:

String selectQuery = "SELECT * FROM " + TABLE_NAMES + " WHERE " + COLUMN_NAME + "=" + contents;
于 2013-01-10T04:26:56.273 回答
0

你确定TABLE_NAMES只包含一个名字吗?如果不是,结果将是真的

于 2013-01-11T19:00:26.840 回答