点击或拖拽改变大小

Functions.AUsed 方法

X#
-- todo --
将数据会话的表别名和工作区放入变量数组中。

命名空间:  XSharp.VFP
程序集:  XSharp.VFP (在 XSharp.VFP.dll 中) 版本:2.22 GA
语法
 FUNCTION AUsed(
	ArrayName,
	nDataSessionNumber,
	cTableName
) AS USUAL CLIPPER
查看代码

参数

ArrayName (Optional)
类型:__Usual
指定包含数据会话的表别名和工作区的数组的名称。
nDataSessionNumber (Optional)
类型:__Usual
指定 AUsed( ) 返回表别名和工作区的数据会话编号。 如果省略 nDataSessionNumber,AUsed( ) 返回当前数据会话的信息。 使用 Set DATASESSION 指定当前数据会话。
cTableName (Optional)
类型:__Usual
数组将仅包含 cTableName 指定的表的别名。

返回值

类型:__Usual
数值型
备注
如果您指定的数组不存在,X# 会自动创建该数组。 如果数组存在但不够大,无法容纳所有表别名和工作区,X# 会自动增加数组的大小。 如果数组大于必要的大小,X# 会截断数组。如果数组存在, 而 AUsed( ) 返回 0(因为数据会话中没有打开的表),则数组保持不变。如果数组不存在, 而 AUsed( ) 返回 0,则不会创建数组。

如果将 nDataSessionNumber 设置为空值 (.NULL.),则使用当前数据会话。
cTableName 可以采用以下格式,列出的顺序是 X# 搜索表的顺序。

    AUsed( ) 返回数组中的行数,这与数据会话中打开的表数相同。

    AUsed( ) 创建一个二维数组,并将数据会话的打开表的别名放在数组的第一列中。 数组的第二列包含表对应的工作区号。
    表别名按它们打开的相反顺序放入数组中。例如,第一个数组元素包含最后打开的表的别名, 最后一个数组元素包含第一个打开的表的别名。 这种排序在对包含视图的视图使用 TableUpdate( ) 时很有用。例如:
    X#
    1For x = 1 TO AUsed(aTableAliases,1)
    2IF CursorGetProp( "Buffering", aTableAliases(x) ) > 1 // 已缓冲
    3? TableUpdate( 0, .T., aTableAliases(x) )
    4ENDIF
    5Next
示例
X#
1Open Database (HOME(2) + 'Data\testdata') EXCLUSIVE
2Use Customer IN 0
3Clear
4? AUsed(gaInuse)
5Display MEMORY LIKE gaInuse
6Close Databases
参见