点击或拖拽改变大小

Functions.CursorGetProp 方法

X#
-- todo --
检索X#表或游标的当前属性设置。
备注 备注:
要为X#表或游标设置特定属性,请使用CursorGetProp( )。 有关每个属性及其设置的更多信息,请参见CursorGetProp( )函数。

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

参数

cProperty (Optional)
类型:__Usual
指定要检索的属性设置。有关可能的属性,请参见备注部分的表格。
uArea (Optional)
类型:__Usual
指定要返回属性设置的表或游标的工作区号或别名。 如果为uArea指定0,CursorGetProp( )将返回环境设置。

返回值

类型:__Usual
字符、数值或逻辑数据类型
备注
如果在没有可选uArea参数的情况下发出CursorSetProp( ),则返回当前选定工作区中打开的表或游标的当前属性设置。 如果在没有选择表、打开游标或指定别名的情况下使用CursorGetProp( ), 您将得到错误52(当前工作区中没有打开的表。),除非指定了工作区,如以下示例所示: CursorSetProp("Refresh",-2,0)。

下表包括可以返回其设置的属性列表、返回值的数据类型以及返回值的描述。
cProperty类型描述
ADOBookmark变体包含一个值,对应于基于ADO的游标中当前记录的ADO书签。
ADOCodePageN返回由ADOCodePage属性指定的绑定到基于ADO的游标的代码页。只读。
ADORecordsetO 包含与游标关联的ActiveX数据对象(ADO)记录集的对象引用。 对于不基于ADO记录集的游标无效。只读。
AllowSimultaneousFetchL 适用于使用远程视图、共享连接和使用ODBC创建的游标。
当允许共享连接的类似配置的游标同时获取行时,AllowSimultaneousFetch包含True (.T.)。
否则,当不允许同时获取行时,AllowSimultaneousFetch包含False (.F.)。
AutoIncErrorL 当尝试在使用自动递增字段值的字段中插入或更新值时生成错误消息时,包含True (.T.)。
当尝试在使用自动递增字段值的字段中插入或更新值时不生成错误消息, 并且指定要插入或更新的值被忽略时,包含False (.F.)。
适用于游标和会话。
可读/写。
BatchUpdateCountN 包含为缓冲表发送到远程数据源的更新语句数。默认值为1。 调整此值可以大大提高更新性能。
可读/写。
BufferingN 1 – 行和表缓冲关闭。(默认)
2 – 悲观行缓冲开启。
3 – 乐观行缓冲开启。
4 – 悲观表缓冲开启。
5 – 乐观表缓冲开启。
可读/写。
CompareMemoL 如果更新的Where子句包括Memo、General或Picture类型的备注字段,则包含True (.T.)。(默认)
否则,包含False (.F.)。
仅适用于视图。
可读/写。
ConnectHandleN 连接句柄。此属性仅在数据源包含远程表时有效。 为视图获得的连接句柄可能在视图关闭时关闭。
只读。
ConnectNameC 创建游标时使用的连接名称。此属性仅在数据源包含远程表时有效。
只读。
DatabaseC 包含表或视图的数据库的名称。如果表是自由表,Database包含一个空字符串。
只读。
FetchAsNeededL 如果为True (.T.),则仅在需要时获取数据,例如当记录指针移动到尚未获取的行时。
如果为False (.F.),则在空闲时获取额外数据。(默认)
备注 备注:
当禁用渐进获取时(FetchSize为-1),FetchAsNeeded不适用。
可读/写。
FetchIsCompleteL 如果为True (.T.),则ODBC或基于ADO的游标的获取过程已完成。
如果为False (.F.),则获取过程尚未完成。
此选项不支持表和本地视图,也不支持环境级别(工作区0)。
FetchMemo*L 如果备注字段与视图结果一起获取,则包含True (.T.)。否则,包含False (.F.)。(默认)
使用ISMEMOFETCHED( )函数确定是否已获取备注字段。
可读/写。
FetchSize*N 包含一次从远程表获取的行数。 默认值为100行。将FetchSize设置为–1将检索完整的结果集,受MaxRecords设置的限制。
备注 备注:
渐进获取会保持连接,直到检索所有行。 如果ShareConnection为True (.T.),请谨慎使用FetchSize进行编码。
可读/写。
KeyFieldListC 游标的主要字段的逗号分隔列表。
可读/写。
MapBinaryL 如果启用了Varbinary映射,则包含True (.T.)。否则,包含(.F.)。
仅当uArea设置为0时可读/写。对于SQL直通游标只读。对于表游标无效(uArea等于或大于1)。
MapVarcharL 如果启用了Varchar映射,则包含True (.T.)。否则,包含False (.F.)。
仅当uArea设置为0时可读/写。对于SQL直通游标只读。对于表游标无效(uArea等于或大于1)。
MaxRecords*N 返回结果集时获取的最大行数。默认值为– 1(返回所有行)。 值为0指定执行视图但不获取结果。
可读/写。
ParameterListC 视图参数和参数类型的分号分隔列表。仅适用于视图。
可读/写。
PreparedL 如果为后续Requery( )函数调用准备了SQL语句,则包含True (.T.)。否则,包含False (.F.)。(默认)
Requery( )用于再次检索SQL视图的数据。有关准备SQL语句的更多信息,请参见SqlPrepare( )。仅适用于视图。
可读/写。
RecordsFetchedN 包含一个数值,表示从ODBC或基于ADO的游标的数据源获取的记录数。
如果本地删除或追加了记录,此数值可能不反映游标的当前记录计数。
此选项不支持表和本地视图,也不支持环境级别(工作区0)。
备注 备注:
在记录计数中忽略任何过滤条件。
只读。
RefreshN 包含一个数值,表示当前数据会话中单个游标的刷新设置, 或当前数据会话中新打开游标的初始刷新值。
SendUpdatesL 如果在使用视图进行更新时发送SQL更新查询以更新表,则包含True (.T.);否则,包含false (.F.)(默认)。
可读/写。
SourceNameN 1 – 数据源是本地SQL视图。
101 (1 + 100) - 游标由CursorFill方法创建。
201 (1 + 200) - 游标使用CursorAttach方法附加到CursorAdapter对象。
2 – 数据源是远程SQL视图。
102 (2 + 100) - 游标由CursorFill创建。
202 (2 + 200) - 游标使用CursorAttach附加到CursorAdapter对象。
3 – 数据源是表。
103 (3 + 100) - 游标由CursorFill创建。
203 (3 + 200) - 游标使用CursorAttach附加到CursorAdapter对象。
4 - 游标基于ADO记录集并附加到CursorAdapter对象。
104 (4 + 100) - 游标由CursorFill创建。
204 (4 + 200) - 游标使用CursorAttach附加到CursorAdapter对象。
只读。
SQLC 创建游标时执行的SQL语句。
只读。
TablesC 表名的逗号分隔列表。
可读/写。
UpdatableFieldListC 视图中字段的逗号分隔列表。此列表可以包括来自本地和远程表的字段。
可读/写。
UpdateNameListC 远程字段名称和分配给游标的本地字段名称的逗号分隔列表。 使用此选项为游标中具有无效Visual FoxPro字段名称的字段指定有效的Visual FoxPro名称。
可读/写。
UpdateTypeN 1 – 指定用新数据更新旧数据。(默认)
2 – 指定通过删除旧数据并插入新数据来进行更新。
可读/写。
UseMemoSize*N 结果列以备忘录字段形式返回的最小大小(以字节为单位)。 例如,如果列结果的宽度大于UseMemoSize的值,则列结果将存储在备忘录字段中。 UseMemoSize可以从1到255变化;默认值为255。
可读/写。
WhereTypeN 用于更新表的Where子句。WhereType可以指定以下值:
1或DB_KEY(来自Foxpro.H)。用于更新表的Where子句仅包含使用KeyFieldList属性指定的主要字段。
2或DB_KEYANDUPDATable(来自Foxpro.H)。用于更新表的Where子句 包含使用KeyFieldList属性指定的主要字段和任何可更新字段。
3或DB_KEYANDMODIFIED(来自Foxpro.H)(默认)。用于更新表的Where子句 包含使用KeyFieldList属性指定的主要字段和任何其他已修改的字段。
4或DB_KEYANDTIMESTAMP(来自Foxpro.H)。用于更新表的Where子句 包含使用KeyFieldList属性指定的主要字段和时间戳的比较。
可读/写。
* 此属性返回的值仅对远程视图有意义; 如果您获取本地视图的此属性,CursorGetProp( )函数将返回默认值。
示例
当打开游标时,AutoIncError属性的默认值从会话默认值读取, 该值是当前默认数据会话设置。 以下示例展示了如何通过指定0(默认会话)作为最后一个参数来检索每个会话的默认AutoIncError值:
X#
1CursorGetProp("AutoIncError", 0)
打开新的私有数据会话或游标时使用默认会话。 以下示例展示了如何通过使用uArea参数作为最后一个参数来检索每个表的游标或表AutoIncError设置:
X#
1CursorGetProp("AutoIncError", uArea)
以下示例在"Testdata"数据库中打开"Customer"表,并使用CursorGetProp( )显示表的缓冲模式 以及包含该表的数据库的名称:
X#
1Close Databases
2Clear
3Open Database (HOME(2) + 'data\testdata')
4Use customer     // 打开customer表
5? CursorGetProp("Buffering") // 显示缓冲模式
6? CursorGetProp("Database")  // 显示数据库名称
参见