VFP 程序设计 ①显示“操作符/操作数类型不匹配”② 显示“LOCATE命令必须在CONTINUE命令之前发布”
sele1use商品indexon商品号tagsphsele2use订单setrelato商品号intoareplall总金额witha.单价*数量dowhile.t.i...
sele 1
use 商品
index on 商品号 tag sph
sele 2
use 订单
set rela to 商品号 into a
repl all 总金额 with a.单价*数量
do while .t.
input"请输入订单号:" to dh
loca for 订单号=dh ① 运行到这里显示“操作符/操作数类型不匹配”
?"=========查询结果=========="
?"商品名称 单价 数量 总金额"
do while not eof()
?a.商品名,a.单价,数量,总金额
cont ② 显示“LOCATE命令必须在CONTINUE命令之前发布”
enddo
wait"继续查询吗?" to yn
if upper(yn)="Y"
LOOP
ELSE
EXIT
ENDIF
ENDDO
CLOSE ALL
还有那个“do while .T.”有什么意义,还是个错误? 展开
use 商品
index on 商品号 tag sph
sele 2
use 订单
set rela to 商品号 into a
repl all 总金额 with a.单价*数量
do while .t.
input"请输入订单号:" to dh
loca for 订单号=dh ① 运行到这里显示“操作符/操作数类型不匹配”
?"=========查询结果=========="
?"商品名称 单价 数量 总金额"
do while not eof()
?a.商品名,a.单价,数量,总金额
cont ② 显示“LOCATE命令必须在CONTINUE命令之前发布”
enddo
wait"继续查询吗?" to yn
if upper(yn)="Y"
LOOP
ELSE
EXIT
ENDIF
ENDDO
CLOSE ALL
还有那个“do while .T.”有什么意义,还是个错误? 展开
2个回答
展开全部
你的两个错误根源于一个错误,你看一下你的订单.dbf中的订单号的数据类型是不是数据值型,如果不是,需要转换一下数据类型,这样第一个错误就可以解决了。第一个错误解决了,你的“loca for 订单号=dh“语句才会起作用,即locate才有效,第二个错误就不会出现了。
do while .T.是一个死循环,目的是一直能够运行这个循环中的循环体,不是错误。
do while .T.是一个死循环,目的是一直能够运行这个循环中的循环体,不是错误。
更多追问追答
追问
太谢谢了, 数据类型我改了 ,可以正常运行,但是 运行到“loop”、“exit”、“enddo” 出现“嵌套错误”,是什么问题?
太谢谢了, 数据类型我改了 ,可以正常运行,但是 运行到“loop”、“exit”、“enddo” 出现“嵌套错误”,是什么问题?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询