【问题标题】:updating database when a product has been deducted扣除产品后更新数据库
【发布时间】:2016-12-19 13:11:52
【问题描述】:

大家好! 在我的数据库中扣除我的产品数量时遇到问题 这是我的代码..

Dim intQty As Integer
Dim que As String

intQty = Convert.ToInt32(enterqtyfrm.txtqty.Text)

que = "UPDATE db_product SET Qty = Qty - '" & intQty & "' WHERE itemsName = '" & Home.lblOrderName.Text & "'"

提前致谢!

【问题讨论】:

  • "I'm encountering a problem" - 这不是特别的描述性。或许您可以告诉我们这个问题是什么? (当然,除了您拥有的 SQL 注入漏洞。)
  • 什么问题???
  • 它没有扣除我数据库中的数量
  • 去掉inQty之间的单引号。这是一个数字而不是字符。
  • 听起来像(必须猜)enterqtyfrm.txtqty.Text 不是数字或整数

标签: mysql vb.net


【解决方案1】:

这里有两个不同的问题,第一个是你试图将一个整数连接成一个字符串。 2、你的减量sql语法不正确。您无需将数字转换为整数即可将其添加到 sql 命令中,并且您必须丢失单引号:

If IsNumeric(enterqtyfrm.txtqty.Text) Then
    Dim que As String = "UPDATE db_product SET Qty = Qty - " & enterqtyfrm.txtqty.Text & " WHERE itemsName = '" & Home.lblOrderName.Text & "'"
    'execute que
End If

旁注:出于多种原因,在您的 sql 中使用参数是最佳实践,因此我建议您学习如何做到这一点……有很多关于如何做到这一点的 SO 帖子。此外,最好为连接到您的 sql 字符串中的值添加一些验证,因为用户可以键入各种会破坏语句的不同内容。

【讨论】:

    猜你喜欢
    • 2021-09-03
    • 2012-04-10
    • 2017-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多