| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛 | 
共有 700 人关注过本帖
标题:一个if语句的问题
只看楼主 加入收藏
Wayneboc
Rank: 1
等 级:新手上路
帖 子:85
专家分:3
注 册:2020-7-6
收藏
 问题点数:0 回复次数:4 
一个if语句的问题
我在一本书上看到了下面的系统登录的程序,有一个if语句我没有考虑明白。我把程序贴在下面。我的问题是为什么要这个if vartype(kk(1))<>"L"  ?如果kk(1)是逻辑型,会出现什么?


cName=alltrim(thisform.text1.value)
cPassword=alltrim(thisform.text2.value)
dimension kk(2)
select 口令,权限 from 系统用户 where alltrim(用户名)==cName into array kk  


if vartype(kk(1))<>"L"    &&判断数据类型  逻辑型


    if alltrim(kk(1))==cPassword
        messagebox("登录成功!",64,"用户登录验证")  
        *保存当前用户信息,下列变量在系统主文件中定义
        p用户权限=kk(2)
        pLogon=.T.                        &&pLogon为.T.表示登录成功
        thisform.release                    &&关闭登录对话框        
    else
        messagebox("口令输入错误!",16,"用户登录验证")  
        thisform.text2.value=""
        thisform.text2.setfocus
    endif   
else
    messagebox("用户名输入错误!",16,"用户登录验证")
    thisform.text1.selstart=0
    thisform.text1.sellength=len(cName)
    thisform.text1.setfocus
endif

搜索更多相关主题的帖子: 登录 thisform text1 if 语句 
2026-05-15 20:17
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:11668
专家分:43678
注 册:2014-5-20
收藏
 得分:0 
kk 是数组
这样测试看看
dimension kk(2)
? kk
2026-05-15 20:46
kangss
Rank: 8Rank: 8
等 级:贵宾
威 望:14
帖 子:445
专家分:962
注 册:2014-6-12
收藏
 得分:0 
“... array kk”把搜索到的记录复制到数组“kk”
如果“select 口令,权限”没有查询到符合条件的记录,这个数组“KK”是个空壳,相当于一个表里面没有记录,kk(1)的值就是 .F.
2026-05-16 12:49
csyx
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:火星
等 级:版主
威 望:37
帖 子:838
专家分:3278
注 册:2018-3-13
收藏
 得分:0 
select ...... into array kk
if vartype(kk(1))<>"L"

这属于初级水平用法,if 的判断准确性严重依赖 kk 数组初始值状态,如果在 select ,,, into array kk 之前使用过 kk,其初始值将无法预料
正确的写法应该是
select ...... into array kk
if _tally > 0

2. if alltrim(kk(1))==cPassword 更不用说了,数据库里居然存储口令明码



[此贴子已经被作者于2026-5-16 14:20编辑过]


这家伙很懒,啥也没留下
2026-05-16 14:14
hsfisher
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:311
专家分:142
注 册:2009-4-26
收藏
 得分:0 
2026-05-18 14:42
快速回复:一个if语句的问题
数据加载中...
 
   
关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.035442 second(s), 9 queries.
Copyright©2004-2026, BCCN.NET, All Rights Reserved