foxpro取得离线视图

文章作者 100test 发表时间 2007:03:10 18:21:51
来源 100Test.Com百考试题网


获取离线视图是简单的:确信包含了视图定义的数据库是当前数据库并使用新的 createoffline() 函数。语法如下:

createoffline( [, ])

是离线视图的名字。任何视图都可以离线;你不用特别定义一个视图作为“离线表”。

选项 是要建立的DBF的目录和文件名。如果你未指定, VFP 将在当前目录中建立一个与视图同名的表(例如, 如果视图名字是LV_CUSTOMER, 表名将是LV_CUSTOMER.DBF)。

注意VFP 文档中关于该参数的描述是错误的. 它规定你只能为该表指定一个目录, 但实际上你也可以指定名字 (尽管扩展名不是必须的)。

如果视图成功的离线,createoffline() 返回.T.。

如果视图已经离线,如果你使用了第二个参数而又未指定文件名, 如果视图表或支持性表缓存文件已经存在 (该行为有望在将来的版本中得到改变;依我看来, 它不会妨害set safety), 或源表不能打开,则返回 .F.。

以下是该函数的一个例子:

llSuccess = createoffline(LV_CUSTOMER, OFFLINE\LV_CUSTOMER)

该例试图让LV_CUSTOMER 视图离线并在当前目录下的OFFLINE子目录中建立一个叫LV_CUSTOMER.DBF 的表。

这里是关于生成离线视图的其它要注意的事:

  • createoffline() 打开视图所基于的表而不是视图本身。
  • 如果视图离线,dbgetprop(, View, Offline) 返回.T.。
  • VFP 5.0 (包括5.0a) 有一个bug:如果 createoffline() 返回.F., 指明视图因某种原因而未能离线, dbgetprop(, View, Offline) 出乎意料的返回.T.。0dropoffline()也不会正常工作; 它返回.F。指明视图不能离线, 而且即使它确实已经不是离线视图, dbgetprop(, View, Offline) 继续返回.T., 然而. 在视图联线模式或管理模式下打开视图将会得到一条 "对象不是一个离线视图" 错误。幸运的是, 如果你解决该问题而致使createoffline() 失败, 你可以再次使用它来让视图离线.


相关文章


计算机等级考试二级VB考点分析之常用标准控件(2)
选项对话框的说明(3)
计算机等级考试二级VB考点分析之常用标准控件(3)
foxpro取得离线视图
选项对话框的说明(1)
计算机等级考试二级VB考点分析之常用标准控件(1)
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛