关于一个VFP问题

来源:百度知道 编辑:UC知道 时间:2024/06/30 15:40:41
刚学VFP 现在在试着用VFP做一个小应用程序,在做的过程中遇到一个问题,想在这里问一下。

下面这段代码作用是 用户申请账号,并把信息追加到密码表中。

USE d:\学习\vfp98\快速练习\密码表.dbf //打开密码表
n=0 //设置标示
scan // 扫描密码表
if thisform.text1.value=姓名 // 判断是否重名
messagebox("用户名已存在")
n=1
endif
endscan
if n=0
appe blank // 在表尾加一空白记录
replace 姓名 with thisform.text1.value //用text1中的值替换表中姓名字段

replace 密码 with thisform.text2.value //用text2中的值替换表中密码字段
messagebox("账号注册成功!") //问题就在这,为什么注册成功后不会弹出这个对话框?
先谢谢你了。
ENDIF 就是在messagebox的下边,我试过,当用户存在时会弹出messagebox("用户名已存在") 这个对话框,但注册成功时就不会弹出messagebox("账号注册成功!") 这个对话框了.我都感觉奇怪。

不要忘记使用调试语句。
请在ENDSCAN后面加上一行
?N 或者是MESSAGEBOX(n)
看看条件是否成立。N是否为0

有可能是遍历表的时间太长,您等不及出来就关闭了吧?

=============================
关键是:您的与后面的IF语句配套的ENDIF放在哪里了?
=============
我不是说ENDIF语句有没有,我是问放在了哪里?

如果ENDIF是放在了最后,就是messagebox("账号注册成功!") 的后面,就没有任何问题,除非窗口出现您未看到。

另外,您可以试一个存在的用户,当用户存在时,用户名已经存在的窗口是否弹出?