Sql 存储过程需要传递的参数
从以下代码中,我得到一个错误,即未提供Sql 存储过程需要传递的参数,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,从以下代码中,我得到一个错误,即未提供@StartDate,但是单步执行两个日期范围参数具有有效值: SqlParameter[] ps = new SqlParameter[] { new SqlParameter("@StartDate", startDate), new SqlParameter("@EndDate", endDate) }; List<AttendanceReportViewModel> res = db.Database.SqlQuery&
@StartDate
,但是单步执行两个日期范围参数具有有效值:
SqlParameter[] ps = new SqlParameter[]
{
new SqlParameter("@StartDate", startDate),
new SqlParameter("@EndDate", endDate)
};
List<AttendanceReportViewModel> res = db.Database.SqlQuery<AttendanceReportViewModel>(Local.queries["AttendanceReport"], ps).ToList();
return res;
当我在SQL Server Management Studio中执行存储过程时,一切正常,但不是从应用程序内部执行。如果您的
本地查询[“AttendanceReport”]
如下所示:
Local.queries["AttendanceReport"] = "yourProc @StartDate, @EndDate"
然后试试这个:
List<AttendanceReportViewModel> res = db.Database.SqlQuery<AttendanceReportViewModel(
Local.queries["AttendanceReport"],
new SqlParameter("StartDate", startDate),
new SqlParameter("EndDate", endDate)
).ToList();
List res=db.Database.sqlquery您要引用的参数类型是什么?两个参数都是DateTime
TSQL和.NET角度?是的,我会发布证明。这本书可能重复,谢谢。我的参数之间也少了一个逗号。
List<AttendanceReportViewModel> res = db.Database.SqlQuery<AttendanceReportViewModel(
Local.queries["AttendanceReport"],
new SqlParameter("StartDate", startDate),
new SqlParameter("EndDate", endDate)
).ToList();