簡體   English   中英

如何每次都在for循環中調用存儲過程並將結果存儲在數據庫中

[英]How can I call stored procedure inside for loop everytime and store results in Database

嗨,我正在ASP.NET MVC項目上。 這是我的代碼:

        string[] dt1;
            for (int ic = 0; ic < dt.Count() - 1; ic++)
            {
             dt1 = new string[3];
             dt1 = dt[ic].Split('|');

           var date = Convert.ToDateTime(dt1[0].Substring(0, dt1[0].IndexOf("GMT")).Trim()).ToShortDateString();
           var time = Convert.ToDateTime(dt1[0].Substring(0, dt1[0].IndexOf("GMT")).Trim()).ToShortTimeString();
          //Calling Stroed Procedure
        var schedulesp = orderdata.uspApp_InsertScheduler(Convert.ToInt32(outputresults), newid, Name, Convert.ToDateTime(date),time);
                orderdata.SaveChanges();

            }

我在這里瀏覽日期和時間。 每當我遍歷日期和時間時,我都需要插入新記錄,這是我需要插入記錄的5倍。

但是,當我運行上述代碼時,它總是只保存最后的結果,即第五個結果。

那么如何將所有結果保存到數據庫中呢?

更新:這是存儲過程代碼:

     ALTER PROCEDURE [dbo].[uspApp_InsertScheduler]


@ID int = 0,
@UserID int = 0,
@ReportName nvarchar(50) = 0,
@ScheduleStartDate date,
@SchedulestartTime nvarchar(10) = 0

          AS
         BEGIN


IF EXISTS (SELECT * FROM App_ReportsScheduler where id = @ID )
BEGIN 
UPDATE App_ReportsScheduler
SET 
reportName = @ReportName, schedule_StartDate = @ScheduleStartDate, schedule_starttime = @SchedulestartTime
where id = @ID
END
ELSE
BEGIN
  INSERT INTO App_ReportsScheduler (ID, UserID, reportName,schedule_StartDate,schedule_starttime)
values ( @ID, @UserID,@ReportName,@ScheduleStartDate,@SchedulestartTime)
END
END 
     GO

只需輸入orderdata.SaveChanges(); 在循環之外

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM