前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >VB.NET 结合Access数据库开发的含有<验证码>系统登录示例

VB.NET 结合Access数据库开发的含有<验证码>系统登录示例

作者头像
一线编程
发布2019-07-22 15:14:05
1.7K0
发布2019-07-22 15:14:05
举报
文章被收录于专栏:办公魔盒办公魔盒


VB.NET 结合Access数据库开发的含有<验证码>系统登录示例


登录界面源码:

代码语言:javascript
复制
Imports System.Data.OleDb
Public Class FRM_LOGIN
    Public userpass As String
    Public qqx As String
    Dim yzm_m As String = "**************"

    Private Sub FRM_LOGIN_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        ''**********************************
        BT_OK.BackColor = Color.Transparent
        BT_QX.BackColor = Color.Transparent
        PICC1.BackColor = Color.Transparent
        PICC2.BackColor = Color.Transparent
        PICC3.BackColor = Color.Transparent
        PICC4.BackColor = Color.Transparent
        ''**********************************

    End Sub

#Region "返回验证码"
    Sub GET_YZM()
        Try
            Randomize()
            Dim YZM_TMP As String = ""
            Do While Len(YZM_TMP) < 4
                Dim YZM As String = Chr((57 - 48) * Rnd() + 48)
                YZM_TMP &= YZM
            Loop
            ''*****************
            For j As Integer = 1 To Len(YZM_TMP)
                Dim STR As String = Mid(YZM_TMP, j, 1)
                Dim I As Integer = Int(STR)
                Dim pic As PictureBox = Controls("PICC" & j)
                pic.Image = ImgList.Images.Item(I)
            Next
            ''******************
            yzm_m = YZM_TMP
            ''*******************
            CN_DB(userpass, qqx)
        Catch ex As Exception
            MsgBox("无法创建验证码:" & ex.Message, vbCritical, "VB小源码")
        End Try
    End Sub
#End Region

#Region "验证码事件"
    Dim TF_CODE As Boolean = True
    Private Sub TXT_YZM_Click(sender As Object, e As EventArgs) Handles TXT_YZM.Click
        If TF_CODE = True And TXT_USER.Text <> "" And TXT_PASS.Text <> "" Then
            GET_YZM()
            TF_CODE = False
        End If
    End Sub

    Private Sub PICC1_Click(sender As Object, e As EventArgs) Handles PICC1.Click
        If TXT_USER.Text <> "" And TXT_PASS.Text <> "" Then
            GET_YZM()
            TF_CODE = False
        End If
    End Sub

    Private Sub PICC2_Click(sender As Object, e As EventArgs) Handles PICC2.Click
        If TXT_USER.Text <> "" And TXT_PASS.Text <> "" Then
            GET_YZM()
            TF_CODE = False
        End If
    End Sub

    Private Sub PICC3_Click(sender As Object, e As EventArgs) Handles PICC3.Click
        If TXT_USER.Text <> "" And TXT_PASS.Text <> "" Then
            GET_YZM()
            TF_CODE = False
        End If
    End Sub

    Private Sub PICC4_Click(sender As Object, e As EventArgs) Handles PICC4.Click
        If TXT_USER.Text <> "" And TXT_PASS.Text <> "" Then
            GET_YZM()
            TF_CODE = False
        End If
    End Sub

#End Region

    Private Sub BT_OK_Click(sender As Object, e As EventArgs) Handles BT_OK.Click
        If yzm_m = TXT_YZM.Text Then
            If userpass = TXT_PASS.Text Then
                FRM_MAIN.Show()
                Visible = False
            Else
                MsgBox("密码错误!", vbCritical, "警告")
            End If
        Else
                If TXT_YZM.Text = "" Then
                MsgBox("请输入验证码!", vbCritical, "警告")
            Else
                MsgBox("验证码错误!", vbCritical, "警告")
            End If
        End If
    End Sub

#Region "窗体事件"
    Dim mo_ok As Boolean = False
    Dim sele_ok As Point
    Dim mo_wz As Point
    Private Sub FRM_LOGIN_MouseDown(sender As Object, e As MouseEventArgs) Handles Me.MouseDown
        mo_ok = True
        sele_ok = New Point(e.X, e.Y)
    End Sub
    Private Sub FRM_LOGIN_MouseMove(sender As Object, e As MouseEventArgs) Handles Me.MouseMove
        mo_wz = New Point(e.X, e.Y)
        If mo_ok = True Then
            Location = PointToScreen(mo_wz) - sele_ok
        End If
    End Sub

    Private Sub FRM_LOGIN_MouseUp(sender As Object, e As MouseEventArgs) Handles Me.MouseUp
        mo_ok = False
    End Sub

    Private Sub BT_CL_Click(sender As Object, e As EventArgs) Handles BT_CL.Click
        If MsgBox("您确定要退出吗?", vbYesNo, "退出") = vbYes Then
            Close()
        End If

    End Sub

    Private Sub BT_QX_Click(sender As Object, e As EventArgs) Handles BT_QX.Click
        If MsgBox("您确定要退出吗?", vbYesNo, "退出") = vbYes Then
            Close()
        End If
    End Sub
#End Region

#Region "获取用户信息"
    Function CN_DB(ByRef user As String, ByRef ad_qx As String) As Boolean
        Try
            Dim cnStr As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application.StartupPath & "\userdata.mdb;Persist Security Info=False"
            Dim CN As OleDbConnection = New OleDbConnection(cnStr)
            Dim sql As String = "select `密码`,`管理员` from tb_user where 用户名='" & TXT_USER.Text & "';"
            Dim DA As OleDbDataAdapter = New OleDbDataAdapter(sql, CN)
            Dim DS As DataSet = New DataSet
            DA.Fill(DS, "tb_user")
            user = DS.Tables(0).Rows(0)(0).ToString
            ad_qx = DS.Tables(0).Rows(0)(1).ToString
            Return True
        Catch ex As Exception
            Return False
        End Try
    End Function
#End Region

End Class

主页面源码:

代码语言:javascript
复制
Imports System.Data.OleDb
Public Class FRM_MAIN
    Private Sub FRM_MAIN_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Dim qx As String = FRM_LOGIN.qqx
        Dim name As String
        If qx = 1 Then
            name = "管理员"
        Else
            name = "会员"
        End If
        Label1.Text = "当前用户:" & FRM_LOGIN.TXT_USER.Text & "-->" & name
        Label1.BackColor = Color.Transparent
        ''**********************************
        Dim cnStr As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application.StartupPath & "\userdata.mdb;Persist Security Info=False"
        Dim CN As OleDbConnection = New OleDbConnection(cnStr)
        Dim sql As String = "select * from tb_user"
        Dim DA As OleDbDataAdapter = New OleDbDataAdapter(sql, CN)
        Dim DS As DataSet = New DataSet
        DA.Fill(DS, "tb_user")
        DataGridView1.DataSource = DS.Tables(0)
    End Sub

    Private Sub FRM_MAIN_Closed(sender As Object, e As EventArgs) Handles Me.Closed
        If MsgBox("您确定要退出吗?", vbYesNo, "退出") = vbYes Then
            FRM_LOGIN.Close()
        End If
    End Sub

    Private Sub DataGridView1_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick

    End Sub
End Class
代码语言:javascript
复制
源码下载:
https://www.lanzous.com/i43y93i
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-05-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 办公魔盒 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
验证码
腾讯云新一代行为验证码(Captcha),基于十道安全栅栏, 为网页、App、小程序开发者打造立体、全面的人机验证。最大程度保护注册登录、活动秒杀、点赞发帖、数据保护等各大场景下业务安全的同时,提供更精细化的用户体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档