-2
所以我正在登录/登记表格在vb.net 我创建的数据库和登录工程很好,但我的注册表单不希望将值插入数据库。这是我背后的代码。我不确定什么是错的。vb.net登录/注册表格不起作用
Public Class frmRegister
Private Sub btnRegister_Click(sender As Object, e As EventArgs) Handles btnRegister.Click
txtUsernameRegister.Focus()
If txtUsernameRegister.Text = "" Or txtPasswordRegister.Text = "" Then
MessageBox.Show("Please enter Username And Password!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
txtUsernameRegister.Focus()
Else
Dim sqlConnection1 As New System.Data.OleDb.OleDbConnection("Provider = Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\userDB.accdb")
Dim cmd As New System.Data.OleDb.OleDbCommand
sqlConnection1.Open()
cmd.CommandType = System.Data.CommandType.Text
cmd.CommandText = "INSERT INTO userDB (username, password) VALUES ('" & txtUsernameRegister.Text & "', '" & txtPasswordRegister.Text & "')"
cmd.Connection = sqlConnection1
sqlConnection1.Close()
frmLogin.Show()
Hide()
End If
End Sub
End Class
**警告**您的代码极易受到sql注入攻击! –
a [mcve]也会很棒。也**从不**存储纯文本密码。 –
您的代码不起作用,因为它从不执行INSERT语句。您分配'cmd.CommandText',然后关闭连接。当你从不做任何事情来保存数据时,你期望它能够保存数据吗?魔法?此外,您的代码极易受到SQL注入的攻击,这可能会使整个数据面临风险。在这里搜索* [vba.net]参数化查询*并学习如何正确使用** now **,然后再适应不良的编码习惯。 –