| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2363 人关注过本帖, 1 人收藏
标题:关于登录后显示使用者姓名和权限的问题
只看楼主 加入收藏
ZHRXJR
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:125
帖 子:1034
专家分:5519
注 册:2016-5-10
收藏
得分:4 
你的编程基础还不够扎实,随便写了一个,应该是你需要的,你看看,希望对你有点帮助。
我认为如果是多窗体的数据库编程,使用模块比较合理,这样省去了在各个窗体都需要编写数据库连接的代码,另外各窗体间需要的数据可以在模块中定义,在窗体直接调用即可。
添加一个模块Module1,模块中编写数据库连接代码,定义窗体间调用的数据变量:
程序代码:
Public conn As New ADODB.Connection, RS As New ADODB.Recordset
Public Uname As String, Pclass As String

Sub KKK(conn)
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

FORM1窗体的程序:
程序代码:
Dim J As Integer

Private Sub Command1_Click()
Dim ZFC As String    '过程级变量
If Text1.Text = "" Then    '检测用户是否输入用户名
    MsgBox "你没有输入用户名,请输入!"
    Exit Sub    '如果没有输入,退出当前过程,等待用户输入
End If
If Text2.Text = "" Then    '检测用户是否输入用户密码
    MsgBox "你没有输入用户密码,请输入!"
    Exit Sub    '如果没有输入,退出当前过程,等待用户输入
End If
    Call KKK(conn)    '调用模块中的数据库连接
    RS.Open "Select * From admin Where username='" & Text1.Text & "'", conn, 2, 2
    If Not RS.EOF Then   '首先检测用户名是否正确
        If RS!password = Text2.Text Then   '再检测用户密码是否正确
        Uname = RS!Name    '取出用户名称存储在模块级变量Uname中
        Pclass = RS!Class    '取出用户权限存储在模块级变量Pclass中
        ZFC = "登录成功"
        Else    '如果用户密码不正确
        ZFC = "密码不正确"
        J = J + 1
        End If
    Else    '如果用户名不正确
        ZFC = "用户名不正确"
        J = J + 1
    End If
    RS.Close
    Set RS = Nothing
    conn.Close
    Set conn = Nothing
    If J >= 3 Then
    MsgBox "你已经连续三次登录不成功,不能继续登录了!"
    End
    End If
    If ZFC = "登录成功" Then
        Unload Me
        Form2.Show
    ElseIf ZFC = "密码不正确" Then
        MsgBox "你输入的用户密码不正确,请重新输入!"
        Text2.Text = ""   '清除Text2内容
        Text2.SetFocus    '光标到Text2,以便重新输入
    ElseIf ZFC = "用户名不正确" Then
        MsgBox "你输入的用户名不存在,请重新输入!"
        Text1.Text = ""   '清除Text1内容
        Text2.Text = ""   '清除Text2内容
        Text1.SetFocus    '光标到Text1,以便重新输入
    End If
End Sub

Private Sub Form_Load()
        Text1.Text = ""
        Text2.Text = ""
End Sub

Form2窗体的代码:
程序代码:
Private Sub Form_Load()
Label1.Caption = "": Label2.Caption = ""
'方法一:直接显示用户名称与权限
Label1.Caption = Uname
Label2.Caption = Pclass
' Uname变量与 Pclass变量是模块级变量,这里直接调用即可
'-------------------------------------
'方法二:使用数据库显示用户名称与权限
Call KKK(conn)    '调用模块中的数据库连接
RS.Open "Select * From admin Where name='" & Uname & "' And Class='" & Pclass & "'", conn, 2, 2
Label1.Caption = RS!Name
Label2.Caption = RS!Class
RS.Close
Set RS = Nothing
conn.Close
Set conn = Nothing
End Sub


由于你的数据库结构不清楚,没有调试,估计应该问题不大。

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


请不要选我!!!
2016-10-11 13:58
ictest
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:333
专家分:114
注 册:2010-2-17
收藏
得分:0 
多谢各位!
2016-10-11 14:23
pengzhanggui
Rank: 5Rank: 5
等 级:职业侠客
威 望:8
帖 子:161
专家分:344
注 册:2015-7-20
收藏
得分:0 
回复 10楼 xiangyue0510
确实好多新手问问题,我现在较少搞VB了,主要在搞C#去了

来找我试试看
2016-10-11 14:36
xiangyue0510
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:86
帖 子:938
专家分:5244
注 册:2015-8-10
收藏
得分:0 
回复 8楼 ictest
这个是有切身体会的。刚开始学VB的时候,做一个计算器的程序当成练习,功能确实实现了,代码洋洋洒洒好几页。 过了一年,给别人讲VB,也用计算器作为练习。自己重新做了一遍,只用了原来1/4的代码。
另外大概也是刚开始学VB不久的事情,做一个项目用的程序,本来做了一个月左右就完工。但是老板一句话,做了一个很简单的变动。 就是这个简单的变动,我用了大概一周多的时间才把代码修改好。

对于新手不建议着急做实际项目,是因为新手的代码往往存在这些问题:
1、 简洁性:代码多而且乱,一旦修改工作量巨大。  
2、 易读性:很容易出现刚写的代码,过两天再来看,发现有点看不明白了。  
3、 易改性:当程序某一个地方需要改变的时候,代码中需要修改的内容可能会很多。 这样的代码改动的时候,很容易出错,可能因为出错调试耗费大量的精力。
4、 潜在错误:这个对于数据类别的程序尤其重要,如果测试数据考虑不全面,实际使用中很可能报错或者结果不对。
如果带着这样的问题去做项目。业主和老板可以把你玩吐血了。

解决这些问题,程序员必须具备的的素质和能力
1. 扎实的基础知识:这个是最基本的,至少写出实现功能的代码,当出现问题的可以找到问题的源头。
2. 很好的设计思路:这个包括最基本的实现功能的方式方法、功能模块的拆分等等。 这需要不断在实践中去磨练和积累经验才行,对于新手就是多做练习。 个人觉得不要限于书本上的练习,尤其反对照抄一遍代码运行之后没问题,然后就完事了的学习方法。 可以对这个代码按照自己的想法进行修改,我以前就是这样干的,有时候能改到效果完全两样的程度。 也可以根据自己凭空的想法设计一个练习,比如上面说的计算器的例子其实就是我拿着casio的计算器自己弄的,没有书本或者示例代码。
3. 很好的书写习惯:这里指的是写代码时候的习惯,比如变量命名、缩进等等。 没有说什么样的才是好的,也可以形成自己的风格。但是至少自己写的代码,要找某一局代码可以很快找到,而且即使过了一年半载也看的明白,不至于懵了。
4. 一定的前瞻性:能够预见到未来可能需要进行的修改,在代码上提前预留好准备,这更需要经验积累了。
2016-10-11 14:43
xiangyue0510
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:86
帖 子:938
专家分:5244
注 册:2015-8-10
收藏
得分:0 
回复 13楼 pengzhanggui

C++学了一段时间,年纪大了学不进去了。我还是VBA+ ,暂时用在工程项目做辅助工具,也不是专门的软件开发,够用了。
2016-10-11 14:47
快速回复:关于登录后显示使用者姓名和权限的问题
数据加载中...
 
   



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

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