在集合中找不到MySQL参数

时间:2014-06-26 23:30:28

标签: mysql vb.net

我很难尝试使用参数更新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

谢谢!

1 个答案:

答案 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值的大小,则第二种方法更可取。