您好我正在研究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倍。
但是当我运行上面的代码时,它总是只保存最后的结果,即第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
答案 0 :(得分:0)
只需输入orderdata.SaveChanges();在你的循环外面。