获取vb.net中文本框中输入的列和值之和
我有一个名为AddU.text的文本框,还有一个名为Quantity的msaccess表字段,我想要的是,当我在AddU.text中输入一个值并单击add按钮时,我输入的值将自动添加到Quantity中的现有值。我一直在寻找解决方案,但找不到合适的。有人能帮我吗?这是我目前的密码:获取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()
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
替换为CDblDim 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查询。