2

ここにエラーなしでコードがあります(少なくともデバッグするときは使用しませんVS 2010)が、追加ボタンをクリックすると、テキストボックスの数字(txtQty)が数字に追加されます現在「数量」列に保存されています。(例: txtQty "100" で、列の現在の値は "200" です。テキスト ボックスから "100" を "200" の列に追加し、新しい数値 "300" として保存します。私が知っている簡単な数学、しかし問題は、数式を使用する方法VB.NET DatagridviewMySql Databaseこのコードが実行される方法をまだ知らないことですが、[追加] をクリックすると、列の数字が 0 に戻ります。ヒントやヒントをいただければ幸いです。

        cmd.Connection = conn

        Dim Result = "Quantity" + txtQty.Text

        cmd.CommandText = " UPDATE incomingdeliveries SET Quantity ='" & Result & "';"
        cmd.Parameters.Add(New MySqlParameter("@Quantity", txtQty.Text))

        cmd.ExecuteNonQuery()

        MsgBox("Data Added to the Database")

            Me.IncomingdeliveriesTableAdapter.Dispose()
        Me.IncomingdeliveriesTableAdapter.Fill(Me.IncomingDeliveriesDataSet.incomingdeliveries)

            lblCode.Text = ("Tables Refreshed!")
4

1 に答える 1

3

コマンドテキストもパラメーター化する必要があります

cmd.CommandText = " UPDATE incomingdeliveries SET Quantity = @iQuantity + Quantity"
cmd.Parameters.Add(New MySqlParameter("@iQuantity", txtQty.Text))

更新 1

Using _conn As New MySqlConnection("connectionStr here")
    Using _comm As New MySqlCommand()
        With _comm
            .Connection = _conn
            .CommandText = "UPDATE incomingdeliveries SET Quantity = @iQuantity + Quantity"
            .CommandType = CommandType.Text
            .Parameters.AddWithValue("@iQuantity", txtQty.Text)
        End With
        Try
            _conn.Open()
            _comm.ExecuteNonQuery()
        Catch ex As MySqlException
            Msgbox(ex.Message.ToString())
        End Try
    End Using
End Using
于 2012-10-30T05:21:09.433 に答える