C#中使用正则表达式的Sqlite

7

我正在尝试构建一个在Windows的SQLite和C#中匹配整个单词的搜索查询。当我运行以下查询时:

SELECT a, b FROM Events WHERE c REGEXP @SearchString;

然后:

cmd.Parameters.Add(new SQLiteParameter("@SearchString", 
"%[^a-zA-Z0-9]" + searchdata.SearchText + "[^a-zA-Z0-9]%"));

当我调用时:

var r = cmd.ExecuteReader();

我遇到了“no such function”的REGEXP问题。请问如何启用REGEXP支持和大小写敏感的搜索?


你有没有阅读过这个问题和mivk的回答?(https://dev59.com/FW445IYBdhLWcg3wBl6J) - Konrad Kokosa
是的,但我正在使用Windows,而且找不到修复它的链接。 - Paul Exchange
2个回答

5

我明白了!问题在于我没有定义REGEXP函数。我从这里得到了一个C#的定义: 这里


0
你不需要使用 %,那只是用于 LIKE

相同的错误。问题在于正则表达式而不是参数格式。我认为Konrad指出了某些东西丢失的正确性,但是什么呢? - Paul Exchange
@PabloYabo 你使用的是哪个版本的sqlite? - Daniel A. White
我正在使用SQLite.NET 1.0.88.0 - 2013年8月7日发布。SQLite版本为3.7.17。 - Paul Exchange
@PabloYabo 确保 sqlite 已经包含在你的构建中。 - Daniel A. White
我应该怎么做? - Paul Exchange

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接