Asp.net mvc 如何每次调用for循环内部的存储过程并将结果存储在数据库中
嗨,我正在从事ASP.NETMVC项目。这是我的代码:Asp.net mvc 如何每次调用for循环内部的存储过程并将结果存储在数据库中,asp.net-mvc,database,stored-procedures,Asp.net Mvc,Database,Stored Procedures,嗨,我正在从事ASP.NETMVC项目。这是我的代码: 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].Substr
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();
}
只需放置orderdata.SaveChanges();循环的外部。write orderdata.SaveChanges();不适合lop@AyushmanAshish我尝试了这个方法,但它仍然只保存最后一个结果。这意味着,您没有插入写入数据,在插入循环之前检查数据是否已更改?试着打印你想要保存的数据?@AyushmanAshish我认为它可以正确打印所有结果。我签入了调试,我可以看到循环中的所有结果,但不知道为什么只取存储过程中的最后一个。我已经更新了我的存储过程代码,你能看一下吗?制作一个saperate方法来插入数据,并在循环内调用该方法,它肯定会工作,每次插入新值时都会确保插入代码工作正常..嗨,我尝试在循环外保存orderdata,但它仍然在保存最后一个结果。您能告诉我什么是uspApp\u InsertScheduler吗?嗨,这是我的存储过程。请看一下我的帖子,我已经更新了我的存储过程代码。
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