| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2362 人关注过本帖, 1 人收藏
标题:关于登录后显示使用者姓名和权限的问题
只看楼主 加入收藏
ictest
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:333
专家分:114
注 册:2010-2-17
结帖率:70%
收藏(1)
已结贴  问题点数:20 回复次数:14 
关于登录后显示使用者姓名和权限的问题
Access数据库
格式为:
user    password    name    class
1        1          AAA      SYS
2        2          BBB      OPE
.        .            .        .
.        .            .        .
.        .            .        .

程序源码为:
Private conn As New ADODB.Connection
Private Sub adminlogin()
    Static j As Integer
    Dim rs As New ADODB.Recordset
    SQL = "select username,password from admin Where username='" & text1.Text & "' and password='" & text2.Text & "'"
    Set rs = conn.Execute(SQL)
    If rs.EOF And rs.BOF Then
        j = j + 1
        rs.Close
        Set rs = Nothing
        MsgBox "密码错误"
        If j > 2 Then
            MsgBox "连续错误3次!程序将退出"
            End
        End If
    Else
        rs.Close
        Set rs = Nothing
        Form2.Show
'在这里增加语句
        Unload Me
    End If

End Sub
Private Sub Form_Load()
    conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Data.mdb;Mode=ReadWrite|Share Deny None;Persist Security Info=False"
End Sub

Private Sub cmd_Click()
    Call adminlogin
End Sub

Private Sub Form_Unload(Cancel As Integer)
        Set conn = Nothing
End Sub

Private Sub text2_KeyPress(KeyAscii As Integer)
    If KeyAscii = 13 Then Call adminlogin
End Sub


问题:
想在正确登录后,如用户名为1,密码为1,登录后在Form2.Label1.Caption中显示AAA,Form2.Label2.Caption中显示SYS,语句该怎么写?
2016-10-11 08:16
yujianding
Rank: 2
等 级:论坛游民
帖 子:26
专家分:19
注 册:2016-9-30
收藏
得分:4 
SQL = "select username,password,name,class from admin Where username='" & text1.Text & "' and password='" & text2.Text & "'"
在这里将名称和权限加进去
然后再设两个全局变量
在登录成功后,变量1=name,变量2=class,然后将Form2.Label1.Caption=变量1,Form2.Label2.Caption=变量2
就可以了
你这个登录代码跟我写的那个好像啊。。。
2016-10-11 08:19
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:4 
    SQL = "select username,password from admin Where username='" & text1.Text & "' and password='" & text2.Text & "'"
    Set rs = conn.Execute(SQL)

这种方法会导致 SQL注入漏洞。


授人于鱼,不如授人于渔
早已停用QQ了
2016-10-11 08:44
pengzhanggui
Rank: 5Rank: 5
等 级:职业侠客
威 望:8
帖 子:161
专家分:344
注 册:2015-7-20
收藏
得分:4 
回复 2楼 yujianding
最好分开两个table管控;

一个是user的明细;

一个是权限的明细;

来找我试试看
2016-10-11 08:44
xiangyue0510
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:86
帖 子:938
专家分:5244
注 册:2015-8-10
收藏
得分:4 
你对数据库代码有两个问题,
1. Select语句,你并未选择class 等字段,又要使用其内容。这是不可能的。
2. 你写的增加语句的位置明显有问题,rs被关闭之前没有将其class字段信息赋值给变量。关闭之后想要用也是不可能的。
至于在Form2中显示,正如楼上所言。直接赋值或者通过变量都可以。
目测你VB的基础知识还是不够扎实,多做练习,不要着急做实际的项目

SQL = "select * from admin Where username='" & text1.Text & "' and password='" & text2.Text & "'"  '如楼上所言,数据集需要包含class
……
Else
Form2.show
Form2.Label1.Caption=rs.field("class")  '这里只有class, 你SYS这项对应的字段名怎么没有? 另外必须在rs.Close之前
rs.Close     
Set rs = Nothing
2016-10-11 08:52
pengzhanggui
Rank: 5Rank: 5
等 级:职业侠客
威 望:8
帖 子:161
专家分:344
注 册:2015-7-20
收藏
得分:0 
回复 5楼 xiangyue0510
最近好多这样的问题,要不做一份基本的资料,分享一下经验之谈?

来找我试试看
2016-10-11 10:01
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:0 
支持这个做法。


授人于鱼,不如授人于渔
早已停用QQ了
2016-10-11 10:06
ictest
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:333
专家分:114
注 册:2010-2-17
收藏
得分:0 
多谢各位的指点,特别是xiangyue0510版主的那句“目测你VB的基础知识还是不够扎实,多做练习,不要着急做实际的项目”真正是一针见血,肺腑之言,对初学者充满了浓浓关切之意。

的确如此,近五十岁的我从来没能系统的认真的学习过编程,虽然喜欢,但也是常常会被一些简单的问题所桎梏,所幸知道了“编程论坛”,在这里各种各样的编程高手不遗余力、无私的帮助所有的初学者,我一下子就找到了“家”的感觉。

再次感谢各位。
2016-10-11 10:58
yujianding
Rank: 2
等 级:论坛游民
帖 子:26
专家分:19
注 册:2016-9-30
收藏
得分:0 
楼主,不用着急,我也没有系统的学过编程,我学编程只是为了工作的事偷懒罢了。。。我在公司负责报价的,开始都是用excel报价,我来了后,我将excel做成带函数,带VBA的类型的自动化的表格,还把excel用VBA做了登录窗口的,结果发现excel有个致命的缺陷,随即放弃了用excel的想法,然后看到了VB,就陷入了VB里面,还在网上买了学习资料,天天上网查各种代码,看书学习各种类型的编程,现在可能还没入门。。。我将我在各个论坛下载的资料上传一份大家一起学习吧
VB学习资料.zip (4.23 MB)
我们大家一起努力,加油!

[此贴子已经被作者于2016-10-11 11:31编辑过]

2016-10-11 11:26
xiangyue0510
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:86
帖 子:938
专家分:5244
注 册:2015-8-10
收藏
得分:0 
回复 6楼 pengzhanggui
谈什么呢?
感觉最近新手太多,很多都是提的一些很基础、很浅显的问题,也不一定是什么类型。
2016-10-11 13:32
快速回复:关于登录后显示使用者姓名和权限的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

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