我很难尝试使用参数更新MySQL值。 我想我可以排除打字错误。
我收到错误"参数@inout_price未在集合中找到"。
有谁能告诉我哪里出错了?
Using nCmdUp As MySql.Data.MySqlClient.MySqlCommand = g_CnWebDB.CreateCommand
With nCmdUp
.CommandText = "UPDATE payinout SET inout_price=@inout_price WHERE inout_guid=@inout_guid"
Dim sNewPrice As String = "53.55"
.Parameters("@inout_price").Value = sNewPrice'In this line the error is thrown
.Parameters("@inout_guid").Value = sGUID
.ExecuteNonQuery()
End
End With
End Using
谢谢!
答案 0 :(得分:1)
应将参数添加到参数集合中。
Using nCmdUp As MySqlCommand = g_CnWebDB.CreateCommand
With nCmdUp
.CommandText = "UPDATE payinout SET inout_price=@inout_price " & _
"WHERE inout_guid=@inout_guid"
Dim sNewPrice As String = "53.55"
.Parameters.AddWithValue("@inout_price", sNewPrice)
.Parameters.AddWithValue("@inout_guid", sGUID)
.ExecuteNonQuery()
End With
End Using
您可以使用快捷AddWithValue(对于Sql Server,但概念相同)添加参数及其值,或者使用Add更详细的方式。如果要微调参数数据类型和varchar值的大小,则第二种方法更可取。