Ošetření součtem před zápisem do SQL DB v ASP.NET
Napsal: 28 úno 2012 14:58
Zdravím vespolek,
Potřebuji ošetřit formulář tak, aby uživatelé, kteří se zapisují dali v součtu 100%. (jedná se o rozdělení celku, například Pepa 25%, Franta 75%). Jedná se o zápis v danou chvíli oběma, tzn. že jsou u PC oba a domluví se na rozložení procent.
Vzhledem k tomu, že uživatelé nebudou vždy 2, nejde toto ošetřit předem daným počtem buněk.
Proto jsem chtěl použít postupné přidávání záznamů do DB, s tím, že budu před zápisem kontrolovat součet.
Tzn. políčko jméno, políčko procenta, tlačítko zapiš, pod tím GridWiev se seznamem zapsaných lidí.
Nevím však jak ošetřit právě těch 100%. Napadly mě tyto možnosti:
1.Zkoušel jsem to pomocí Stored Procedure, to se mi však nedaří.
2.Nevím zda a jak mohu pomocí kódu, vyčíst z GridWiev jednotlivé záznamy a následně to ošetřit před zápisem.
Přikládám proceduru kterou jsem vytvořil, prosím, mohl by někdo kouknout co s ní?
Nekontroluje mi horní hranici
ALTER PROCEDURE dbo.StoredProcedureIncludeGroup
@Percent tinyint,
@Group varchar(15),
@SUMPercent tinyint,
@IDNumber varchar(15)
AS
set @SUMPercent = (SELECT SUM(Percent) AS SUMPercent FROM TableGroup WHERE (Group = @Group))
IF ( @SUMPercent < 100) BEGIN
IF ( @SUMPercent + @Percent <= 100) BEGIN
INSERT INTO TableGroup(Group, IDNumber, Percent) VALUES (@Group, @IDNumber, @Percent)
END ELSE BEGIN
INSERT INTO TableGroup(Group, IDNumber, Percent) VALUES (@Group, @IDNumber, 100-@SUMPercent)
END
END
RETURN
S díky Karel
Potřebuji ošetřit formulář tak, aby uživatelé, kteří se zapisují dali v součtu 100%. (jedná se o rozdělení celku, například Pepa 25%, Franta 75%). Jedná se o zápis v danou chvíli oběma, tzn. že jsou u PC oba a domluví se na rozložení procent.
Vzhledem k tomu, že uživatelé nebudou vždy 2, nejde toto ošetřit předem daným počtem buněk.
Proto jsem chtěl použít postupné přidávání záznamů do DB, s tím, že budu před zápisem kontrolovat součet.
Tzn. políčko jméno, políčko procenta, tlačítko zapiš, pod tím GridWiev se seznamem zapsaných lidí.
Nevím však jak ošetřit právě těch 100%. Napadly mě tyto možnosti:
1.Zkoušel jsem to pomocí Stored Procedure, to se mi však nedaří.
2.Nevím zda a jak mohu pomocí kódu, vyčíst z GridWiev jednotlivé záznamy a následně to ošetřit před zápisem.
Přikládám proceduru kterou jsem vytvořil, prosím, mohl by někdo kouknout co s ní?
Nekontroluje mi horní hranici

ALTER PROCEDURE dbo.StoredProcedureIncludeGroup
@Percent tinyint,
@Group varchar(15),
@SUMPercent tinyint,
@IDNumber varchar(15)
AS
set @SUMPercent = (SELECT SUM(Percent) AS SUMPercent FROM TableGroup WHERE (Group = @Group))
IF ( @SUMPercent < 100) BEGIN
IF ( @SUMPercent + @Percent <= 100) BEGIN
INSERT INTO TableGroup(Group, IDNumber, Percent) VALUES (@Group, @IDNumber, @Percent)
END ELSE BEGIN
INSERT INTO TableGroup(Group, IDNumber, Percent) VALUES (@Group, @IDNumber, 100-@SUMPercent)
END
END
RETURN
S díky Karel