VFP表间连接和VFP表的更新操作

文章作者 100test 发表时间 2008:02:01 15:48:55
来源 100Test.Com百考试题网


一.建立表间连接:有时需要将不同表的内容按某种条件重新组成一个新表,可用连接命令join来实现该功能.Join命令实现由两个表,即当前工作表和另一个工作区中的表(由别名指定),依据条件和指定的字段建立新表.执行该命令时,先将当前表的记录指针指向首记录,然后在别名表中依据指定条件搜索,凡满足条件的别名表的记录都各自与当前表的首记录组成一个新记录,并记入新文件中.随后将当前表的指针移向下一条记录,重复上面的搜索并组成新记录记入新表中,直到最后完成.

  格式:join with 表别名 to 新表名 [for 条件] [fields 字段名表]

  例:将职工档案.dbf和工资情况.dbf用连接命令生成一个新表,要求新表中包括姓名,出生时间,奖金和工资
0select 2
use 工资情况 alias bm
browse &.&.
0select 1
use 职工档案
browse &.&.
join with bm to xinbiao for 编号=bm.编号 fields 姓名,出生时间,bm.奖金,bm.工资
0select 3
use xinbiao
browse &.&.
close database &.&.关闭数据库,包括其中的表

  二.表的更新操作:商业中常需要根据商品的销售情况及进货情况不断更新库存商品的数量和金额,在vfp中,使用0update命令来处理,命令格式为:

0update on 关键字段 from 数据源表 replace 被更新字段 with 表达式
说明:(1).更新命令是用数据源表去更新当前工作表,即用表达式的值去更新被更新字段的值.
(2).关键字段必须是两个表的公共字段,且两个表都按此关键字进行了排序或索引,且索引随表打开.
(3).引用数据源表的字段时须用别名指定.
(4).该命令执行过程:对当前表(被更新表)的各条记录依其关键字值找到数据源表中相应记录,然后用表达式的值去更新相应字段内容.若在数据源表中没有与此记录相应的记录,则当前表的这条记录就不做更新操作.若当前表的全部记录都进行了上述更新操作,则此命令的更新操作也就完成了.

  例:新建一个表xy.dbf,结构如下:xy(编号 c5,工资 N6.1),输入几条记录然后用xy.dbf的值去更新"工资情况.dbf"的"工资"字段的内容.
1.按要求建立xy.dbf的表结构,并输入5条记录,
close database &.&.先把数据库及其中的表关闭,我们从头开始.
use 工资情况
browse &.&.更新前的情况,重点看工资字段的值,
use xy
browse &.&.
index on 编号 tag bh3 &.&.依据编号建立索引,索引名为bh3
use
0select 1
use xy order tag bh3 alias bm1 &.&.在1号工作区打开xy表同时打开bh3索引,表别名定为bm1
0select 2
use 工资情况 order tag bh2 &.&.上节课已为工资情况表按"编号"建立索引,名为bh2
0update on 编号 from bm1 replace 工资 with 工资 bm1.工资 &.&.将xy表中的工资字段的值加到当前表中
browse &.&.更新后的"工资情况"表,
use

相关文章


SQL语句基础学习之函数
SQL语句基础学习之HAVING
VFP表达式和运算符
Ie和firefox的Js区别
VFP表间连接和VFP表的更新操作
在VFP表单中实现三维动画效果
黑龙江:2007年9月计算机等级考试成绩查询开始
数据库辅导:CO TRAINT子句
ALTERTABLE语句
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛