android.database.sqlite.SQLiteException:接近" ":语法错误(代码 1):通过匹配两个不同的关键字从数据库读取时出错



我试图通过匹配整数ID和特定字符串来获取/读取数据,但是在编译代码时,我遇到了此错误:

> android.database.sqlite.SQLiteException: near "Computing": syntax
> error (code 1): , while compiling: SELECT * FROM midSemAnsBank WHERE
> id = 4 AND subject = Cloud Computing

这是我在尝试的内容:

    openReadable();
    String select_query= "SELECT * FROM " +MID_SEM_ANSWERS_TABLE + " WHERE " + KEY_ID + " = " + answerID +" AND " + KEY_SUBJECT + " = " + subject +" " ;
    Log.d(LOG, select_query);
    Cursor c= m_sqLiteDatabase.rawQuery(select_query,null);
    if(c!=null)
        c.moveToFirst();

通过匹配两个关键字来读取数据的正确查询是什么?

字符串应在两个''之间,因此:

String select_query= "SELECT * FROM " +MID_SEM_ANSWERS_TABLE + " WHERE " + 
     KEY_ID + " = " + answerID +" AND " + KEY_SUBJECT + " = '" + subject + "'";
//----------------------------------------------------------^---------------^

注意

重要的是,您的代码仍然不安全,并且可能导致语法错误或 SQL注入,我建议改为使用准备量,还请阅读更多有关我如何在Android中使用SQLITE中准备的语句的信息?。

相关内容

最新更新