VB中SQL查询出来的数据怎么进行判断符不符合要求

我想做一个根据不同用户名获得其他不同窗体权限的登录系统,目前有一个SQL数据库,库中有一个名字叫做users的表,表的结构大概是这样姓名密码一号窗体权限二号窗体权限三号窗... 我想做一个根据不同用户名获得其他不同窗体权限的登录系统,目前有一个SQL数据库,库中有一个名字叫做users的表,
表的结构大概是这样
姓名 密码 一号窗体权限 二号窗体权限 三号窗体权限
XX XX 有 无 有
我的想法是这样的
先用SQL语言查询符合姓名=XX,密码=XX的这一行,然后把这一行的数据赋值给变量
然后利用if 查询出来的这一行中的一号窗体权限=有 then
From1.Show
else
end if
窗口23都如法炮制
那么这段代码该怎么写呢,最好能详细解释一下 谢谢
展开
 我来答
解0人
2016-06-23 · TA获得超过2389个赞
知道大有可为答主
回答量:1474
采纳率:83%
帮助的人:741万
展开全部
dim rs as object
dim sql as string
    sql="select * from users where 姓名='xx' and 密码='xx'"
    set rs=currentproject.connection.execute sql
    if rs.eof then
        msgbox "账号或密码错误!"
    else        
        if rs(2)="有" then
            From1.Show
        elseif rs(3)="有" then
            From2.Show
        elseif rs(4)="有" then
            From3.Show
        else
            msgbox "啥权限都木有..."
        end if
    end if
    set rs=nothing

以上代码仅供参考,不太明白如果一个账号3个窗体都有权限,要开哪个?还是3个都开?

另外,如果以后你的系统添加新功能,有了四号窗体,是不是还要修改users表的结构??

通常用户表和权限表是分开的。

更多追问追答
追问
多谢解答 我还想问下  这段代码的意思是把查询的内容赋值给sql了 然后把sql的内容赋值给rs?我看到说查询出来的是数组,然后比较rs这个数组里面的值是吗?还有就是你的这段代码中sql查询的表需要用额外的adodc控件连接吗?
追答
上面的sql是一个sql查询语句,一个字符串而已...
set rs=currentproject.connection.execute sql
这句代码执行这个sql查询语句,将查询结果赋值给rs,
然後从rs中取值判断。
另外rs并不是一个数组,而是一个ADO对象...
以上代码的执行不需要adodc控件。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式