Functions.Descend 方法 | |
创建降序键值。
命名空间:
XSharp.RT
程序集:
XSharp.RT (在 XSharp.RT.dll 中) 版本:2.22 GA
语法 FUNCTION Descend(
uValue AS USUAL
) AS USUAL
public static __Usual Descend(
__Usual uValue
)
查看代码参数
- uValue
- 类型:__Usual
任何有效的字符串、日期、逻辑或数值类型表达式。备注类型的处理方式与字符串类型相同。
返回值
类型:
__Usual
与
uValue 相同数据类型的反转表达式,但日期类型除外,它返回数值。
如果
uValue 是 Chr(0),Descend() 返回 Chr(0)。
备注
Descend() 是一个转换函数,返回指定表达式的反转形式。您可以在使用 INDEX 命令或 DBCreateIndex() 或 DBCreateOrder() 函数创建顺序时,将其作为键表达式的一部分。
要随后使用 SEEK 命令或 DBSeek() 函数执行查找,请在搜索表达式中指定 Descend()。
创建降序的首选方法是使用 INDEX 命令的 DESCEND 子句,或在创建顺序之前使用 DBSetOrderCondition() 将 lDescend 标志设置为 TRUE。
这与在顺序键表达式中使用 Descend() 函数具有相同的效果,但在更新期间没有性能损失。
如果您以这种方式创建降序,则在搜索操作期间不需要使用 Descend() 函数。
示例
此示例在顺序键表达式中使用 Descend() 对数据库文件强制执行降序日期排序:
1USE sales NEW
2INDEX ON Descend(SaleDate) TO salesdate
之后,使用 Descend() 来 SEEK 键值:
您可以使用 DESCEND 关键字代替 Descend(),这是推荐的做法:
1USE sales NEW
2INDEX ON SaleDate TO salesdate DESCEND
然后,您可以以正常方式搜索键值:
1Sales->DBSeek(dFindDate)
此示例演示如何使用多个数据类型创建降序。这里,键是在适当的类型转换发生后使用日期和字符字段的连接创建的。
此示例使用 Str() 而不是 DToS(),因为日期的 Descend() 返回数值:
1USE sales NEW
2INDEX ON Str(Descend(SaleDate)) + salesman TO;
3 lastsale
参见 引用
DbSetOrderCondition(__Usual, __Usual, __Usual, __Usual, __Usual, __Usual, __Usual, __Usual, __Usual, __Usual, __Usual, __Usual, __Usual, __Usual, __Usual, __Usual, __Usual, __Usual, __Usual)