【问题标题】:error updating my database vb 2008 [closed]更新我的数据库 vb 2008 时出错 [关闭]
【发布时间】:2015-02-13 11:38:14
【问题描述】:
Imports System.Data
Imports System.Data.OleDb
Public Class frmChangePassword
    Public dbrs As New OleDb.OleDbCommand
    Public Provider As New OleDb.OleDbDataAdapter
    Public dbConn As New OleDb.OleDbConnection

    Private Sub frmChangePassword_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load


    End Sub

    Private Sub btnChangePassword_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnChangePassword.Click

        Using cn As New OleDbConnection("PROVIDER=Microsoft.JET.OLEDB.4.0;Data Source = login.mdb"), _
         cmd As New OleDbCommand("UPDATE LogInAdmin SET Password= ? WHERE Username= ? ;", cn)
            cmd.Parameters.AddWithValue("?", txtNewPassword.Text)
            cmd.Parameters.AddWithValue("?", txtUsername.Text)
            cn.Open()
            cmd.ExecuteNonQuery()
            MsgBox("Changed")
            cn.Close()
        End Using
    End Sub
End Class

【问题讨论】:

  • 请添加有关您的问题的更多详细信息,仅共享代码无济于事

标签: database vb.net sql-update error-code


【解决方案1】:

PASSWORD 是 MS-Access/JET 的保留关键字,需要用方括号括起来

cmd As New OleDbCommand("UPDATE LogInAdmin SET [Password]= ? WHERE Username= ? ;", cn)

但是,使用这些reserved keywords 是个坏主意,如果仍然可以的话,我建议更改该字段名称并学习如何存储hash of the password 而不是明文。

【讨论】:

  • 谢谢先生,它现在可以工作了:D
猜你喜欢
  • 2014-01-12
  • 1970-01-01
  • 2013-04-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-20
  • 1970-01-01
  • 2021-03-02
相关资源
最近更新 更多