检查用户是否已经在SQLite数据库中的简单方法不起作用

时间:2019-04-21 06:05:57

标签: android sqlite

我一直在努力做到这一点,以便已经通过一封电子邮件注册的用户无法在android studio中再次使用同一电子邮件注册。但是,我尝试了许多不同的代码,但它们似乎都因不同的原因而无法工作,我四处张望并发现

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

我不明白为什么我尝试时不起作用。 “ SELECT”显示错误消息:

  

字段需要API级别24(当前最小值为15):   android.icu.text.MessagePattern.ArgType#SELECT

FROMWHERE的错误代码为:

  

无法解析符号

"=?"的错误代码:

  

<statement>

我试图使缓存无效并从SDK管理器中下载了许多工具,但是没有任何作用。

1 个答案:

答案 0 :(得分:1)

您应该更改此行:

query = (SELECT + COL_5 + FROM + TABLE_NAME + WHERE + COL_5 + " =?");

对此:

query = "SELECT "+ COL_5 +" FROM "+ TABLE_NAME +" WHERE "+ COL_5 + " =?";

您应该在query变量中提供一个字符串