【发布时间】:2020-03-30 17:57:21
【问题描述】:
我收到此错误:
执行命令定义时出错。详情见内部异常
SqlException:过程或函数 SP_WEB_MS3DailyReport_DailyEquipmentDeviation_SelectByDate 指定的参数过多。
我的代码:
ALTER PROCEDURE [dbo].[SP_WEB_MS3DailyReport_NonBuilDeviation_SelectByDate]
(@FromDate datetime,
@EndDate datetime)
AS
BEGIN
SELECT
JobHead,
ISNULL(MeasurementPlanned, 0) AS MeasurementPlanned,
CASE
WHEN Deviation IS NULL THEN CONVERT(Numeric(18, 2), 0)
ELSE CONVERT(Numeric(18, 2), MeasurementReport)
END AS MeasurementReport,
CASE
WHEN MeasurementReport IS NULL THEN -(MeasurementPlanned)
ELSE Deviation
END AS Deviation,
CASE
WHEN MeasurementPlanned IS NULL AND Deviation > 0 THEN 'btn-info'
WHEN Deviation = 0 THEN 'btn-primary'
WHEN Deviation > 0 THEN 'btn-success'
WHEN Deviation < 0 THEN 'btn-danger'
WHEN Deviation IS NULL THEN 'btn-warning'
END AS Indicater,
ProjectSiteName, ProjectSiteID
FROM
(SELECT
DailyNonBuildReviewDeviation.[JobHead],
CONVERT(Numeric(18, 2), NextDayNonBuildPlan.Measurement) AS MeasurementPlanned,
CONVERT(Numeric(18, 2), DailyNonBuildReport.Measurement) AS MeasurementReport,
CONVERT(Numeric(18, 2), DailyNonBuildReviewDeviation.Measurement) AS Deviation,
ProjectSiteName, DailyNonBuildReviewDeviation.ProjectSiteID
FROM
DailyNonBuildReviewDeviation
LEFT JOIN
NextDayNonBuildPlan ON DailyNonBuildReviewDeviation.NextDayNonBuildPlanID = NextDayNonBuildPlan.NextDayNonBuildPlanID
LEFT JOIN
[DailyNonBuildReport] ON DailyNonBuildReviewDeviation.DailyNonBuildReportID = DailyNonBuildReport.DailyNonBuildReportID
INNER JOIN
ProjectSites ON ProjectSites.ProjectSiteID = DailyNonBuildReviewDeviation.ProjectSiteID
WHERE
[DayOFDeviation] BETWEEN CONVERT(date, @FromDate) AND CONVERT(date, @EndDate))AA
GROUP BY
ProjectSiteName, ProjectSiteID, JobHead,
MeasurementPlanned, MeasurementReport, Deviation
END
【问题讨论】:
-
将代码发布到不同的存储过程没有帮助。但这里的问题在于您的应用程序代码 - 您没有发布。
-
旁注:您应该不为您的存储过程使用
sp_前缀。微软有reserved that prefix for its own use (see Naming Stored Procedures),你确实会在未来某个时候冒着名称冲突的风险。 It's also bad for your stored procedure performance。最好只是简单地避免sp_并使用其他东西作为前缀 - 或者根本不使用前缀! -
这与 C# 和实体框架有什么关系?
-
从此代码调用此存储过程 }`
-
请edit您的问题,而不是在 cmets 中发布代码。另外,请确保代码不包含黑框(如
Obj.SP_WEB_MS3DailyReport_NonBuilDeviation_SelectByDate)。
标签: c# sql-server entity-framework-6