我正在使用 C# 显示我从 SQLite 数据库调用的电影片名列表。目前,我正在使用自定义 ListBox 类,该类具有对文本进行排序的功能,从每个项目的开头去掉“The”一词。但是,它似乎并不是最简单的方法,因为它从 SQLite 数据库调用然后进行排序。我更愿意将其缩减为一个步骤,希望在我的“SELECT”查询中直接从数据库中进行排序。

我已经对此进行了一些搜索,并找到了一些建议,包括在数据库中创建一个额外的排序依据列。虽然这当然是一种可能性,但我想知道是否有任何更简单的选项不需要插入几乎相同的重复信息(尤其是在数据库变大的情况下)。我对 SQLite 很陌生,但我已经阅读了一些关于创建可用于创建自定义排序的整理函数的内容。但是,我不确定这是否适合它,并且似乎找不到在 C# 中实现它的任何帮助。

希望有人可以分享一些指导。如果一个额外的排序列是最好的方法,那么这就是我要做的。

最佳答案

为了避免插入重复数据,有两列怎么样:TITLE_PREFIX(通常为空,但有时包含“The”或“A”;该列没有索引)和TITLE(包含没有“The”或“A”的标题;这是您在其上创建索引的列)。要显示数据,您必须组合 TITLE_PREFIX 和 TITLE。但您只需搜索 TITLE。

关于c# - 如何对 SQLite 查询进行排序而忽略文章 ("the"、 "a"等)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3696030/

10-17 01:53