2014-02-18 59 views
0

以下代码中出现了什么问题。 它给出了语法错误。如何解决更新中的错误MS Access数据库

str = "UPDATE Users SET Password=? WHERE User_Name=?" 
cmd1 = New OleDbCommand(str, con) 
cmd1.Parameters.AddWithValue("@Password", pwn) 
cmd1.Parameters.AddWithValue("@User_Name", un) 
cmd1.ExecuteNonQuery() 
MsgBox("Password Updated Successfully") 
+0

你可以检查我的回答 –

+0

是的,先生及其工作.... –

回答

0

密码是一个reserved keyword,更改您的代码

str = "UPDATE Users SET [Password]=? WHERE User_Name=?" 
cmd1 = New OleDbCommand(str, con) 
cmd1.Parameters.AddWithValue("@Password", pwn) 
cmd1.Parameters.AddWithValue("@User_Name", un) 
cmd1.ExecuteNonQuery() 
MsgBox("Password Updated Successfully") 

顺便说一句,如果你是仍然能够这样做,我建议将此列更改为非预留VED字,否则你有这个问题,每次

+0

谢谢先生,他的工作 –

0

密码是一个被保留的键,以便使用[Password]

str = "UPDATE Users SET [Password]=? WHERE User_Name=?" 
//str = "UPDATE Users SET [Password][email protected] WHERE [email protected]_Name" 

cmd1 = New OleDbCommand(str, con) 
cmd1.Parameters.AddWithValue("@Password", pwn) 
cmd1.Parameters.AddWithValue("@User_Name", un) 
cmd1.ExecuteNonQuery() 
MsgBox("Password Updated Successfully") 

reserved Keywords

+0

其工作先生 –

+0

@ S.Manjunathan我已经回答了你的问题作为first.But您接受anotherone答案有用 –

+0

@ S.Manjunathan检查我的回答 –