中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > VFP
VFP视图技术应用介绍
作者:未知 时间:2005-08-07 21:03 出处:编程爱好者网站 责编:chinaitpower
              摘要:VFP视图技术应用介绍
    Microsoft Visual FoxPro 6.0是微软面向对象的程序设计开发工具之一,它在企、事业单位的信息管理系统中发挥了重要作用。本文结合笔者实际工作经验,就数据库视图的广泛应用作较深入地探讨,供读者参阅。

  视图与表、查询的关系及其优越性

   
  视图是从一个表或多个表或其他视图上导出的表。在应用程序设计中,要创建自定义并且可更新的数据集合,我们需要使用视图。视图兼有表和查询的特点:与查询相类似的是,视图可以用来从一个或多个相关联的表或视图中提取有用信息;与表相类似的是,视图可以用来更新其中的信息,并将更新结果永久保存在磁盘上。我们可以用视图使数据暂时从数据库中分离成为游离数据,以便在主系统之外收集和修改数据。在开发中使用视图有以下几方面的优点:

  1.视点集中:视图机制能使用户把注意力集中在所关心的数据上,使用户看到的数据结构简单而直截了当。

  2.简化操作:视图可以把若干张表或视图连接在一起,为用户隐蔽了表与表、表与视图、视图与视图之间的连接操作。

  3.多角度:视图机制可使不同用户从多角度处理同一数据,当许多不同种类用户使用同一个集成数据库时,这种灵活性显然是很重要的。

  4.安全性:可针对不同的用户形成不同的视图窗口,使不同的用户了解不同的数据,对数据的安全保密性起到了很大作用。

  基本视图的建立过程

  1.新建数据库和表

  进入Microsoft Visual FoxPro 6.0系统,选择“视图技巧项目”并生成“基本数据库”,然后生成“元月工资表”和“二月工资表”,如图1所示。月工资表的具体格式如下:

  元月和二月工资表的具体记录如下:

月工资表字段 字段名 类型 宽度 小数位  
编号 c 4    
姓名 c 8    
工资 n 7 2  

  分析两表记录内容可知,编号为1的人员为调走人员,编号为6、7、8、9、10、11的人员为新增人员,其他为工作人员。图1显示了建立的情况。
元月工资表的记录内容 编号 姓名 工资  
1 张毅晨 1.00  
2 马迎莹 2.00  
3 李小庆 3.00  
4 郭哓胜 4.00  
5 孔智文 5.00  

  在项目管理器中用鼠标左键点选本地视图,按右边的“新建”按钮,选择“新建视图”,添加元月工资表,再添加二月工资表。添加第二个表或视图时会出现联接条件屏幕,我们选择两个表的编号为联接条件,联接类型为完全联接,按确定按钮后,关闭添加表或视图屏幕,进入视图设计器。

  3.增加新字段的方法

二月工资表的记录内容 编号 姓名 工资  
2 马迎莹 2.00  
3 李小庆 3.00  
4 郭哓胜 4.00  
5 孔智文 5.00  
6 李娇柔 6.00  
7 王丽丽 7.00  
8 郑美美 8.00  
9 康凡凡 9.00  
10 徐襄襄 10.00  
11 刘月月 12.00  

  所谓新字段是在视图设计器中左边选取框中所没有的字段,增加新字段方法是鼠标左键点击函数和表达式按钮,在表达式生成器屏幕的表达式框中输入正确的表达式,按确定按钮,将该表达式添加到选定字段框中,同时新视图为该字段自动取一个新名字。

  视图技术应用举例

  为了让读者详细了解视图技术,笔者将举例说明。

  1.相同人员两表工资求和

  在求每个职工两个月工资和时,二月工资表中可能有新增职工,但不含调离职工,因此联接条件需要用全联接。在视图设计器中设置如下条件:

  ①新字段1:IIF(ISNULL(元月工资表.编号),二月工资表.编号,元月工资表.编号)

  ②新字段2:IIF(ISNULL(元月工资表.姓名),二月工资表.姓名,元月工资表.姓名)

  ③新字段3:IIF(ISNULL(元月工资表.工资),0,元月工资表.工资)+IIF(ISNULL(二月工资表.工资),0,二月工资表.工资)

  ④新字段4:IIF(ISNULL(元月工资表.编号),"新增人员",IIF(ISNULL(二月工资表.编号),"调走人员","工作人员"))

  ⑤联接条件:FULL JOIN元月工资表.编号=二月工资表.编号

  ⑥添加的表:基本数据库!元月工资表、基本数据库!二月工资表

  注意:字段1和字段2的条件表达式保证字段1和2不为.null.值;联接条件设置为完全联接;字段3为求两个月的工资和,必须设置当该字段是.null.时值为零;字段4为人员的性质,包括调走人员、新增人员和工作人员。

  结果记录内容为

结果记录内容为: 1 张毅晨 1.00 调走人员  
2 马迎莹 4.00 工作人员  
3 李小庆 6.00 工作人员  
4 郭晓胜 8.00 工作人员  
5 孔智文 10.00 工作人员  
6 李娇柔 6.00 新增人员  
7 王丽丽 7.00 新增人员  
8 郑美美 8.00 新增人员  
9 康凡凡 9.00 新增人员  
10 徐襄襄 10.00 新增人员  
11 刘月月 12.00 新增人员  

  2.两表记录之和

  两表记录联接前首先生成没有重复记录字段的联接条件,并生成“元月工资视图”和“二月工资视图”,如图2所示。

  元月工资视图生成步骤:

  ①选取前三个字段到视图中,即编号、姓名和工资

  ②新字段4:recno()+1000000  

  注:设从1000001开始计数,第二个表从1开始计数,若有重复增加此开始数。也可用视图自动设计此号。

  ③选择表:基本数据库!元月工资表

  二月工资视图生成步骤:

  ①选前三个字段到视图中,即编号、姓名和工资

  ②新字段4:增加一个字段表达式为recno()

  ③选择表:基本数据库!二月工资表

  将“元月工资视图”及“二月工资视图”完全联接,形成“两视图记录和”视图,设置条件如下:

  ①新字段1:IIF(ISNULL(元月工资视图.编号),二月工资视图.编号,元月工资视图.编号)

  ②新字段2:IIF(ISNULL(元月工资视图.姓名),二月工资视图.姓名,元月工资视图.姓名)
   ③新字段3:IIF(ISNULL(元月工资视图.工资),二月工资视图.工资,元月工资视图.工资)

  ④联接条件:FULL JOIN元月工资视图.exp_4=二月工资视图.exp_4

  ⑤选择视图:基本数据库!元月工资视图、基本数据库!二月工资视图

  视图的深入讨论

  1.视图是基于表或视图建立的,当基础表记录内容发生变化时,视图的内容随之发生更新。

  2.用视图组织数据时,可组织成任何较易操作的形式,例如表单设计器中使用视图中的字段会较方便,同时显示形式更快捷;在报表生成器中添加视图作为数据环境,设计打印报表会很轻松的。

  3.用视图还可以组织其他形式的数据,在具体应用中加以研究、组织数据。

  4.视图设计器中新增字段不能改变列表头,当原有字段通过属性按钮修改列表头后,显示视图结果时列表头为修改后的列表头。

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有