专栏首页VB小源码vb.net 结合MySQL数据库制作登录界面

vb.net 结合MySQL数据库制作登录界面

vb.net 结合MySQL数据库制作登录界面;主要思想:

1、先用.net自带ping类ping通主机则进行数据库链接,否则提示用户服务器链接失败,并禁止用户输入,点击确定登录按钮!这是为了防止应用长时间无响应!

2、当链接成功时,在用户名textboxchang 创建用户名验证,错误提示,正确显示正确!增强用户体验

3、密码textboxchang事件创建密码验证,错误提示,正确则做出正确提示!增强用户体验

4、登录按钮,再次验证用户名密码,正确则通过!这是为了防止期间有改动!

以下为数据库数据表图


以下为演示图


Imports MySql.Data.MySqlClient

Public Class LOGIN

#Region "数据库操作部分"

Public cnStr As String = "database=db_user;server=127.0.0.1;Uid=test;Pwd=test;"

Public cn As New MySqlConnection(cnStr)

Public Function resultDataTable(ByVal sqlstr As String) As DataTable

Dim mda As New MySqlDataAdapter(sqlstr, cn)

Dim dt As New DataSet

Try

mda.Fill(dt)

Return dt.Tables(0)

Catch ex As Exception

Return Nothing

Finally

cn.Close()

End Try

End Function

#End Region

#Region "事件处理"

Private Sub Cancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 取消.Click

Me.Close()

End Sub

Private Sub UsernameTextBox_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles 用户名.KeyUp

If e.KeyCode = Keys.Enter Then

密码.Focus()

End If

End Sub

#End Region

#Region "登录页面"

Private Sub 登录页面_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim stra As String = Replace(Split(Split(cnStr, "=")(2), ";")(0), " ", "")

If My.Computer.Network.Ping(stra) = True Then

cn.Open()

总提示.Text = "服务器连接-->>畅通"

总提示.ForeColor = Color.Green

确定.Enabled = True

用户名.Enabled = True

密码.Enabled = True

Else

总提示.Text = "服务器连接-->>失败"

logintime.Enabled = True

logintime.Interval = 700

确定.Enabled = False

用户名.Enabled = False

密码.Enabled = False

Exit Sub

End If

End Sub

#End Region

#Region "密码验证"

Private Sub 确定_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 确定.Click

Dim userstr As DataTable = resultDataTable("select user from tb_user where user='" & 用户名.Text & "';")

Dim passstr As DataTable = resultDataTable("select pass from tb_user where user='" & 用户名.Text & "';")

If userstr.Rows.Count = 0 Then

用户名提示.Text = "✘用户不存在"

Exit Sub

ElseIf userstr.Rows(0)(0).ToString <> 用户名.Text Then

用户名提示.Text = "✘用户不存在"

Exit Sub

Else

If passstr.Rows.Count = 0 Then

密码提示.Text = "✘密码错误"

Exit Sub

ElseIf passstr.Rows(0)(0).ToString <> 密码.Text Then

密码提示.Text = "✘密码错误"

Exit Sub

Else

用户名提示.Text = "√"

用户名提示.ForeColor = Color.Green

密码提示.Text = "√"

密码提示.ForeColor = Color.Green

'----------------------------------------------------------------------

Me.Hide()

MsgBox("登录--成功")

'这里添加要打开的窗体

End If

End If

End Sub

#End Region

#Region "用户体验"

Private Sub 用户名_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 用户名.TextChanged

用户名提示.Text = ""

Dim userstr As DataTable = resultDataTable("select user from tb_user where user='" & 用户名.Text & "';")

If userstr.Rows.Count = 0 Then

用户名提示.Text = "✘用户不存在"

用户名提示.ForeColor = Color.Red

Exit Sub

ElseIf userstr.Rows(0)(0).ToString <> 用户名.Text Then

用户名提示.Text = "✘用户不存在"

用户名提示.ForeColor = Color.Red

Exit Sub

Else

用户名提示.Text = "√"

用户名提示.ForeColor = Color.Green

End If

End Sub

Private Sub 密码_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 密码.TextChanged

密码提示.Text = ""

Dim passstr As DataTable = resultDataTable("select pass from tb_user where user='" & 用户名.Text & "';")

If passstr.Rows.Count = 0 Then

密码提示.Text = "✘密码错误"

密码提示.ForeColor = Color.Red

Exit Sub

ElseIf passstr.Rows(0)(0).ToString <> 密码.Text Then

密码提示.Text = "✘密码错误"

密码提示.ForeColor = Color.Red

Exit Sub

Else

密码提示.Text = "√"

密码提示.ForeColor = Color.Green

End If

End Sub

#End Region

#Region "计时器"

Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles logintime.Tick

If 总提示.Text = "" Then

总提示.Text = "服务器连接-->>失败"

Else

总提示.Text = ""

End If

End Sub

#End Region

Private Sub 总提示_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 总提示.Click

End Sub

End Class

本文分享自微信公众号 - VB小源码(vb_xym),作者:巴西_prince

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-10-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • vb6.0 FTP文件下载

    Inet1.AccessType = icUseDefault '设置与Internet连接的类型,默认值

    巴西_prince
  • VB.NET 简单的Microsoft Speech Object Library文字转语音

    SpeechLib是专门用来播放语音,能够识别英语、简体和繁体。并且可以播放声音文件,支持WAV格式,但不支持MP3。适用于需要语音报警场合。

    巴西_prince
  • VB.NET 程序通过嵌入福昕PDF阅读器控件显示PDF

    备注:以上两种方法都可以打开别人共享文件夹(或者服务器)中的PDF文件;只要引用共享(或者服务器)地址即可! 比如共享地址为:"\\192.168.0.1\pd...

    巴西_prince
  • VB.NET 简单的Microsoft Speech Object Library文字转语音

    SpeechLib是专门用来播放语音,能够识别英语、简体和繁体。并且可以播放声音文件,支持WAV格式,但不支持MP3。适用于需要语音报警场合。

    巴西_prince
  • 破解BattlEye数据包加密

    最近,《逃离塔尔科夫》(Escape From Tarkov)的开发商Battlestate Games聘请了BattlEye对联网的数据包实施加密,以使作弊者...

    franket
  • 0元撸个私有网盘,你说值不值?

    随着移动设备的兴起,数据与日剧增,每天都会产生大量的数据,越来越多的个人用户对存储空间有了更高的需求,很多个人家庭用户都已开始自己搭建私有云储存来管理家庭日常产...

    Mynice
  • Nim教程【四】

    这是国内第一个关于Nim的系列教程 先说废话 Screenshot (2).png 高雅的Nim Screenshot (3).png 方法 Screens...

    liulun
  • 匿名货币 2.0 SERO

    最近 Grin 和 Beam 引起了广泛地关注,匿名货币好似迎来又一个春天,然而本文介绍的 SERO,看似不温不火,实则潜力巨大。

    robinwen
  • Excel实战技巧71: 自动响应消息框信息

    运行test过程,将打开C盘中名为test.xlsm的工作簿,并弹出如下图1所示的消息框。

    fanjy
  • 2018年机器学习和数据科学重要会议概览

    来源:KDnuggets 编译:Bing 一月 美洲 BAFI 2018:金融和工业商业分析第三次会议(3rd Conf. on Business Analyt...

    企鹅号小编

扫码关注云+社区

领取腾讯云代金券