如何对包含空格的字段名上的 ADO 表进行排序?
Posted
技术标签:
【中文标题】如何对包含空格的字段名上的 ADO 表进行排序?【英文标题】:How Can I Sort an ADO Table on a Fieldname Containing a Space? 【发布时间】:2009-11-16 16:35:29 【问题描述】:我正在使用 Delphi,但这是一个简单而普遍的问题:
我正在做以下事情:
var
ArticlesTable: TADOTable;
begin
ArticlesTable.DisableControls;
ArticlesTable.Sort := 'CITY';
ArticlesTable.First;
while not ArticlesTable.Eof do begin
...
ArticlesTable.Next;
end;
这非常有效,让我可以高效地处理记录,并在记录进入时按 CITY 字段升序排列。
但是,现在我想按字段“LAST NAME”进行排序,其中包含一个嵌入的空格。但是当我使用语句时:
ArticlesTable.Sort := 'CITY';
我收到错误消息:
EOleException: Arguments are of the wrong type, are out of acceptable range,
or are in conflict with one another.
我见过the help on the SORT string syntax。它表示以逗号分隔多个字段,并在字段后添加ASC或DESC以进行升序或降序排序。但它并没有说明如果字段名中有空格该怎么办。
我尝试将字段名称放在单引号和双引号中,甚至使用 #20 作为空格字符,但这些都不起作用。
我无法更改 Microsoft Access 数据库中的字段名称,因为我不使用的其他程序依赖于它。
我确信一定有一种我不知道的简单方法来做到这一点。
【问题讨论】:
【参考方案1】:您是否尝试过用方括号将字段名括起来?例如:
ArticlesTable.Sort := '[LAST NAME]';
【讨论】:
谢谢!!那是我不知道我需要的语法。 *** 再次万岁。我花了将近一个小时在网上搜索,不知道该去哪里找,但 skamradt 在大约 3 分钟内回复了我。 如果Access在你试图创建一个包含空格的字段名时骂你肯定会很好!以上是关于如何对包含空格的字段名上的 ADO 表进行排序?的主要内容,如果未能解决你的问题,请参考以下文章
Solr - 按多值字段上的OR搜索的最大匹配对结果进行排序
如何对窗口中的某个字段进行排序以获得前 N 个值,并对 DolphinDB 中的相应字段进行聚合计算?
Flutter如何对集合中的文档进行排序,其中包含每个文档的编号字段