【发布时间】:2014-10-24 18:17:31
【问题描述】:
“adapter = New MySqlDataAdapter("UPDATE user SET Password WHERE Password ='" & txtpassword.Text & "'") "行中有错误
我该如何解决这个问题?
Private Sub getdbdata()
Try
mysqlconn = New MySqlConnection("server=localhost;username=root;database=bank")
dataset = New DataSet
adapter = New MySqlDataAdapter("UPDATE user SET Password WHERE Password ='" & txtpassword.Text & "'")
adapter.Fill(dataset, "user")
mysqlconn.Open()
reader = command.ExecuteReader
If reader.HasRows Then
Form1.Show()
Me.Visible = False
Else
MessageBox.Show("Password change unsuccessful.")
End If
reader.Close()
mysqlconn.Close()
Catch ex As MySqlException
MessageBox.Show(ex.Message)
End Try
End Sub
【问题讨论】:
-
错误说明了什么?除了易受 SQL 注入攻击之外,我看不出它有什么问题。也许您的密码包含单引号? :)
-
如果我不得不猜测,因为您没有费心提供系统提供给您的错误消息,那么我会说“用户”是保留字,需要如果使用标识符,则进行转义。在 MySQL 中,您可以通过将值包装在坟墓 (`) 中来做到这一点。