我有一个名为AddU.text的文本框,我还有一个名为Quantity的msaccess表字段,我想要的是当我在AddU.Text中输入一个值并单击添加按钮时,我输入的值将自动添加到数量中的现有值。我一直在寻找解决方案,但无法找到合适的解决方案。谁能帮我?继承我目前的代码:
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
实际上我仍然没有代码,我一直在尝试我在研究中找到的代码,但没有任何帮助,这就是为什么我删除它。
答案 0 :(得分:0)
我怀疑你的数量字段是你桌子上的一个字段? 这是更改的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 :
A"符号在行"WHERE [Item] ..."
编辑2 :
已将Convert(DOUBLE, Quantity)
更改为Convert(DOUBLE, [Quantity])
编辑3 :备注进行调试。
' For Debugging
' MsgBox(strSQL)
编辑4 :在最后添加了遗漏的)
到Convert(DOUBLE, '" & CDbl(AddU.Text) & "', "
。
编辑5 :将)'
更改为')
编辑6 :现在使用CDec()
代替Convert(Double, )
编辑7 :CDbl(AddU.Text.Replace(",", "."))
编辑8 :删除了'围绕CDbl(AddU.Text)
编辑9 :将CDec
替换为CDbl