2015-11-03 32 views
0

我正在嘗試構建一個ASP.NET頁面,該頁面允許某人從頁面上的下拉列表中選擇一個罐子,氣味和顏色。下拉列表下拉從數據庫表填充在這個例子中:根據下拉列表從數據庫庫存中減去數量ASP.NET

Jars.dbo罐數量 - 狀態罐20 OH(保持0.5盎司香味和0.5染料芯片)

Scents.dbo 香味 數量 - 奇伍德100盎司OH

Dyes.dbo 顏色 數量 - 紅20個芯片OH

現在,我希望用戶能夠從下拉列表中選擇值,以使其具體的自定義蠟燭順序。根據他們對罐子的選擇,氣味或染料的數量將會變化。但是我想從數據庫中減去這個數量,以便保持最新的庫存。我想弄清楚如何將數據庫鏈接在一起。我正在考慮使用一個訂單ID,將在一個完整的訂單生成但是這不會工作,因爲我不能填充數據庫,而主鍵爲空。所以這個問題有幾個部分,任何和所有的幫助是非常讚賞你們都。

1)如何獲取數據庫減去基於罐子的氣味或染料的數量?

2)如何鏈接進入蠟燭的材料(即氣味,染料,罐子,燈芯)的數據庫表,什麼是我卡住的主鍵。

回答

0

爲什麼你在不同的數據庫中有這些表?無論如何,你有正確的想法。當您提交訂單(您有訂單編號)時,只需按訂購數量減少數量表中的數量。

事情是這樣的 - 可能是一個好主意,把這個存儲過程:

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