获取vb.net中文本框中输入的列和值之和

获取vb.net中文本框中输入的列和值之和,vb.net,ms-access-2010,Vb.net,Ms Access 2010,我有一个名为AddU.text的文本框,还有一个名为Quantity的msaccess表字段,我想要的是,当我在AddU.text中输入一个值并单击add按钮时,我输入的值将自动添加到Quantity中的现有值。我一直在寻找解决方案,但找不到合适的。有人能帮我吗?这是我目前的密码: Dim cmd As New OleDb.OleDbCommand If Not conn.State = ConnectionState.Open Then conn.Open()

我有一个名为AddU.text的文本框,还有一个名为Quantity的msaccess表字段,我想要的是,当我在AddU.text中输入一个值并单击add按钮时,我输入的值将自动添加到Quantity中的现有值。我一直在寻找解决方案,但找不到合适的。有人能帮我吗?这是我目前的密码:

Dim cmd As New OleDb.OleDbCommand
    If Not conn.State = ConnectionState.Open Then
        conn.Open()
    End If
    Try
        cmd.Connection = conn
        cmd.CommandText = "UPDATE BC_Inventory SET [Addition]='" + AddU.Text + "'," + _
        "[Date_Updated]='" + DateU.Text + "',[Time_Updated]='" + TimeU.Text + "',[Updated_By]='" + UpdatedBy.Text + "'" + _
        "WHERE [Item]='" + com_ItemU.Text + "'"
        cmd.ExecuteNonQuery()




    Catch ex As Exception
        MessageBox.Show(ex.Message, "Error")
    Finally
        conn.Close()
    End Try

实际上,我仍然没有它的代码,我一直在尝试我在研究中找到的代码,但没有任何帮助,这就是我删除它的原因。

我怀疑您的数量字段是表中的字段? 这是已更改的SQL查询

Dim cmd As New OleDb.OleDbCommand

If Not conn.State = ConnectionState.Open Then
    conn.Open()
End If

Try
    ' SQL-Query with Database Update on Field Quantity = Quantity + AddU.Text
    Dim strSQL As String = "" & _
        "UPDATE BC_Inventory " & _
        "SET [Addition]     = '" & AddU.Text & "', " & _
        "    [Quantity]     = CDbl([Quantity]) + CDbl(" & CDbl(AddU.Text.Replace(",", ".")) & "), " & _
        "    [Date_Updated] = '" & DateU.Text & "', " & _
        "    [Time_Updated] = '" & TimeU.Text & "', " & _
        "    [Updated_By]   = '" & UpdatedBy.Text & "' " & _
        "WHERE [Item] = '" & com_ItemU.Text & "' "

    ' For Debugging
    ' MsgBox(strSQL)

    cmd.Connection = conn
    cmd.CommandText = strSQL
    cmd.ExecuteNonQuery()
Catch ex As Exception
    MessageBox.Show(ex.Message, "Error")
Finally
    conn.Close()
End Try
编辑1: 一个“符号在
行中是双的,[项目]…”

编辑2: 将
转换(双倍,数量)
更改为
转换(双倍,[数量])

编辑3:调试备注

' For Debugging
' MsgBox(strSQL)
编辑4:将缺少的
添加到末尾右侧的
转换(双“,”和CDbl(AddU.Text)&“,”

编辑5:将
)'
更改为

编辑6:现在使用
CDec()
而不是
Convert(Double,)

编辑7:
CDbl(AddU.Text.Replace(“,”,“))

编辑8:删除CDbl周围的“添加文本”


编辑9:将
CDec
替换为
CDbl

Dim cmd作为新的OleDb.OleDbCommand如果没有连接状态=连接状态。打开然后连接打开()结束如果尝试cmd.Connection=conn cmd.CommandText=“更新BC\u清单集[添加]=”+AddU.Text+“,“+"“[Date\u Updated]=”+“+DateU.Text+”,[Time\u Updated]=”+TimeU.Text+“,[Updated_By]=”,[Updated_By]=“+UpdatedBy.Text+”,“++”WHERE[Item]=“+com_ItemU.Text+”,“cmd.ExecuteNonQuery()Catch ex As Exception MessageBox.Show(ex.Message,“Error”)Finally conn.Close()End TryDon没有将代码放入注释中-您无法格式化它。这里有什么不起作用?您是否遇到异常或不正确的行为?我的代码有效,但它仅向我的表中的“添加”字段添加值,我需要的是将我在“添加”文本中输入的值添加到“数量”字段中现有值的代码。我运行了您的代码,但它会提示错误。上面写着“查询表达式中的语法错误(缺少运算符)”,你使用VB代码了吗?我发现WHERE子句的行中有一点语法错误。这一行的末尾有一个“加倍”。如果修复了上面的示例,请再试一次。得到它。缺少一个)。我认为错误在运算符中,因为它显示语法错误(缺少运算符),然后请检查MsgBox并显示来自MsgBox的SQL查询。