Muh*_*zan 3 sqlite android android-sqlite
我试图获取包含特定字符串但查询不起作用的数据,以下是获取数据的方法.
public Cursor getSearch(String item) {
SQLiteDatabase db = this.getReadableDatabase();
String mQuery = "SELECT * FROM hadiths WHERE text LIKE %"+item.toString()+"%";
Cursor cursor = db.rawQuery(mQuery, null);
return cursor;
}
Run Code Online (Sandbox Code Playgroud)
Logcat显示以下错误.
引起:android.database.sqlite.SQLiteException:接近"%":语法错误(代码1):,同时编译:SELECT*FROM hadiths WHERE text LIKE%fast%
我知道通配符%%和字符串变量项导致问题,但如何使用字符串变量和通配符?
您需要在查询中添加单引号.
String mQuery = "SELECT * FROM hadiths WHERE text LIKE '%"+item+"%'";
Run Code Online (Sandbox Code Playgroud)
看一下SQLite文档:https: //www.tutorialspoint.com/sqlite/sqlite_like_clause.htm
注意:没有必要使用,toString()因为"item"已经是类型String.
| 归档时间: |
|
| 查看次数: |
410 次 |
| 最近记录: |