【发布时间】:2019-09-18 05:27:37
【问题描述】:
我正在尝试使用 companyName 查询 Companies 表,我想获取其 companyName(s) 包含查询字符串的公司,而不仅仅是其 companyName 与我的查询字符串完全匹配的公司。如果我使用的是 sql,我会使用 ---WHERE companyName LIKE %queryString% 语句。 所以我的问题是如何在 sqflite 中进行这样的查询? 现在,由于 %
,我遇到了语法错误表结构
CREATE TABLE Companies(
id INTEGER PRIMARY KEY,
name TEXT,
email TEXT,
website TEXT,
about TEXT,
phone TEXT,
logo TEXT,
created_at TEXT
);
);
搜索代码
Future<List<CompanyModel>> filterCompanies(String filterCriteria) async {
final db =await database;
List<CompanyModel> filteredCompanies = [];
var res = await db.rawQuery("SELECT * FROM Companies WHERE name LIKE %?%;", [filterCriteria]);
if(res.length !=null){
for (var item in res){
filteredCompanies.add(JobModel.fromDb(item));
}
}
return filteredCompanies;
}
当我添加 % 时,出现语法错误。
【问题讨论】:
-
你的代码在哪里?你的数据库结构是什么?您在现有文档中发现了哪些与您的问题相关的内容?
-
现有的文档没有说明这个问题。当我寻找解决方法时,我没有发现任何关于这个问题的信息。我用我的代码编辑了帖子