Java android.database.sqlite.SQLiteException:接近“”:语法错误(代码1):通过匹配两个不同的关键字从数据库读取时出错
我试图通过匹配整数ID和特定字符串来获取/读取数据,但在编译代码时,我遇到以下错误:Java android.database.sqlite.SQLiteException:接近“”:语法错误(代码1):通过匹配两个不同的关键字从数据库读取时出错,java,android,sql,database,sqlite,Java,Android,Sql,Database,Sqlite,我试图通过匹配整数ID和特定字符串来获取/读取数据,但在编译代码时,我遇到以下错误: > android.database.sqlite.SQLiteException: near "Computing": syntax > error (code 1): , while compiling: SELECT * FROM midSemAnsBank WHERE > id = 4 AND subject = Cloud Computing 以下是我正在尝试的: > and
> android.database.sqlite.SQLiteException: near "Computing": syntax
> error (code 1): , while compiling: SELECT * FROM midSemAnsBank WHERE
> id = 4 AND subject = Cloud Computing
以下是我正在尝试的:
> 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();
通过匹配两个关键字读取数据的正确查询是什么?字符串应该介于两个关键字之间,因此:
> android.database.sqlite.SQLiteException: near "Computing": syntax
> error (code 1): , while compiling: SELECT * FROM midSemAnsBank WHERE
> id = 4 AND subject = Cloud Computing
String select_query= "SELECT * FROM " +MID_SEM_ANSWERS_TABLE + " WHERE " +
KEY_ID + " = " + answerID +" AND " + KEY_SUBJECT + " = '" + subject + "'";
//----------------------------------------------------------^---------------^
注
> android.database.sqlite.SQLiteException: near "Computing": syntax
> error (code 1): , while compiling: SELECT * FROM midSemAnsBank WHERE
> id = 4 AND subject = Cloud Computing
重要的是,您的代码仍然不安全,并且可能会导致语法错误或SQL注入,我建议改用PreparedStatement,请阅读更多相关信息
> android.database.sqlite.SQLiteException: near "Computing": syntax
> error (code 1): , while compiling: SELECT * FROM midSemAnsBank WHERE
> id = 4 AND subject = Cloud Computing