收录日期:2019/03/27 11:18:22 时间:2016/05/21 14:12:43 标签:VFP
我们以前的老师只都我们学命令,而现在的老师让我们写程序

把表ZGDA中职称为二级的基本工资在ZGGZ里加10块,没有关联,只限制在两个工作区内操作,这个简单的程序怎么写?

写程序的方法:

用命令在电脑上写
******************************************************************
&&以下假设zgda的有两个字段:zg_id(职工编号),zg_gra(职工职称);
&&zggz中同样有两个字段:zg(职工编号,以上面相同),zg_num(职工工资)
*******************************************************************
local cur_id
local shoud_add
should_add=.f.
sele a
use zggz.dbf
sele b
use zgda
sele a
scan
   cur_id=zg_id
   sele b
   locate for zg_id=cur_id
   should_add=(zg_gra=="二级")
   sele a
   if should_add
         replace zg_num with zg_num+10
   endif   
endscan
********************************************************
&&时间仓促,未写异常处理部分
什么意思哟?我根本看不懂,比如说
local cur_id
local shoud_add
should_add=.f.
Modi comm Ls
use zgda
sele 2
use zggz
sele 1
if ! eof()
do while .T.
if 职称="二级"
temp=姓名
sele 2
replace 基本工资 with 基本工资+10 for temp=姓名
end if
sele 1
skip
if eof()
exit
endif
enddo
end if

这是老师给出来的答案,但是我认为不是很怎么好呀~~~~~~~~~~~~~大家给点意见
Modi comm Ls
use zgda
sele 2
use zggz
sele 1
do whil .not.eof()
  if 职称="二级"
    temp=姓名
    sele 2
    repl 基本工资 with 基本工资+10 for temp=姓名
  end if
  sele 1
  skip
enddo
close all



或用scan也可,
黑鹰认为以上做法不妥,因为在zggz与zgda中姓名字段并不能唯一标识每条记录,照以上解法,如果有两个姓名完全相同的职工,只要其中一个职称为“二级”,则两名职工均会被啬基本工资.
以上是个人愚见。
另外
local cur_id在语法上的意思是定义一个局部内存变量cur_id
local should_add同上
should_add=.f.为赋值.f.给内存变量should_add
可能你在学校里,学习用命令,没有上过即见即所得的语言!!   

   去买一些教学光盘,,,看一下!!
黑鹰说的有道理,我佩服!

zgda的有两个字段:zg_id(职工编号),zg_gra(职工职称);
zggz中同样有两个字段:zg(职工编号,以上面相同),zg_num(职工工资)

职工编号应为唯一性,可将“temp=姓名”改为“temp=职工编号”

如果职工编号为唯一性,程序更简单:两表按“职工编号”建索引,用"update"直接更新。

请一 那位大哥,有DES\"\"加密传输\"\"的代码或文档(vc的),谢谢!!!!在线等待......... 如何在WPX上安装配置Domino的协作组件? CDONTS发送身份验证 winrunner和RationalSuiteEnterprise是什么关系啊? 问专家 databindings.add 设置textbox的databindings的text属性的问题! ASP中 向XML文当中添加数据,怎末不能执行? form为什么那么高? 如何从kde切换到gnome? 急!请教高手! 请教,如何对CSDN左边的菜单树实行权限控制? 16进制文本转成二进制分析,然后以10进制文本输出,请问如何实现阿 eee 一个小问题:怎样将字符串转换为操作符 画UML中类图的关联 我问我问我问问问! CSDN,请对对表! 简单问题,求教! 哪位大哥听说过UNIX下的一个什么MAP数据库系统?? 请高手出剑:关于内嵌视图(选择“显示单个分类”)的分页问题 [Microsoft][ODBC 驱动程序 管理器] 程序类型越界??? 一个double类型的数据怎么转为CString? Fasttemplate究竟是干嘛用的??? 在SQL语句中如何存取Oracle 中的BLOB类型的数据?(在线等待) Double怎么样转化成Integer 模糊查询,遇到问题。 CListBox的问题 请问,我如果想同时继承2个类该怎么办? portal资料!!! 有人给分吗? 高手帮帮忙!!!有分向送