获取在 vb.net 的文本框中输入的列和值的总和
get sum of a column and a value inputted in textbox in vb.net
我有一个名为 AddU.text 的文本框,我还有一个名为 Quantity 的 msaccess table 字段,我想要的是当我在 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
实际上我仍然没有代码,我一直在尝试我在研究中找到的代码,但没有任何帮助,这就是我删除它的原因。
我怀疑你的quantity-field是你table中的一个字段?
这是更改后的 SQL-Query.
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:
"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
我有一个名为 AddU.text 的文本框,我还有一个名为 Quantity 的 msaccess table 字段,我想要的是当我在 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
实际上我仍然没有代码,我一直在尝试我在研究中找到的代码,但没有任何帮助,这就是我删除它的原因。
我怀疑你的quantity-field是你table中的一个字段? 这是更改后的 SQL-Query.
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:
"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