android - 检查ID是否存在于数据库中

标签 android sqlite select

我的数据库中有一个表,它由以下字段组成:id、group_id、uri_id、name、phone。 在我的数据库管理器文件中,我有一个函数来检查组中是否存在 uri_id。这是函数:

public boolean is_contact_in_group(String uri_id, int group_id)
{
    SQLiteDatabase db = db_helper.getReadableDatabase();

    Cursor mContactsCursor = db.query(Constants.TABLE_NAME_GROUP_CONTACTS, null, 
            "group_id="+group_id+"&contact_uri_id="+uri_id, null, null, null, null);


    if(mContactsCursor.moveToFirst())
    {
        mContactsCursor.close();
        db.close();
        return true;
    } else {
        mContactsCursor.close();
        db.close();
        return false;
    }

}

现在在我的 Activity 中我只想记录输出:

private void add_new_contact(String uri_id, String name, String number)
{
    int group_id = curr_group_id;
    String contact_uri_id = uri_id;
    String contact_name = name;
    String contact_phone = number;
    Log.i(DEBUG_TAG, "Is contact exist: "+manager.is_contact_in_group(contact_uri_id, group_id));

}

但是每次我都得到false,即使有一条记录具有特定的 group_id 和 uri_id。

为什么会发生这种情况以及如何解决?

最佳答案

我想这是因为你的 WHERE 子句是错误的。

改变

"group_id="+group_id+"&contact_uri_id="+uri_id

"group_id="+group_id+" AND contact_uri_id="+uri_id

关于android - 检查ID是否存在于数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19037383/

相关文章:

Android SQLite 插入错误

vb.net - 尝试使用 Entity Framework (vb.net)从数据库中选择一个随机行

java - java中如何去除Arraylist中的重复元素

android - 具有固定第一行作为标题的 RecyclerView

sqlite - 当交错相互影响的语句时,SQLite 定义的行为是什么?

java - 根据列条目类型对值进行排名

php - php 和 select mysql 之间的比较问题

linux - ptrace 防止信号在跟踪进程中中断 pselect()

android - 带有图像的弹出窗口

android - 如何像 Cyanogenmod widgetrenderFx night mod 一样改变屏幕