Functions.AUsed 方法 | |
-- todo --
将数据会话的表别名和工作区放入变量数组中。
命名空间:
XSharp.VFP
程序集:
XSharp.VFP (在 XSharp.VFP.dll 中) 版本:2.22 GA
语法 FUNCTION AUsed(
ArrayName,
nDataSessionNumber,
cTableName
) AS USUAL CLIPPER
[ClipperCallingConventionAttribute(new string[] { ... })]
public static __Usual AUsed(
__Usual ArrayName = default,
__Usual nDataSessionNumber = default,
__Usual cTableName = default
)
查看代码参数
- 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( ) 时很有用。例如:
1For x = 1 TO AUsed(aTableAliases,1)
2IF CursorGetProp( "Buffering", aTableAliases(x) ) > 1
3? TableUpdate( 0, .T., aTableAliases(x) )
4ENDIF
5Next
示例 1Open Database (HOME(2) + 'Data\testdata') EXCLUSIVE
2Use Customer IN 0
3Clear
4? AUsed(gaInuse)
5Display MEMORY LIKE gaInuse
6Close Databases
参见