首页 百科知识 视图的操作

视图的操作

时间:2022-10-21 百科知识 版权反馈
【摘要】:但在使用视图时,自动打开的基表并不在关闭视图时自动关闭,必须另外发出命令关闭它们,这与SELECT-SQL命令保持一持。这是因为在临时关系中,子对象必须按其索引排序。在使用多级视图时,顶层视图所基于的视图和各级视图的VFP基表将出现在“数据工作期”窗口中,远程表不会出现在“数据工作期”窗口中。

5.3.5 视图的操作

视图建立之后,用户不但可以用它来显示和更新数据,而且还可以通过调整它的属性来提高性能。处理视图类似于处理表,允许进行下列各种操作:

(1)使用USE命令打开或关闭一个视图。

(2)在“浏览”窗口中,显示或修改视图记录。

(3)数据库打开状态下,在“数据工作期”窗口中打开、浏览、关闭视图。

(4)用视图作为数据源,如在查询、视图、表格控件、表单或报表中应用。

一、视图的打开与浏览

用户既可以通过“项目管理器”,也可以借助VFP语言来使用视图。要使用一个视图,可以采用以下方式之一:

(1)在“项目管理器”中先选择一个数据库,再选择视图名,然后选择“浏览”按钮,在“浏览”窗口中显示视图。

(2)使用USE命令以编程方式访问视图。

例5-23:在浏览窗口中显示xs_cj_view:

OPEN DATABASE SJK

USE xs_cj_view

BROWSE

一个视图在使用时,将作为临时表在自己的工作区中打开。如果此视图基于本地表,则在VFP的其他工作区中同时打开基表。视图的基表是指由SELECT-SQL语句访问的表,此语句在创建视图时包含在CREATE SQL VIEW命令中。在上面的示例中,使用xs_cj_view视图的同时,xs、cj、kc表在其他工作区也自动打开。

如果此视图基于远程表,则基表将不在工作区中打开,而只在数据工作期窗口中显示远程视图的名称。

当基表数据变化时,可以重新打开视图,或使用REQUERY()函数,使基表的数据变化反映到视图中。

同表操作一样可以在不同的工作区中打开视图的多个实例。在默认情况下,每次使用视图时,都要去取一个新的数据集合。若不必重新查询数据源就可以再次打开视图的另一个实例,可以在命令窗口中使用USE视图NOREQUERY命令,或用USE视图AGAIN命令。这对于在多个工作区中打开一个远程视图的情况特别有用,因为不需要等待从远程数据源下载数据。

二、关闭视图与基表

关闭视图可以在“数据工作期”窗口中用“关闭”按钮、或在命令窗口中用USE命令、或用CLOSE TABLE命令、或用CLOSE DATABASE等命令关闭,同对表的操作一样。但在使用视图时,自动打开的基表并不在关闭视图时自动关闭,必须另外发出命令关闭它们,这与SELECT-SQL命令保持一持。同样,关闭基表也不会自动关闭视图,对于可更新的视图,若更新了数据,先前关闭的基表又会自动打开,这说明了视图的更新是采用SQL语句来完成的。

三、显示视图结构

显示表结构使用MODIFY STRUCTURE命令,而视图结构的显示不能使用MODIFY STRUCTURE命令,可以使用USE命令打开,用BROWSE命令浏览视图结构,若带NODATA子句的USE命令,可以仅打开视图而不下载数据。当想要看到远程视图的结构而又不想等待下载数据时,此选项非常有用。

例5-24:在浏览窗口中显示不带数据的xs_cj_view视图:

  OPEN DATABASE SJK

  USE xs_cj_view NODATA

  BROWSE

四、创建视图索引

可以使用INDEX ON命令,为视图创建本地索引,创建过程与表一样。与表的索引不同,在视图上创建的本地索引非永久保存,它们随着视图的关闭而消失。

五、创建视图的临时关系

使用SET RELATION命令,可在视图索引之间或视图索引与表索引之间创建临时关系。

在使用SET RELATION命令对一个视图与一个表进行关联时,若要获得较好的性能,要在关系中设视图为父表,设表为子表。这是因为在临时关系中,子对象必须按其索引排序。表的结构索引是不断被维护的,因此可以快速访问;而对于视图,VFP要在视图每次激活时为其重建索引,因此很浪费时间。此外,如果使用数据环境,视图将不能被当作子对象,因为子对象的索引必须是定义的一部分,而视图并不支持此功能。

六、定制视图

同表一样,可以给视图字段设置标题、注释、默认值和规则。

若要设置视图字段属性,可在视图设计器对话框的字段选项卡中,选定要设置属性的一个字段,并选择“属性”,即可打开“视图字段属性”对话框,可以为该字段设置一些属性。

也可以用DBSETPROP()函数来设置字段属性。例如,用Default Value属性为视图字段指定默认值;用RuleExpression和Rule Text属性为视图字段创建规则。

七、修改视图

修改视图,可以采用以下方式之一进行:

(1)在“项目管理器”中选择视图名,再选择“修改”按钮,打开“视图设计器”。

(2)打开数据库,在命令窗口中,使用带视图名的MODIFY VIEW命令。

(3)打开数据库,在命令窗口中,使用CREATE SQL VIEW视图名AS SELECT<语句>等命令,以编程方式修改视图的SQL命令串,保存视图定义并覆盖原先的旧视图。

八、重新命名视图

可以使用项目管理器或RENAME VIEW命令重新命名视图:

(1)在“项目管理器”中先选择一个数据库,再选择要重命名的视图,然后从“项目”菜单中选择“重命名文件”。

(2)打开数据库,在命令窗口中,使用RENAME VIEW命令。

九、删除视图

可以使用“项目管理器”或DELETE VIEW命令从数据库中删除视图定义:

(1)若要删除视图,可在“项目管理器”中先选择一个数据库,再选定要删除的视图,然后选择“移去”。

(2)打开数据库,在命令窗口中,使用DELETE VIEW或DROP VIEW命令。

十、集成视图

可以在其他视图的基础上再创建视图。这样做的理由是:有时需要从多个其他视图中获取一部分信息,或者需要将本地和远程数据集成到单个视图中。一个基于视图的视图,或基于集成了本地表、本地视图或远程视图的视图,被称为多级视图。集成了其他视图的视图为顶层视图。在顶层视图与本地基表或远程基表之间,可以有多层次的视图。在使用多级视图时,顶层视图所基于的视图和各级视图的VFP基表将出现在“数据工作期”窗口中,远程表不会出现在“数据工作期”窗口中。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈