我正在尝试构建一个ASP.NET页面,允许某人从页面上的下拉列表中选择jar,气味和颜色。下拉列表从此示例的数据库表中填充:
Jars.dbo Jar Quantity - 状态Jar 20 OH(含有.5盎司香味和.5染料芯片)
Scents.dbo 香味 数量 - 比奇伍德100盎司OH
和
Dyes.dbo 颜色 数量 - 红色20筹码OH
现在,我希望用户能够从下拉列表中选择值以进行特定的自定义蜡烛顺序。根据他们对罐子的选择,香味或染料的数量会有所不同。但是,我想从数据库中减去该数量,以便保持库存最新。我试图弄清楚如何将数据库链接在一起。我正在考虑使用将在完整订单生成的订单ID,但是这不会起作用,因为我无法填充数据库,同时保留主键为null。所以这个问题有几个部分,所有的帮助都非常感谢y所有。
1)如何让数据库根据罐子减去气味或染料的数量?
2)如何链接作为蜡烛材料的数据库表(即气味,染料,罐子,灯芯),什么是可以工作的主键我卡住了。
答案 0 :(得分:0)
为什么在不同的数据库中有这些表?无论如何,你有正确的想法。提交订单时(您有订单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