检查一个值是否已经存在于 SQLite 数据库中

Check if an value already exists in SQLite Database

我正在尝试编写一个帐户系统,帐户存储在 SQLite 数据库中。每当有人想创建一个帐户时,我首先要检查是否已经有一个帐户使用相同的电子邮件(电子邮件不是主键,而是简单的文本)。

public boolean checkemail(String email)
{
    SQLiteDatabase db = this.getReadableDatabase();
    String Query = "Select * from " + TABLE_KANIDAT + " where " + KEY_KEMAIL + " = " + "'"+email+"'";
    Cursor cursor = db.rawQuery(Query, null);
    if(cursor.getCount() <= 0)
    {
        cursor.close();
        return false;
    }
    else
    {
        cursor.close();
        return true;
    }
}
Try this

         public boolean rowIdExists(String StrId) {
    SQLiteDatabase db = this.getWritableDatabase();
    Cursor cursor = db.rawQuery("select id from " + TABLE_USERRATE
            + " where id=?", new String[]{StrId});
    boolean exists = (cursor.getCount() > 0);
    /*cursor.close();
    db.close();*/
    return exists;
}


    if (rowIdExists("ValuesId")) {
            //do something
            } else {
              //do something  
            }

创建方法

public boolean checkAlreadyExist(String email)
    {
        String query = SELECT + YOUR_EMAIL_COLUMN + FROM + TABLE_NAME + WHERE + YOUR_EMAIL_COLUMN + " =?";
        Cursor cursor = db.rawQuery(query, new String[]{email});
        if (cursor.getCount() > 0)
        {
            return false;
        }
        else
            return true;
    }