[ad_1]
こんにちは Everybuddy 私はゲームアプリケーションに取り組んでいます…! そして、C#コードで変換ストアドプロシージャが必要です..! 作ってみたけど出来なかった…! 私のコードがフォローされているのを助けてください…..!
注:- My Application でこの手順を呼び出したくありません..! この手順を C# に変換するだけです。
SQL
set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go ALTER PROCEDURE [dbo].[CancelRegistrations] @mTourID numeric(18, 0) , @MoneyType char(1) AS DECLARE @Credit float, @TicketNo varchar(10), @username varchar(30), @TicketTourID numeric(18,0), @userId int, @pIP nvarchar(15), @realmoney float, @skinid int BEGIN DECLARE CANCREG_CUR CURSOR FOR SELECT Nickname,Credit,TicketNo,skinid FROM tblRegistration WHERE TournamentID = @mTourID ORDER BY RegID OPEN CANCREG_CUR FETCH NEXT FROM CANCREG_CUR INTO @username,@Credit,@TicketNo,@skinid WHILE @@FETCH_STATUS = 0 BEGIN SELECT @userId=isnull(UserID,0),@realmoney=realmoney FROM tblUsers WHERE nickname=@username and skinid=@skinid IF @TicketNo != '' BEGIN SELECT @TicketTourID=TournamentID FROM tblTickets WHERE TicketNo=@TicketNo IF @TicketTourID = 0 BEGIN UPDATE tblTickets SET Status='V' WHERE TicketNo=@TicketNo END INSERT INTO tblTransMaster(UserID,TransDate,TransMode,Amount, Source,Details,IP,realmoney,CReason,currencysign) VALUES(@userId ,getdate(),'D',0,'TEXAS MTT SERVER', 'UNREGISTERED FROM TOURNAMENT - ' + Convert(varchar,@mTourID) + ' DUE TO TOURNAMENT CANCELLATION', @pIP ,@realmoney,'TOURNAMENT CANCELLED','TICKET') DELETE FROM tblRegistration WHERE nickname=@username and skinid=@skinid END ELSE IF @MoneyType='R' BEGIN UPDATE tblUsers SET RealMoney=RealMoney + @Credit WHERE nickname=@username and skinid=@skinid INSERT INTO tblTransMaster(UserID,TransDate,TransMode,Amount, Source,Details,IP,realmoney,CReason,currencysign) VALUES(@userId ,getdate(),'D',@Credit,'TEXAS MTT SERVER', 'UNREGISTERED FROM TOURNAMENT - ' + Convert(varchar,@mTourID) + ' DUE TO TOURNAMENT CANCELLATION', @pIP ,@realmoney,'TOURNAMENT CANCELLED','CASH') DELETE FROM tblRegistration WHERE nickname=@username and skinid=@skinid END ELSE BEGIN UPDATE tblUsers SET PlayMoney=PlayMoney + @Credit WHERE nickname=@username and skinid=@skinid DELETE FROM tblRegistration WHERE nickname=@username and skinid=@skinid END FETCH NEXT FROM CANCREG_CUR INTO @username,@Credit,@TicketNo END CLOSE CANCREG_CUR DEALLOCATE CANCREG_CUR END
解決策 1
C# に変換するのは難しくありません。try-catch ブロックでトランザクションを開始し、テストをローカルで処理しながら各ステートメントを一度に 1 つずつ実行するだけです。 最後まで到達したら、トランザクションをコミットします。
試してみてください – 難しいことではありません!
解決策 4
CREATE PROCEDURE GetTotalWorkingHoursForWeek
@StartDate 日付、
@EndDate 日付
として
始める
SELECT SUM(時間 + 分 / 60.0) AS TotalWorkingHours
FROM TimesheetRecords
WHERE 日付 >= @StartDate AND 日付 <= @EndDate
終わり
[ad_2]
コメント