2015-11-03 3 views
0

Я пытаюсь создать страницу ASP.NET, которая позволит кому-то выбрать банку, запах и цвет из выпадающих списков на странице. Выпадающие списков заполняются из таблиц базы данных для этого примера:Вычитание количества из базы данных на основе выпадающих списков ASP.NET

Jars.dbo Jar Количество - Статус Jar 20 ОН (держит .5 унции аромата и .5 чипа красителя)

Scents.dbo Scent Количество - Beachwood 100 унц OH

и

Dyes.dbo Цвет Количество - Красный 20 стружка OH

Теперь я хочу, чтобы пользователь мог выбирать значения из выпадающих списков, чтобы сделать свой собственный заказный порядок свечей. Исходя из их выбора, количество аромата или красителя будет варьироваться. Однако я хочу вычесть эту сумму из базы данных, чтобы сохранить инвентарь в актуальном состоянии. Я пытаюсь выяснить, как связать базы данных вместе. Я думал использовать идентификатор заказа, который будет сгенерирован в полном порядке, но это не будет работать, потому что я не могу заполнить базу данных, оставив первичный ключ null. Итак, у этого вопроса есть несколько частей, всякая помощь очень ценится.

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