关于VFP中的几条命令

我教VFP,但是有几条命令搞得我比较头晕,请高手们帮忙解答。1.显示姓名中含“张”的记录。命令:Displayallfor"张"$姓名2.显示姓名中姓为“张”的记录。命令... 我教VFP,但是有几条命令搞得我比较头晕,请高手们帮忙解答。

1.显示姓名中含“张”的记录。

命令:Display all for "张"$姓名

2.显示姓名中姓为“张”的记录。

命令:Display all for 姓名="张"

3.将姓为“张”的记录复制到NEW.dbf中。

命令:Copy all for "张"=Substr(姓名,1,2)

请问:(1)以上三条命令是否正确?

(2)姓名="张"、姓名="张%"、姓名="%张%"、姓名="张?"、"张"$姓名、"张"=Substr(姓名,1,2)各在什么时候用?

(3)同样是姓张的记录,为何在复制和显示时,for语句的表述方式不同?

谢谢!
展开
 我来答
syc_xhm
2010-05-13 · TA获得超过4044个赞
知道大有可为答主
回答量:2122
采纳率:100%
帮助的人:2298万
展开全部
我也才开始教这门课程,愿意与你共同学习。

1.显示姓名中含“张”的记录。

Display all for "张"$姓名
或 list for at("张",姓名)<>0

2.显示姓名中姓为“张”的记录。
set exact off
Display all for 姓名="张"
(只有在模糊比较前提下才可以,当然系统默认是off状态)

3.将姓为“张”的记录复制到NEW.dbf中。

Copy all for "张"=Substr(姓名,1,2) to new
(此命令绝对正确,而且等号左右两侧可以交换,与字符串是精确比较还是模糊比较无关,因为是从姓名中取第一个字符与“张”做比较。这样写也正确:
set exact off
copy for 姓名="张" to new )
答案不是唯一的,但必须弄懂区别。

姓名="张"、姓名="张%"、姓名="%张%"、姓名="张?"、"张"$姓名、"张"=Substr(姓名,1,2)各在什么时候用?

姓名="张" 是查找张的记录。(前提是模糊比较状态下)
"张"$姓名 是查找姓名中包含张的记录。
"张"=Substr(姓名,1,2) 查找姓张的记录。(与模糊比较还是精确比较状态无关)

姓名="张%"、姓名="%张%"、姓名="张?“
这三个写法是毫无实际意义的,除非真的姓名字段中有叫"张%"、"%张%、"张?"的。你这样写是三个字符串常量。

因为你不知道的%和_用法。
我不知道条件里还可以有“?” 。

在SQL语言的where <条件>子句中才可以出现%和_,举例:

查询“学籍”表中姓张的记录
select * from 学籍 where 姓名 like "张%"
(这里%的含义代表任意的多个字符)

select * from 学籍 where 姓名 like "张_"
(此命令中的_代表任意的一个字符,也就是说只能找出姓名叫“张某”,名字中两个字的记录。)
百度网友b7b17b7
2010-05-15
知道答主
回答量:10
采纳率:0%
帮助的人:5.9万
展开全部
命令没有错,但是你没有给出表来,能不能实现就看你的表是什么样的了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式