0

使用关键字搜索数据库:

有没有办法查询整个 SQLite 数据库表以查找匹配的单词。我试图在关键字中放置一个单词,JTextField以便它搜索整个Job表并返回包含匹配单词的行。每一行代表一个独特的工作。

我认为下面的剪断结构不会达到结果

SELECT * FROM Job WHERE Job MATCH 'Microsoft';

有什么快速简单的推荐吗?

4

2 回答 2

0

我不知道 sqlite 但在 mysql 我们有全文搜索用作

select * from table where match(name) against('value')

只看sqlite中是否有天气全文搜索,我发现这个链接验证它

http://www.sqlite.org/fts3.html#section_3

于 2013-01-12T11:00:29.833 回答
0

看来您可以使用您建议的语法,只要它是一个全文搜索表:

http://www.phparch.com/2011/11/full-text-search-with-sqlite/

您可能应该阅读有关 FTS 表的官方 SQLite 文档。请注意,这些是“虚拟”表,因此不会以相同的方式使用数据库文件 - 这可能不是您想要的,但它与您正在寻找的语法相匹配。链接的 SQLite 页面有很好的描述。请注意,FTS 模块是可选的附加模块,可能未安装。

只要您使用占位符,您就不必担心 SQL 注入攻击。看看这个 SO question,特别是代码片段的第二个答案。本质上,您将 a?放入语句中,然后将要替换的字符串作为参数提供给查询函数。那应该为您进行 SQL 转义。

于 2013-01-12T09:21:49.933 回答