C U R S O R G E T P R O P 函 数
返回 Visual FoxPro 表或临时表的当前属性设置
语 法
CURSORGETPROP ( cProperty [, n WorkArea | cTableAlias ])
返 值 类 型
字符型 数值型 或 逻辑 型
参 数 描 述
cProperty
指 定 要 返 回 的 属 性 设 置
下表列出了可以返回的属性设置 返回值的数据类型以及返回值说明
cProperty 类 型 描 述
BatchUpdateCount* N 送到缓冲表后端的更新语句的数目 1 是默认
值 调整该值可大大提高更新的性能可读写
Buffering N 1- 默认值 行缓冲和表缓冲关闭
-
打开保守式行缓冲
-
打开开放式行缓冲
-
打开保守式表缓冲
-
打开开放式表缓冲可读写
CompareMemo L 若用于检测更新冲突的 WHERE 子句中包含备注
字段或通用字段 返回 .T. 默认 否则 返回 .F. 本属性只用于视图
可读写
ConnectHandle N 连接句柄 只有在数据源中包含远程表时此属性
才有效只读
ConnectName C 在创建临时表时使用的命名连接
只读
Database C 包含表或视图的数据库名称 如表是自由表 包
含空字符串只读
FetchAsNeeded L 若只有在需要时才将数据调入 返回 .T. 否则返回 .F. 默认
可读写
FetchMemo* L 如果视图结果中含有备注字段 则为 真
(.T.) 否则为 假 (.F.) 默认值可读写
FetchSize* N 从远程表结果集合中逐步提取的行数 默认是
100 行 设置 FetchSize 为 -1 将检索整个结果集但受 MaxRecords 设置限制 可读写
KeyFieldList C 逗号分隔的临时表的主字段列表
可读写
MaxRecords* N 当返回结果集时所提取的最大行数 默认值是 -1 返回所有行
- 值指定运行视图
但不提取结果可读写
Prepared |
L |
如果 SQL 语句已准备好 可以执行 REQUERY |
---|---|---|
返回 .T. 否则 返回 .F. 默认REQUERY 用于从一个 SQL 视图中重新检索数据 有关 SQL 语句的准备 请 参 阅SQLPREPARE 本属性只用于视图 |
||
SendUpdates |
L |
可读写 如果 SQL 更新查询被执行以更新远程表 则为 |
真 (.T.) 否则为 假 (.F.) 默认值 | ||
SourceName |
C |
可读写 包含数据库中的 SQL 视图或表的长名 或者自由 |
表的文件路径和表名 |
||
可读写 |
||
SourceType |
N |
1- 指定数据源是本地 SQL 视图 |
2- 指定数据源是远程 SQL 视图 |
||
3- 指定数据源是表 |
||
SQL |
C |
只读 Th 创建临时表时执行的 SQL 语句 |
只读 |
||
Tables |
C |
逗号分隔的远程表名的列表 |
可读写 |
UpdatableFieldList C 逗号分隔的指定给临时表的远程字段名和本地字段名的列表
可用该选项将临时表的无效 Visual FoxPro 字段名指定为有效的 Visual FoxPro 字段名
可读写
续表
UpdateNameList |
C |
逗号分隔的视图中字段的列表 该列表包含有来 |
---|---|---|
自本地和远程表的字段 |
||
UpdateType |
N |
可读写 1- 指定用新数据更新旧数据 默认值 |
2- 指定通过删除旧数据 插入新数据来进行更 |
||
新 |
||
可读写 |
||
UseMemoSize* |
N |
使得结果返回到备注字段的列的最小宽度 按字 |
节 例如 如果一个列的结果的宽度比 UseMemoSize 的值大 列结果存储在备注字段 |
中 UseMemoSize 可以从 1 到 255 默认值是
255
可读写
续 表
WhereType N 更新远程表的 WHERE 子句 WhereType 可以指定为下列值
-
或
DB_KEY 源于 FOXPRO.H 对远程表进行更新的 WHERE 子句仅包含由 KeyFieldList 属性指定的主关键字段
-
或
DB_KEYANDUPDATABLE 源于
FOXPRO.H 对远程表进行更新的 WHERE 子句包含由 keyFieldList 属性指定的主关键字段及任何可更新的字段
- 或
DB_KEYANDMODIFIED 源于
FOXPRO.H 默认值 对远程表进行更新的WHERE 子句包含由 keyFieldList 属性指定的主关键字段及任何已修改字段
- 或
DB_KEYANDTIMESTAMP 源于
FOXPRO.H 对远程表进行更新的 WHERE 子句包含由 keyFieldList 属性指定的主关键字段和时间戳
可读写
* 此属性的返回值只对远程视图才是重要的 如果您对本地视图取得此属性
CURSORGETPROP 函数返回默认值
下表中包含可以返回设置的属性 返回值的数据类型及返回值的说明的列表
cProperty Type 说 明
BatchUpdate Count*
N 送到缓冲表后端的更新语句的数目 1 是默认值 调整该值可大大提高更新的性能
可读写
Buffering N 1- 默认值 行缓冲和表缓冲关闭
-
打开保守式行缓冲
-
打开开放式行缓冲
-
打开保守式表缓冲
-
打开开放式表缓冲可读写
CompareMemo L 若 用 于 检 测 更 新 冲 突 的 WHERE 子 句 中 包
含 备 注 字 段 或 通 用 字 段 返 回 .T. 默认 否 则 返 回 .F. 本 属 性 只 用 于 视图
可 读 写
ConnectHandle ConnectName |
N C |
连接句柄 只有在数据源中包含远程表时此属 性才有效只读 在创建临时表时使用的命名连接 只有在数据 |
---|---|---|
源中包含远程表时此属性才有效 只读 |
Database FetchAsNeeded |
C L |
包含表或视图的数据库名称 包含空字符串只读 若只有在需要时才将数据调入 |
如表是自由表 返回 .T. 否 |
---|---|---|---|
则 返回 .F. 默认 |
|||
可读写 |
|||
FetchMemo* |
L |
如果视图结果中含有备注字段 |
则为 真 |
(.T.) 否则为 假 (.F.) 默认值可读写
FetchSize* N 从远程表结果集合中逐步提取的行数 默认是
100 行 设置 FetchSize 为 -1 将检索整个结果集但受 MaxRecords 设置限制
可读写 |
||
---|---|---|
KeyFieldList |
C |
逗号分隔的临时表的主字段列表 |
可读写 |
||
MaxRecords* |
N |
当返回结果集时所提取的最大行数 默认值是 - 1 返回所有行 |
0 值指定运行视图 但不提取结果可读写
Prepared |
L |
如果 SQL 语句已准备好 可以执行 REQUERY 返回 .T. 否则 返回 .F. 默认REQUERY 用于从一个 SQL 视图中重新检索数据 有关 SQL 语句的准备 请 参 阅 |
|
---|---|---|---|
SQLPREPARE 本属性只用于视图 |
|||
可读写 |
|||
SendUpdates |
L |
如果 SQL 更新查询被执行以更新远程表 则为 |
|
真 (.T.) 否则为 假 (.F.) 默认值可读写 |
|||
SourceName |
C |
包含数据库中的 SQL 视图或表的长名 |
或者自 |
由表的文件路径和表名 |
|||
只读 |
|||
SourceType |
N |
1- 指定数据源是本地 SQL 视图 |
|
|
|||
SQL |
C |
只读 创建临时表时执行的 SQL 语句 |
|
只读 |
|||
列表 |
C |
逗号分隔的远程表名的列表 |
|
可读写 |
Updatable FieldList
C 逗号分隔的指定给临时表的远程字段名和本地字段名的列表
可用该选项将临时表的无效 Visual FoxPro 字段名指定为有效的 Visual FoxPro 字段名
可读写
UpdateNameList C 逗号分隔的视图中字段的列表 该列表包含有
来自本地和远程表的字段可读写
UpdateType N 1- 指定用新数据更新旧数据 默认值
2- 指定通过删除旧数据 插入新数据来进行更新
可读写
UseMemoSize* N 使得结果返回到备注字段的列的最小宽度 按
字节 例如 如果一个列的结果的宽度比UseMemoSize 的值大 列结果存储在备注字段中 UseMemoSize 可以从 1 到 255 默认值是255
可读写
WhereType N 更新远程表的 WHERE 子句 WhereType 可以
指定为下列值
-
或
DB_KEY 源于 FOXPRO.H 对远程表进行更新的 WHERE 子句仅包含由KeyFieldList 属性指定的主关键字段
-
或
DB_KEYANDUPDATABLE 源于
FOXPRO.H 对远程表进行更新的 WHERE 子句包含由 keyFieldList 属性指定的主关键字段及任何可更新的字段
- 或
DB_KEYANDMODIFIED 源于
FOXPRO.H 默认值 对远程表进行更新的 WHERE 子句包含由 keyFieldList 属性指定的主关键字段及任何已修改字段
- 或
DB_KEYANDTIMESTAMP 源于
FOXPRO.H 对远程表进行更新的 WHERE 子句包含由 keyFieldList 属性指定的主关键字段和时间戳
可读写
* 此属性的返回值只对远程视图才是重要的 如果您对本地视图取得此属性
CURSORGETPROP 函数返回默认值
n W o rkArea
从 返 回 的 属 性 设 置 可 以 指 定 表 的 工 作 区 域 如 果 指 定 工 作 区 域 为 0 CURSORGETPROP 函 数 返 回 环 境 设 置
cTableAlias
从 返 回 的 属 性 设 置 可 以 指 定 工 作 表 的 别 名
说 明
可用 CURSORSETPROP 设置 Visual FoxPro 表或临时表的具体属性 有关每个属性及它们的设置 请参阅 CURSORSETPROP
如果发出不带可选 cTableAlias 或 nWorkArea 参数的 CURSORGETPROP 命令 则在当前选定工作区中打开的表或临时表的当前属性设置被返回
示 例
下面示例打开了 数据库中的 表 然后用 CURSORGETPROP
来显示表的缓冲方式以及包含该表的数据库名称
CLOSE DATABASES CLEAR
OPEN DATABASE (HOME(2) + 'data\testdata') USE customer && 打开客户表
? "Buffering" && 返回缓冲模式
? "Database" && 返回数据库的名字
请 参 阅
CURSORSETPROP , SQLGETPROP , SQLSETPROP