看看这段程序,帮我找找问题?

anywnldh 2005-01-12 11:37:39
SELECT A
USE cj2004b541
DO WHILE NOT EOF()
IF cjj = "E" THEN
UPDATE cj2004b541 SET pore = "优秀"
ELSE
IF cjj = "P" THEN
UPDATE cj2004b541 SET pore = "合格"
ENDIF
ENDIF
SKIP
ENDDO
USE
结果是pore字段中的内容都是“合格”
即使cjj的内容为"E"的字段
...全文
60 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
十豆三 2005-01-12
  • 打赏
  • 举报
回复
UPDATE - SQL 命令

如果省略了 WHERE 子句,在列中的每一行都用相同的值更新。
---------------------------------------------------------
用上面的方法,或者改为下面两句即可:

UPDATE cj2004b541 SET pore = "优秀" WHERE cjj="E"
UPDATE cj2004b541 SET pore = "合格" WHERE cjj="P"
十豆三 2005-01-12
  • 打赏
  • 举报
回复
SELECT A
USE cj2004b541
DO WHILE NOT EOF()
IF cjj = "E" THEN
replace pore WITH "优秀"
ELSE
IF cjj = "P" THEN
replace pore WITH "合格"
ENDIF
ENDIF
SKIP
ENDDO
USE
十豆三 2005-01-12
  • 打赏
  • 举报
回复
即:

UPDATE cj2004b541 SET pore = "优秀" WHERE cjj="E" &&替换
UPDATE cj2004b541 SET pore = "合格" WHERE cjj="P" &&替换
use in cj2004b541 &&关闭表
十豆三 2005-01-12
  • 打赏
  • 举报
回复
SELECT A
USE cj2004b541

也可以省略!
fcb 2005-01-12
  • 打赏
  • 举报
回复
SELECT A
USE cj2004b541

UPDATE cj2004b541 SET pore = "优秀" WHERE cjj="E"
UPDATE cj2004b541 SET pore = "合格" WHERE cjj="P"

USE

不用DO While就可以了

2,722

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧