cursorsetprop( ) 函数

示例 请参阅

指定 Visual FoxPro 表或临时表的属性设置。

语法

CURSORSETPROP(cProperty [, eExpression] [, cTableAlias | nWorkArea])

返回值类型

逻辑型

参数

cProperty

指定要设置的表或临时表属性。请注意,对 Visual FoxPro 表只能指定 Buffering 属性。

eExpression

为 cProperty 属性指定值。如省略 eExpression,属性设为默认值。
下表列出可为 cProperty 指定的属性以及能指定的 eExpression 值。

属性 eExpression
BatchUpdateCount* 发送到缓冲表后端的更新语句的数目。1 是默认值,调整该值可以大大提高更新性能。
Buffering 1-设置行缓冲和表缓冲关闭。在 FoxPro 早期版本中,锁定记录和写数据操作是等价的(默认值)。2-打开保守式行缓冲。3-打开开放式行缓冲。4-打开保守式表缓冲。5-打开开放式表缓冲。除了方式 1 之外,SET MULTILOCKS 都必须是 ON。
CompareMemo .T-检测更新冲突的 WHERE 子句中包含备注字段或通用字段.F-检测更新冲突的 WHERE 子句中不包含备注字段或通用字段
FetchAsNeeded .T. 柊凑找笱∪〖锹肌?F.-对于远程视图,选取记录的数目决定于MaxRecord 的属性;对于当地视图,选取所有记录。
FetchMemo* . .T.-视图结果中包含备注字段。.F.-视图结果中不包含备注字段。
FetchSize* 从远程结果集合中逐步提取的行数,默认值是 100 行。FetchSize 设为 -1 将检索全部结果集(但受 MaxRecords 设置限制)。
KeyFieldList 逗号分隔的临时表主字段的列表。无默认值。必须包含字段名的列表。
MaxRecords* 当结果集返回时所提取的最大行数。默认值是-1(返回所有行)。0 值指定执行视图,但不提取结果。
Prepared .T.-准备 SQL 语句,以执行 REQUERY()。REQUERY()用于从一个 SQL 视图中重新检索数据。有关 SQL 语句的准备,请参阅 SQLPREPARE( )SQLPREPARE()。本属性只用于视图。默认为 .F.
SendUpdates T.-执行 SQL 更新查询来更新远程表。.F.-不执行 SQL 更新查询。
Tables 逗号分隔的远程表名称的列表。无默认值。必须包含表名称的列表。
UpdatableFieldList 逗号分隔的指定给临时表的远程字段名和本地字段名的列表。可用该选项来为包含无效 Visual FoxPro 字段名的临时表指定有效的 VisualFoxPro 字段名。
UpdateNameList 逗号分隔视图中字段的列表。此列表可以包含来自本地和远程表的字段。您必须包含将要进行更新的字段的列表。
UpdateType 1- 用新数据更新旧数据(默认值)。2- 通过删除旧数据,插入新数据来进行更新。
UseMemoSize* 使得结果返回到备注字段的列的最小宽度(按字节计)。例如,如果列结果的宽度比 UseMemoSize 值大,列结果存储在备注字段中。UseMemoSize 可从 1 到 255,默认值是 255。
WhereType 更新远程表的 WHERE 子句。WhereType 可以设为下列值:1 或 DB_KDY(源于 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 属性指定的主关键字段和时间戳。

* 这些属性主要用于远程视图,设置它对本地视图没有影响。但是,您可以为将要升迁的本地视图预先设置此属性。

cTableAlias

指定要设置属性的表或临时表的别名。

nWorkArea

指定要设置属性的表或临时表的工作区。如指定 nWorkArea 为 0,CURSORSETPROP()为后面所有的表或临时表设定环境设置。

说明

如果 Visual FoxPro 成功地设置指定的属性,则 CURSORSETPROP()返回“真”(.T.);如果不能设置指定的属性,Visual FoxPro 将产生错误。

CURSORSETPROP()缓冲属性的设置决定 Visual FoxPro 如何执行记录锁定和更新缓冲。有关记录锁定和更新缓冲的详细内容,请参阅“帮助”中的共享数据访问编程主题。CURSORSETPROP()的 WhereType 属性设置决定了在远程表上如何执行更新。

可用 CURSORSETPROP()改写临时表的 FetchSize SQLSETPROP()属性,默认情况下该属性从临时表的连接句柄继承而来。

对于 Visual FoxPro 表和为表创建的临时表,可用 CURSORGETPROP()返回其当前属性设置。

如执行不带可选 cTableAlias 或 nWorkArea 参数的 CURSORSETPROP()命令,可以为当前选定工作区中打开的表或临时表指定属性设置。