前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >vb.net 结合MySQL数据库制作登录界面

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

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

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-10-07,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档