Помогите с хранимой процедруой на T-SQL в WindowsForms (ado.net)
У меня есть задание:
Осуществлять продажу изданий магазинам; Обеспечить наличие в одном заказе разных изданий в заданном количестве;
В первой части задания нужно осуществить прадажу изданий магазинам т.е у меня есть ComboBox
в котором я выбираю покупателя (магазин) далее еще ComboBox
для выбора издания (title) и другие ComboBox'ы. Далее по кнопке ПРОДАТЬ у меня выполняется процедура, которая заносит в таблицу sales эту самую продажу.
Хранимая процедура:
CREATE PROCEDURE InsertSalesOrder
@stor_name VARCHAR(40),
@title_name VARCHAR(80),
@qty SMALLINT,
@payterms VARCHAR(12)
AS
BEGIN
SET NOCOUNT ON;
DECLARE @stor_id CHAR(4);
DECLARE @title_id CHAR(6);
DECLARE @ord_num VARCHAR(20);
DECLARE @ord_date DATETIME;
SET @ord_date = GETDATE();
SELECT @stor_id = stor_id
FROM stores
WHERE stor_name = @stor_name;
SELECT @title_id = title_id
FROM titles
WHERE title = @title_name;
SET @ord_num = LEFT(CONVERT(VARCHAR(36), NEWID()), 10);
IF @stor_id IS NOT NULL AND @title_id IS NOT NULL
BEGIN
INSERT INTO sales (stor_id, ord_num, ord_date, qty, payterms, title_id)
VALUES (@stor_id, @ord_num, @ord_date, @qty, @payterms, @title_id);
UPDATE titles
SET ytd_sales = ytd_sales + @qty
WHERE title_id = @title_id;
SELECT 'Заказ успшно добавлен' AS [Result];
END
ELSE
BEGIN
IF @stor_id IS NULL
SELECT 'Магазин с указанным названием донт найден' AS [Result];
IF @title_id IS NULL
SELECT 'Издание с указанным названием донт найдено' AS [Result];
END
END
Но так же мне еще нужно выполнить вторую часть задания:
Обеспечить наличие в одном заказе разных изданий в заданном количестве;
В одном заказе обеспечить наличие нескольких изданий. Номера заказа ord_num
(№ Задания) он у меня сам генерируется в процедуре.
Так вот как можно это сделать ? У меня была идея сделать так что бы при повторном нажатие на кнопку ПРОДАТЬ у меня выполнилась еще одна продажа и ее результат вывелось в DataGridView
второй строкой, но при повторном нажатии уже будет не старый номер заказа, а новый сгенерированный.