红皮书实例1

ADO Connetion对象代表了打开的、与数据库的连接。

         ConnectionString

'建立数据库连接

objCn.ConnectionString = "Provider = Microsoft.Jet.OLEDB.4.0;" & _

"Data Source=" & App.Path & "\实例1.mdb;Mode=ReadWrite|Share Deny None;Persist Security Info=False"

         Open

         Close

ADO Recordset 对象用于保存数据源获得记录集。

         ActiveConnection

         Eof:测试当前记录位置是否位于记录集的最后一个记录之后。

         Fields

         ObjRs.Fields(“口令”).Value

         Open

         objRs.Open(“SETECT 口令 FROM 用户系统 WHERE 用户名=‘admin’”)

 

1.创建数据库

外接程序/可视化数据管理器

2.建立ADO引用

工程/引用

Microsoft ActiveX Data Objects 2.5 Library

3.代码

const

常数定义,与dim差不多,但const定义的不能修改a的值,dim定义的可以重新赋值
方法一 private const a=5
方法二 dim a
       a=5

Conste用来定义常量
格式:Const 常量名 As 类型=表达式

 

chr(10)、chr(13)和vblf、vbcr、vbcrlf的分别

1、共同点:

   chr(10):换行,相当于VBLF

   chr(13):回车,相当于VBCR

   chr(13)+chr(10):回车+换行,相当于VBCRLF

   cr是回车,只有回车,是到本行的最头上;lf是换行,到下一行;crlf是到下一行的最头上

2、使用效果

     1)、在msgbox中效果一样

         Dim a, b, c As String
         a = "111" & vbCr & "222"
         MsgBox a
         MsgBox Len(a)                             
         b = "111" & vbLf & "222"
         MsgBox b
         MsgBox Len(b)                
         c = "111" & vbCrLf & "222"
         MsgBox c
         MsgBox Len(c)  

    2)、在窗体输出中的效果

        Chr13) 、 Chr10) 、 Chr13+Chr10) 是换一行;
        Chr
10+Chr13)、两个Chr13)、两个Chr10) 是换两行。

    3)、在Text输出中的效果

         只有只有chr(10)+chr(13)或者VBCRLF可以换行,其他的没有换行的效果::需要注意,换行的前提是Text控件中属性MultiLine必须为True      

 

   

   建立数据库连接

    objCn.ConnectionString = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\实例1.mdb;Mode=ReadWrite|Share Deny None;Persist Security Info=False"

    objCn.Open

 

   

执行查询命令,获得用户登录口令

    strSQL = "SELECT 口令 FROM 系统用户 WHERE 用户名 = '" & UserName & " '"

    Set objRs.ActiveConnection = objCn

    objRs.Open (strSQL)

   

   

判断有无查询结果

    If objRs.EOF Then

        Check_PassWord = 0         '没有查询结果,表示该用户为非法用户

    Else

        If PassWord <> Trim(objRs.Fields("口令").Value) Then

            Check_PassWord = 1         '口令不正确

        Else

            Check_PassWord = 2      '口令正确

        End If

    End If

  

关闭数据库链接,释放对象

    objCn.Close

    Set objRs = Nothing

    Set objCn = Nothing

    Exit Function

gpError:

    Check_PassWord = 255         '验证无法正常完成,返回错误代码

    Set objRs = Nothing

    Set objCn = Nothing

 

  

 用于保存用户请求验证次数

    Static intLogTimes As Integer           

    intLogTimes = intLogTimes + 1           '计算登录次数

    If intLogTimes > MaxLogTimes Then

        MsgBox "你已经超过允许验证次数!" & vbCr _

              & "应用程序将结束!", vbCritical, "登陆验证"

        End

    Else

        strName = Trim(txtUserName.Text)        '获得输入的用户名

        strPassWord = Trim(txtPassWord.Text)    

vb vbcritical 是指定在对话框上显示的图标信息类型(用于出错时的情况),就是红色圆圈里面有个叉叉X

 

 

 

检验用户名和口令的合法性,并根据检验返回值执行相应的操作

        Select Case Check_PassWord(strName, strPassWord)

            Case 0                  

                MsgBox "<" & strName & ">不是系统用户,请检查用户名输入是否正确!", vbCritical, "登陆验证"

                txtUserName.SetFocus

                txtUserName.SelStart = 0

                txtUserName.SelLength = Len(txtUserName)

            Case 1

                MsgBox "口令错误,请重新输入!", vbCritical, "登陆验证"

                txtPassWord = ""

                txtPassWord.SetFocus

            Case 2

                Unload Me

                MsgBox "登陆成功,将启用系统程序!", vbInformation, "登陆验证"

                '通常这里放置显示系统窗体的语句,例如

                frmMain.Show

            Case Else

                MsgBox "登陆验证未正常完成!请重新运行登录程序," & vbCrLf _

                & "如果仍不能登陆,请报告系统管理员!", vbCritical, "登陆验证"

        End Select






  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 14
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值