Asp.net update语句出现语法错误

Asp.net update语句出现语法错误,asp.net,vb.net,Asp.net,Vb.net,有人能帮我解决这个问题吗?我见过很多类似的问题,但我还是找不到解决办法 myConnection.Open() Dim cmd As OleDbCommand = myConnection.CreateCommand() cmd.CommandType = CommandType.Text cmd.CommandText = "UPDATE Register SET [Name]=@Name, Email=@Email, P

有人能帮我解决这个问题吗?我见过很多类似的问题,但我还是找不到解决办法

myConnection.Open()
            Dim cmd As OleDbCommand = myConnection.CreateCommand()
            cmd.CommandType = CommandType.Text
            cmd.CommandText = "UPDATE Register SET [Name]=@Name, Email=@Email, Password=@Password, Mobile=@Mobile, Address=@Address, Blood=@Blood WHERE Name='Name'"
            cmd.ExecuteNonQuery()
            myConnection.Close()
            MsgBox("Your record update successfully !")

您的查询已参数化,但未提供所需的参数

例如:

cmd.CommandText = "UPDATE Register SET Email=@Email, Password=@Password, Mobile=@Mobile, Address=@Address, Blood=@Blood WHERE Name=@Name"
cmd.Parameters.Add("@Name", SqlDbType.String).Value = NameTextBox.Text
cmd.Parameters.Add("@Email", SqlDbType.String).Value = EmailTextBox.Text
cmd.Parameters.Add("@Password", SqlDbType.String).Value = "XYZ" 'Must be hashed
cmd.Parameters.Add("@Mobile", SqlDbType.String).Value = "111-111-1111"
cmd.Parameters.Add("@Address", SqlDbType.String).Value = "100 King Street"
cmd.Parameters.Add("@Blood", SqlDbType.String).Value = "A+"
cmd.ExecuteNonQuery()

此外,Name='Name'所在的条件
也很奇怪。我认为它也应该参数化,但按名称更新记录仍然不是一个好的做法,您应该使用ID。

我在“cmd.ExecuteNonQuery()”行中有错误,您能帮忙吗?我已经尝试过了,消息框弹出“record updated successfully”但ms access数据库中的数据保持不变,这可能是因为数据库中没有将
Name
列设置为值“Name”的记录。你必须像我说的那样改变你的条件
WHERE Name='Name'
。我们看不到您的数据,因此无法帮助您,但您的查询正在运行。myConnection.Open()Dim cmd作为OleDbCommand=myConnection.CreateCommand()cmd.CommandType=CommandType.Text cmd.CommandText=“UPDATE Register set Email=”+EmailTextBox.Text+“'其中Name=”+NameTextBox.Text+“”cmd.ExecuteNonQuery()MsgBox(“您的详细信息已成功更新!”)Response.Redirect(“User Login.aspx”)myConnection.Close()…我现在正在使用此代码…它可以正常工作,但只有一个字段正在更新…如果我再添加一个集合…它将无法工作。不要使用内联查询。问题中的参数化查询要好得多。我编辑了我的答案以包含
NameTextBox.Text
EmailTextBox.Text
值。按照相同的步骤添加其他值。