Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# MS访问排序(比较字符串数据)_C#_.net_Sorting_Ms Access_Oledb - Fatal编程技术网

C# MS访问排序(比较字符串数据)

C# MS访问排序(比较字符串数据),c#,.net,sorting,ms-access,oledb,C#,.net,Sorting,Ms Access,Oledb,我有一个.NET应用程序,它使用MS Access作为数据库。 该应用程序工作正常,在我的电脑上仍然可以工作。但在客户端电脑上重新安装Windows后,该应用程序开始以一种非常奇怪的方式工作 数据库中的数据是西里尔语(马其顿语)。 问题是数据库没有对字符串进行正确排序 例如,如果我运行以下查询: SELECT * FROM exampletbl ORDER BY title 预期结果应为: id title 1 Александар 2 Бранко 3 Влатко 4 Г

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

数据库中的数据是西里尔语(马其顿语)。 问题是数据库没有对字符串进行正确排序

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

SELECT * FROM exampletbl ORDER BY title
预期结果应为:

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

目前,它以这种方式对访问进行排序:

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

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

p、 客户端windows版本为windows 7 x86

要更改排序顺序(在新数据库上),请转到文件>选项>常规>创建数据库>新数据库排序顺序

这会给你


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

您能设置access表的排序规则吗?我知道如何设置MySQL的排序规则,但我在MS access方面没有丰富的经验,也不知道如何设置排序规则。“我还不确定如何为现有数据库更改它。”-执行压缩和修复数据库将实现更改,因为它会在此过程中创建一个“新数据库”。@GordThompson噢,太好了!这很有道理,谢谢你,你救了我一天,问题解决了:)