c# - MS Access 排序(比较字符串数据)

标签 c# .net sorting ms-access oledb

我有一个使用 MS Access 作为数据库的 .NET 应用程序。 该应用程序运行正常,并且仍然可以在我的电脑上运行。但是在客户端 PC 上重新安装 Windows 后,应用程序开始以一种非常奇怪的方式运行。

在数据库中,数据使用西里尔文(马其顿文)。 问题是数据库没有正确排序字符串。

例如,如果我运行以下查询:

SELECT * FROM exampletbl ORDER BY title

预期的结果应该是:

id  title
1   Александар
2   Бранко
3   Влатко
4   Гоце
5   Гвозден
6   Дарко
7   Ѓоре
8   Ѓурѓа

...

目前它以这种方式排序的 Access :

id  title
1   Александар
2   Бранко
3   Влатко
4   Гоце
5   Ѓоре
6   Гвозден
7   Ѓурѓа
8   Дарко

...

我的猜测是区域设置或 OLE DB 驱动程序未在客户端 PC 上正确配置,并且 Access 将数据排序为拉丁字母。

附注客户端windows版本为Windows 7 x86

最佳答案

要更改排序顺序(在新数据库上),请转到"file">“选项”>“常规”>“创建数据库”>“新数据库排序顺序”。

enter image description here

这会给你

enter image description here

要使该更改在当前数据库中生效,请执行压缩和修复。这将在后台创建一个新数据库(感谢 Gord Thompson 的建议)

关于c# - MS Access 排序(比较字符串数据),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29421620/

相关文章:

c# - ZXing-Core BitMatrix转BitMap

c++ - 我的快速排序代码溢出堆栈

c# - 为什么 int.TryParse 不能初始化多个变量

c# - 派生类中的构造函数错误

c++ - 忽略第一个元素的插入排序算法

cocoa - 对 NSArray 进行排序

C# 等同于 TypeScript 模板文字类型?

c# - 带有 App.config 文件的 SQL Server 外部的 connectionString

c# - 架构问题 : Services

c# - 生成随机 boolean 概率