【VB.NET自学】实战第4课:MySQL数据库的查改增删(2)
上一节讲了如何使用配置文件+AES加密的方式连接数据库,这一节在上节的基础上通过注册一个账号来演示对MySQL的查询及新增功能。
·
【VB.NET自学】实战第4课:MySQL数据库的查改增删(2)
前言
上一节讲了如何使用配置文件+AES加密的方式连接数据库,这一节在上节的基础上继续MySQL的查改增删。
1.编写查询代码并将其放入表格控件
有了之前的经验,这一步就很简单了,只是将查询出来的数据存到Datagridview表格控件中,示例代码如下:
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
Using connection As New MySqlConnection(_connString)
Try
connection.Open()
Dim strsql As String = "SELECT * FROM userlist"
'*代表所有数据,也可为指定的字段名
Using cmd As New MySqlCommand(strsql, connection)
Using adapter As New MySqlDataAdapter(cmd)
Dim dataSet As New DataSet()
adapter.Fill(dataSet)
If dataSet.Tables.Count > 0 Then
DataGridView1.DataSource = dataSet.Tables(0)
End If
End Using
End Using
Catch ex As Exception
' 显示异常信息给用户
MessageBox.Show($"Error: {ex.Message}")
End Try
End Using
End Sub
运行测试下,如下图,可以看到正常在表格控件中显示了数据。成功也就那么不期而遇了,成就感是我们前进的动力。说多了,继续。。。
2.注册一个账号模拟“新增”功能
为了不把密码显示出来,我们把两个密码框PasswordChar属性改为*号。
然后为了显示注册结果,将查询那一步放到公共事件以便注册账号后调用将其显示到表格控件中,下面是完整的示例代码:
Imports MySql.Data.MySqlClient
Public Class Form1
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
If TextBox1.Text = "" Or TextBox2.Text = "" Or TextBox3.Text = "" Then MsgBox("内容不能为空!") : Exit Sub
If TextBox2.Text <> TextBox3.Text Then MsgBox("两次输入的密码不一致") : Exit Sub
Using connection As New MySqlConnection(_connString)
Try
connection.Open()
' 检查账号是否已存在
Dim checkSql As String = "SELECT COUNT(*) FROM userlist WHERE 账号 = @account"
Using checkCmd As New MySqlCommand(checkSql, connection)
checkCmd.Parameters.AddWithValue("@account", TextBox1.Text.Trim())
Dim count As Integer = Convert.ToInt32(checkCmd.ExecuteScalar())
If count > 0 Then
MsgBox("已有相同账号,请修改", vbOKOnly, "提示")
Exit Sub
End If
End Using
' 插入新用户
Dim insertSql As String = "INSERT INTO userlist (账号, 密码) VALUES (@account, @password)"
Using insertCmd As New MySqlCommand(insertSql, connection)
insertCmd.Parameters.AddWithValue("@account", TextBox1.Text.Trim())
insertCmd.Parameters.AddWithValue("@password", EncryptString(TextBox2.Text))
insertCmd.ExecuteNonQuery()
MsgBox("注册成功!", vbOKOnly, "提示")
End Using
FetchDataAndPopulateGrid()
Catch ex As Exception
MessageBox.Show($"操作失败: {ex.Message}")
End Try
End Using
End Sub
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
FetchDataAndPopulateGrid()
End Sub
Public Sub FetchDataAndPopulateGrid()
Using connection As New MySqlConnection(_connString)
Try
connection.Open()
Dim strsql As String = "SELECT * FROM userlist"
Using cmd As New MySqlCommand(strsql, connection)
Using adapter As New MySqlDataAdapter(cmd)
Dim dataSet As New DataSet()
adapter.Fill(dataSet)
If dataSet.Tables.Count > 0 Then
DataGridView1.DataSource = dataSet.Tables(0)
End If
End Using
End Using
Catch ex As Exception
' 显示异常信息给用户
MessageBox.Show($"Error: {ex.Message}")
End Try
End Using
End Sub
End Class
3.测试运行

点击确定后在Datagridview表格控件中显示新增的账号密码数据
可以看到新增了账号及密码数据,且密码字段存储的是经过AES加密后的数据。
4.下节预告
这一节就写到这里,通过注册一个账号,我们已经掌握如何利用VB.net语言来对MySQL数据库进行连接、查询及新增功能。下一节再来探索如何对MySQL数据库进行修改及删除功能。
更多推荐




所有评论(0)