繁体   English   中英

使用 Java 中的 Boolean 检查 DB 中是否存在值

[英]Check if value exist in DB with Boolean in Java

我想要做的是检查'profiles'表的profilePicture列内是否有任何数据,如果没有数据,getCount将返回0并返回false。 如何进行查询以仅获取 profilePicture 列中的数据,以查看用户 ID 是否为 null。

public Boolean checkProfilePicture(String user_id){
        SQLiteDatabase MyDB = this.getReadableDatabase();

        Cursor cursor = MyDB.rawQuery("Select * from profiles where ID = ? and profilePicture = NULL", new String[] {user_id});
        System.out.println(cursor.getCount());

        if (cursor.getCount() > 0)
            return true;
        else
            return false;
    }

您的查询应仅返回 1 列,即 boolean 值,格式为1 (真)或0 (假),为此您必须使用如下表达式:

profilePicture IS NOT NULL

您必须使用运算符ISIS NOT而不是使用=<>!=NULL进行比较:

public boolean checkProfilePicture(String user_id){
    SQLiteDatabase MyDB = this.getReadableDatabase();
    Cursor cursor = MyDB.rawQuery("SELECT profilePicture IS NOT NULL FROM profiles WHERE ID = ?", new String[] {user_id});
    boolean result = cursor.moveToFirst();
    if (result) result = (cursor.getInt(0) == 1) ;
    cursor.close();
    MyDB.close();
    return result;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM