关键词不能为空

当前您在: 主页 > 英语 >

关于记录和表缓冲问题

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-24 15:46
tags:

-

2021年2月24日发(作者:cherish什么意思)


关于记录和表缓冲问题



一.设置文件锁定和缓冲



您可以为多用户应用程序指定下列文件锁定和缓冲选项。



?


若要允许或禁止自动文件锁定,在“锁定和缓冲”区中, 选定或清除“文件自动锁定”复选框。或者,


使用



SET LOCK



命令。



?


若要允许或禁止多个记录锁定并确定缓冲方式:


1.


在“锁定和缓冲”区中,选定或清除“多个记录锁定”复选框。


2. < /p>


如果选定了“多个记录锁定”


,从“缓冲”框中选择缓冲方法。或 者,使用



SET


MULTILOCKS



命令并用



CURSORSETPROP(


)



函数设置



Buffering



属性。



?


若要为失败的文件或记录锁定操作设置重新处理的方法,在“重新处理”框中,选择重新处理的方法。


或者,使用



SET REPROCESS



命令。




.


设置远程视图默认值



对于远程数据访 问,您可以使用“选项”对话框中的“远程数据”选项卡或


CURSORSETPROP( )


函数,为视


图设计器和连 接设计器指定下列设置。



?


若要 允许或禁止共享连接,在“远程视图默认值”区中,选定或清除“共享连接”复选框。或者,用

< br>


CURSORSETPROP( )



函数设置



ShareConnection



属性。



?


若要允许或禁止应请求取备注字段,在“远程视图默认值”区中,选定或清除“取备注字段”复选框。或


者,用



CURSORSETPROP( )



函数设置



FetchMemo



属性。



?


若要定义


SQL


更新方法:


1.


在“条件”框中,选择更新条件。


2.


在“方法”框中,选择更新方法。或者,用



CURSORSETPROP( )



函数设置



WhereType





UpdateType



属性。



?


若要指定每次取的远程记录的数目,在


“每次取的记录数”


框 中,


键入或选择记录的数目,


或者选定


“全部”



选框。或者,用



CURSORSETPROP( )



函数设置



FetchSize



属性。



?


若要指定每次要取记录的最大数目,在


“要取的最大记录数”


框中,


键入或选定记录的数目,


或选定


“全部”



选框。或用



CURSORSETPROP( )


函数设置

< br>MaxRecords


属性。



?


若要指定需使用备注字段时的字段大小,在“长度


>=


右值时使用备注字段”框中,键入或选择字符的数


目。或者,用


CURSORSETPROP( )


函数设置



UseMemoSize


属性。



?


若要指定批处理更新的远程记录数目,在“成批更新的记 录数”框中,键入或选择记录的数目。或者,



CURSORS ETPROP( )



函数设置



BatchUpdateCount



属性。




.


修改远程数据访问选项



您可以使用“ 选项”对话框中的“远程数据”选项卡,或使用下表所列的等价命令,为视图设计器和连接设计器


设置远程数据访问选项。远程数据选项卡中的选项



等价命令:



共享连接


CURSORSETPROP(


取备注字段



CURSORSETPROP(


SQL Update


:条件


CURSORSETPROP(


SQL Update


:方法


CURSORSETPROP(


每次取的记录数



CURSORSETPROP(


要取的最大记录数


CURSORSETPROP(


使用备注字段


CURSORSETPROP(


成批更新的记录数


CURSORSETPROP(


异步执行



SQLSETPROP(


显示警告信息


SQLSETPROP(


批处理



SQLSETPROP(


自动事务处理


SQLSETPROP(


显示注册信息


SQLSETPROP(


连接超时设定


SQLSETPROP(


空闲超时设定


SQLSETPROP(


查询超时设定


SQLSETPROP(


等待时间


SQLSETPROP(



.CURSORSETPROP( )


函数



指定


Visual FoxPro


表或临时表的属性设置。







1






8




语法:


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

< p>
参数:


cProperty


:指定要设置的表或临 时表属性。请注意,对


Visual FoxPro


表只能指定


Buffering



性。



eExpression


:为


cProperty


属性指定值。如省略


eExpression


,属性设为默认值。



下表列出可为


cProperty


指定的属性以及能指定的


eExpression


值。



属性



eExpression


值:


BatchUpdateCount


发送到缓冲表后台的更新语句数目。


1


是默认值,调整该值可以


大大提高更新性能。



Buffering


1


设置行缓冲和表缓冲关闭,



FoxPro


早期版本中,


锁定记录和写数据的操作是等价的


(默


认值)



2


打开保守式行缓冲;


3


打开 开放式行缓冲;


4


打开保守式表缓冲;


5


打开开放式表缓冲。除了方式


1


之外,


SET MULTILOCKS


都必须是


ON




FetchMemo


FetchSize


.T.


视图结果中包含备注字段。


.F.


视图结果中不包含备注字段。



从远程结果集合中逐步提取的行数,默认值是


100


行。


FetchSize


设为


-1


将检索全部结果


集(但受


MaxRecords


设置限制)




KeyFieldList


逗号分隔的临时表主字段的列表。 无默认值。必须包含字段名的列表。



MaxRecords


当结果集返回时所提取的最大行数。默认值是


1


(返回所有行)



0


值指定执行视图,但不提


取结果。



SendUpdates


.T.


执行


SQL


更新查询以更新远程表。


.F.


不执行


SQL


更新查询。



Tables


逗号分隔的远程表名称的列表。无默认值。必须包含表名称的列表。



UpdatableFieldList


逗号分隔的指定给临 时表的远程字段名和本地字段名的列表。可用该选项来为包含无



Visual FoxPro


字段名的临时表指定有效的


Visual FoxPro


字段名。



UpdateType


1


用新数据更新旧数据(默认值)



2


通过删除旧数据,插入新数据来进行更新。



UseMemoSize


使得结果返回到备注字段的列的最小 宽度


(按字节)



例如,


如果列结果的宽度比


UseMemoSize


值大,列结果存储在备注字段中。


UseMemoSize


可从


1



255


,默认值是


255




WhereType


更新远程表的


WHERE


子句。


WhereType


可以设为下列值:


1



DB_KDY


(源于


FOXPRO.H



。对


远程表进行更新的


WHERE


子句仅包含由


KeyFieldList


属性指定的主关键字段。


2



DB_KEYANDUPDATABLE

< br>(源



FOXPRO.H


)< /p>


。对远程表进行更新的


WHERE


子句仅包含由


KeyFieldList

< br>属性指定的主关键字段及任何可更新字




3




DB_KEYAN DMODIFIED




< p>


FOXPRO.H



( 默认值)


。对远程


表进行


更新的



WHERE









KeyFieldList


属性指定的主关键字段及任何已修改字段。


4



DB_KEYANDTIMESTAMP


(源于


FOXPRO .H



。对远程


表进行更新的


WHERE


子句仅包含由


KeyFieldList


属性指定的主关键字段及时间戳。有关


WhereType


属性的详


细内容,请参阅《开发指南》的第八章“创建多表视图 ”




CTableAlias


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



N WorkArea


:指定要设置属性的表或临时表的工作区。如指定

nWorkArea



0




CURSORSETPROP( )


为后面所有的表或临时表设定环境设置。



返回值类型:逻辑型



说明:如果


Visual FoxPro


成功地设置指定的属性,则


CURSORSETPROP( )


返回“真”



.T.



;如果不能设


置指定的属性,

Visual FoxPro


将产生错误。


CURSORSETPROP( )


缓冲属性的设置决定


Visual FoxPro


如何执行


记录锁定和更新缓冲。有关记录锁定和更新缓冲的详细内容,请 参阅缓冲访问数据,以及《开发指南》的第十九


章“共享访问程序设计”



CURSORSETPROP(


)



WhereType


属性设置决 定了在远程表上如何执行更新。有关远程


表更新的其他内容,


请 参阅


《开发指南》


的第六章


“使用数据 库”



可用


CURSORSETPROP(


)


改写临时表的


FetchSize


SQLSETPROP( )


属性,默认情况下该属性从临时表的连接句柄继承而来。对于


Visual FoxPro


表和为表创建的临


时表,可用


CURSORGETPROP( )


返回其当前属性设置。如执行不带可选


cTableAlias



nWorkArea


参数的



CURSORSETPROP( )


命令,可以为当前选定工 作区中打开的表或临时表指定属性设置。




.


示例:



下面示例显示了如何用


CURSORSETPROP( )


激活开放式表缓冲,表缓冲要求


MULTILOCKS


设为


ON


。首先打



testdata < /p>


数据库的


customer


表,然后用< /p>


CURSORSETPROP( )


设置缓冲方式为开放式表缓 冲(


5



。如果成功地


激活开放式表缓冲,则显示“真”



.T.

< p>


,否则显示“假”



. F.





CLOSE DATABASES


SET MULTILOCKS ON


SET PATH TO (HOME( ) + 'samplesdata')


&&


设置数据库的路径



OPEN DATABASE testdata &&


打开


testdata


数据库







2






8




USE customer &&


打开


customer




CLEAR


? CURSORSETPROP('Buffering', 5, 'customer') &&


设置缓冲方式




. CURSORGETPROP( )


函数



返回


Visual FoxPro


表或临时表的当前属性设置。



语法:


CURSORGETPROP(cProperty [, nWorkArea | cTableAlias])


参数:


cProperty


:指定要返回的属性设置。



下表列出 了可以返回的属性设置、返回值的数据类型以及返回值说明。



cProperty


可读写。



Buffering


N


1 -


(默认值)行缓冲和表缓冲关闭;


2


打开保守式行缓冲;


3


打开开放式行缓冲;


4


N


连接句柄。只读。



打开保守式表缓冲;


5


打开开放式表缓冲。可读写。



ConnectHandle


ConnectName


C


Database


C


FetchMemo


写。



FetchSize


N


从远程表结果集合中逐步提取的行数。默认是


100


行。设置


FetchSize



-1


将检索

逗号分隔的临时表的主字段列表。可读写。



当返回结果集时所提取的最大行数。默认值是


1


(返回所有行)



0


值指定运行视图,


如果


SQL


更新查询被执行以更新远程表,则为“真”


(.T.)


,否则为“假”


(.F.)


(默认

< br>整个结果集(但受


MaxRecords


设置限制)


。可读写。



KeyFieldList C


MaxRecords


N


SendUpdates


L


值)


。可读写。



SourceName


是表。只读。



SQL


C


创建临时表时执行的


SQL


语句。只读。



逗号分隔的远程表名的列表。可读写。



逗号分隔的指定给临时表的远程字段名和本地字段名的列表。可用该选项将临时表的无效



Tables


C


C

< p>
包含数据库中


SQL


视图或表的长名,或者自由表 的文件路径和表名。只读。



1


指定数据源是本地


SQL


视图;


2


指定数据源是远程


SQL


视图;



3


指定数据源


SourceType


N


L


在创建临时表时使用的命名连接。只读。


如果视图结果中含有备注字段,则为“真”


(.T.)


,否 则为“假”


(.F.)


(默认值)


。可 读


类型



说明



送到缓冲表后端的更新语句的数目。


1


是默认值。调整该值可大大提高更新的性能。


BatchUpdateCount N


包含表或视图的数据库名称。如表是自由表,包含空字符串。只读。


但不提取结果。可读写。



UpdatableFieldList C


Visual FoxPro





指定为有效的


Visual FoxPro











UpdateNameList C










字段


的< /p>


列表



该列


表< /p>


包含




地和< /p>



程表



字段< /p>



可读





UpdateType


N


可读写。



UseMemoSize


N


WhereType


N


使得结果返回到备注字段的列的最小宽度(按字节)


。例如,如果一个 列的结果的宽度比



更新远程表的


WHERE


子句。


WhereType


可以指定为下列值:


1



DB_KEY


(源于


FOXPRO.H




UseMemoSize


的值大,列结果存储在备注字段中。


UseMemoSize


可以从


1



255


,默认值是


255


。可读写。



对远程表进行更新的


WHERE


子句仅包含由


KeyFieldList


属性指定的主关键字段。


2



DB_KEYANDUPDATABLE


(源于



FOXPRO.H



。对远程表进行更新的


WHERE


子句仅包含由


KeyFieldList


属性指定的主关键字段及任何可更新字段。


3




DB_KEYANDMODIFI ED


(源于


FOXPRO.H



(默认值)


。对远程表进行更新的


WHERE


子句仅包含由


KeyFieldList


属性指定


的主关键字段及任何已修改字段。


4



DB_KEYANDTIMESTAMP


(源于


FOXPRO .H



。对远程表进行更新的


WHERE


子句仅


包含由


KeyFieldList


属性指定的主关键字段及时间戳。有关


WhereType


的详细内容,请参阅《开发指南》的第八章


“创建多表视图”< /p>


。可读写。



NWorkArea


:指定从表或临时表的哪一个工作区返回属性设置。如果


nWorkArea



0




CURSORGETPROP( )


返回环境设置。



CTableA lias


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



返回值类型:字符型、数值型或逻辑型



说明:可用


CURSORSETPROP( )


设置


Visual FoxPro


表或临时表的具体属性。有关每个属性及它们的设置,


请参阅


CURSORSETPROP( )


。如果发出不带可选


cTableAlias



nWorkArea


参数的


CURSORGETPROP( )


命令,则






3






8




1


指定用新数据更新旧数据


(默认值)



2


指定通过删除旧数据,


插入新数据来 进行更新。


在当前选定工作区中打开的表或临时表的当前属性设置被返回。




.


示例



下面示例打开了


testdata


数据库中的


customer


表。然后用


CURSORGETPROP( )


来显示表的缓冲方式以及


包含该表的数据库名称。



CLOSE DATABASES


SET PATH TO (HOME( ) + 'samplesdata')


&&


设置到数据库的路径



OPEN DATABASE testdata &&


打开


testdata


数据库



USE customer &&


打开


customer




? CURSORGETPROP('Buffering') &&


显示缓冲方式



? CURSORGETPROP('Database') &&


显示数据库名称




. TABLEREVERT( )


函数



放弃对缓冲行、缓冲表或临时表的修改,并且恢复远程临时表的


OLDVAL( )


数据以及本地表和临时表的当


前磁盘数值 。



语法:


TABLEREVERT([lAllRows] [, cTableAlias | nWorkArea])


参数:


lAllRows


:决定是否放弃表或临时表的所有更改。如果


lAllRows


是“真”


(.T.)

< br>,并且启用表缓冲,


则放弃表或临时表中对


所有记录


所做的修改;如果


lAllRows


是 “假”


(.F.)


,并且启用表缓冲,则只放弃对表或


临时表中


当前记录


所做的修改。如果启用行缓冲 ,则忽略


lAllRows


的值,并且放弃对表或临时表中


当前记录



做的修改。


lAllRows


的默认值是“假”


(.F.)




cTableAlias


:指定要放弃修改的表或临时表的别名。



NWor kArea


:指定要放弃修改的表或临时表所在的工作区。



返回值类型:数值型



说明:


TABLEREVERT( )


函数返回放弃修改的记录数目。附注:在网络上,当前存贮在磁盘上的数据可能和


打开 表或创建临时表时磁盘上的数据不同。


这是因为在打开表或创建临时表之后,

< p>
其他网络用户可能改变了数据。


对于没有启用行缓冲或表缓冲的表或临时表 ,


TABLEREVERT(


)


函 数不能放弃对它们的修改。如果不启用行缓冲或


表缓冲而调用


TABLEREVERT( )


函数,


Visual FoxPro


将产生错误信息。如果不用可选参数


cTableAlias




nWorkArea


调用


TABLEREVERT( )


函数,则只放弃对当前工作区中打开表或临时表所做的修改。




.


示例



下面的示例显示了如何使用


TABLEREVERT( )


函数放弃对缓冲表的修改。首先把


MULTILOCKS


设置成


ON



请求表缓冲;然后打开


testdata


数据库中的


customer


表,用


CURSORETPROP( )


函数把缓冲方式设置为开放式


表缓冲


(5)




首先显示


cust_id


字段值,再用


REPLACE


命令修改


cust_id


字段,显示新的


cust_id


字段值,


最后使用


TABLEREVERT( )


函数把表恢复成原来状态(可以用


TABLEUPDATE( )


函数实施此更改)


,显示恢复的



cust_id


字段值。



CLOSE DATABASES


SET MULTILOCKS ON &&


对于表缓冲必须为


ON


SET PATH TO (HOME( ) + 'samplesdata')


&&


设置数据库路径



OPEN DATABASE testdata &&


打开“


te stdata


”数据库



USE Customer &&


打开“


customer


”表



= CURSORSETPROP('Buffering', 5, 'customer') &&


启用表缓冲



CLEAR


? 'Original cust_id value: '


?? cust_id &&


显示当前“

< br>cust_id


”的值



REPLACE cust_id WITH '***' &&


改变字段的内容



? 'New cust_id value: '


?? cust_id &&


显示新的“


cust_id


”值



= TABLEREVERT(.T.) &&


放弃所有表的更改



? 'Reverted cust_id value: '


?? cust_id &&


显示恢复的“


cust_id


” 的值




.


追加记录到表缓冲区



?


若要追加记录到表缓冲区,在启用表缓冲之后使用


APPEND



APPEND BLANK


命令。追加的记录具有序列递


增的负


RECNO( )


值。







4






8



-


-


-


-


-


-


-


-



本文更新与2021-02-24 15:46,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/670467.html

关于记录和表缓冲问题的相关文章

  • 爱心与尊严的高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊严高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊重的作文题库

    1.作文关爱与尊重议论文 如果说没有爱就没有教育的话,那么离开了尊重同样也谈不上教育。 因为每一位孩子都渴望得到他人的尊重,尤其是教师的尊重。可是在现实生活中,不时会有

    小学作文
  • 爱心责任100字作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任心的作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文