Android SQLite 通配符

标签 android sqlite android-sqlite

我正在尝试使用通配符元素进行查询,以在我的 SQLite 表中搜索在特定变量中的任何位置包含元素的条目。

public String[] getCheckoutEntry(String title, String ISBN)
{
//Wild card Syntax
String titleWildCard = "%" + title + "%";
String ISBNWildCard = "%" + ISBN + "%";
//Query
String query = "select USER,AUTHOR,DATE,CALL_NUMBER,COUNT from CHECKOUT where TITLE = ? or ISBN = ? ";
String[] selectionArgs = new String[] {titleWildCard, ISBNWildCard};
Cursor cursor = db.rawQuery(query, selectionArgs);

我已经在 Stack Overflow 上检查了六个答案,每个人都建议简单地向我的变量附加一个“%”,如上所示。当我尝试上面的代码时,我的程序只是将包含 % 的 titleWildCard 解释为搜索查询,并尝试在表中查找 %。

如果我去掉“%”,那么程序运行没有问题,只是它只搜索确切的词。

最佳答案

= 运算符替换为 LIKE 以使 % 表现得像通配符:

... where TITLE LIKE ? or ISBN LIKE ?

Reference

关于Android SQLite 通配符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20878482/

相关文章:

android - cocos2d-x & android 从assets文件夹加载文件

javascript - Android 上的 sessionStorage 意外清理

sqlite - Sqlite 中的实数值(浮点)比较问题

python - !EXE Tkinter 问题 : datas are LOST when I quit the program

android sqlite 查询返回带有 0 个结果的游标

android - 为 ios 和 android 删除 phonegap 中的启动画面

android - Cordova 在 SDK 工具版本 25.3.1 上运行 Android 问题

android - 数据库不是在android中创建的

java - Android - WITHOUT ROWID 表的插入便捷方法返回什么值?

java - Sqlite 或共享首选项适合我的应用程序