【问题标题】:Subtract quantity from database inventory based on drop down lists ASP.NET根据下拉列表 ASP.NET 从数据库库存中减去数量
【发布时间】:2015-11-03 23:07:28
【问题描述】:

我正在尝试构建一个 ASP.NET 页面,该页面将允许某人从页面上的下拉列表中选择罐子、气味和颜色。下拉列表是从本示例的数据库表中填充的:

Jars.dbo 罐子数量 - Status Jar 20 OH(可容纳 0.5 盎司香水和 0.5 染料片)

气味.dbo 香味 数量 - 比奇伍德 100 盎司 OH

染料.dbo 颜色 数量-红20片哦

现在我希望用户能够从下拉列表中选择值来制作他们特定的自定义蜡烛订单。根据他们对罐子的选择,香味或染料的数量会有所不同。但是,我想从数据库中减去该数量,以便使库存保持最新。我试图弄清楚如何将数据库链接在一起。我正在考虑使用将以完整订单生成的订单 ID,但这不起作用,因为我无法在主键为空的情况下填充数据库。所以这个问题有几个部分,非常感谢你们的任何帮助。

1) 如何获取数据库以根据罐子减去气味或染料的数量?

2)如何链接作为进入蜡烛的材料(即香味、染料、罐子、灯芯)的数据库表,什么是可以工作的主键我被卡住了。

【问题讨论】:

    标签: mysql asp.net sql-server database visual-studio


    【解决方案1】:

    为什么在不同的数据库中有这些表?无论如何,你有正确的想法。提交订单后(您有订单 ID),只需将数量表中的数量减去订购的数量即可。

    类似这样的东西 - 将它放在存储过程中可能是个好主意:

    INSERT INTO Orders(JarId, ScentId, ColorId, JarQty, ScentQty, ColorQty....)
    VALUES(@jarIdOrdered, @scentIdOrdered, @colorIdOrdered, @jarQty, @scentQty, @colorQty...)
    
    UPDATE Jar SET Quantity = Quantity - @jarQty
    WHERE JarId = @jarIdOrdered
    
    UPDATE Scent SET Quantity = Quantity - @scentQty
    WHERE ScentId = @scentIdOrdered
    
    UPDATE Color SET Quantity = Quantity - @colorQty
    WHERE ColorId = @colorIdOrdered
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-07
      • 1970-01-01
      • 2014-12-25
      • 1970-01-01
      • 2013-09-04
      相关资源
      最近更新 更多