am also working on a site that will handle real money. I was having a little hard time determining why the users don’t get their money back if the bet (a bets site) is cancelled
In the CancelBet stored procedure (T-SQL) :
..
UPDATE Account
SET Amount = Account.Amount + BB.Amount
FROM BetBettings BB
INNER JOIN BetOutcomes BO ON BB.BetOutcomesId = BO.BetsId
WHERE BO.BetsId = @BetId
AND Account.UserId = BB.UserId
…
The bold-underlined text fragment should have been "BO.Id". A very small slip-up but enough to not trigger any automatic checking in Microsoft SQL Server Management Studio 2008 and enough to have the users cry out loud : “FRAUUUD”.
The site is not live yet, so no user has been hurt during the experiment. However anyone wouldn’t have believed me that this error in favor of the site was not intentional … they would have said something like “how convenient…”.
dc7af88b-6c97-4901-b094-eb80c9b7f3d4|1|2.0