根据下拉列表ASP.NET

时间:2015-11-03 23:07:28

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

我正在尝试构建一个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)如何链接作为蜡烛材料的数据库表(即气味,染料,罐子,灯芯),什么是可以工作的主键我卡住了。

1 个答案:

答案 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