Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 存储过程需要传递的参数_Sql_Sql Server_Sql Server 2008 - Fatal编程技术网

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();