即時編程VB.net上的「更改密碼」窗體。這是OK按鈕的代碼:VB.net和ACCESS中的SQL UPDATE錯誤
Private Sub BT_CambiaPass_OK_Click(sender As Object, e As EventArgs) Handles BT_CambiaPass_OK.Click
Dim strSql As String = "UPDATE Usuario SET Password= ? WHERE NombreUsuario= ? AND Password= ?"
Using cmd As New OleDb.OleDbCommand(strSql, conexion)
cmd.Parameters.AddWithValue("Password_New", CStr(TB_CambiaPass_NEW.Text))
cmd.Parameters.AddWithValue("NombreUsuario", CStr(NombreUsuario))
cmd.Parameters.AddWithValue("Password_Old", CStr(TB_CambiaPass_Old.Text))
Try
conectarse()
cmd.ExecuteNonQuery()
conexion.Close()
Catch ex As Exception
MsgBox("Contraseña antigua incorrecta")
MsgBox(ex.ToString())
End Try
End Using
End Sub
的ex.tostring回報「的指令UPDATE語法錯誤......」,當調試的變量是確定的,但在那裏的ExecuteNonQuery得到這個錯誤。
我有這樣的其他功能,他們運行良好。實際上,我在Access中嘗試了SQL指令「UPDATE Usuario SET Password =」123「WHERE NombreUsuario =」Admin「AND Password = admin」,並且一切正常。
我不知道怎麼了...
對不起我的原始英語!
嘗試增加'cmd.CommandType = CommandType.Text'了'Using'行之後。 – Jaxedin
什麼是對象NombreUsuario和它來自哪裏?問候, –
嘗試cmd.CommandType = CommandType.Text但同樣的錯誤。 NombreUsuario來自程序開始時的登錄表單。是一個公共變量作爲字符串,幷包含用戶名。在調試變量是好的。 – Gonzalo