2 回答
TA贡献1886条经验 获得超2个赞
问题是因为
cmd.Parameters.Add(new SqlParameter(parameters, SqlDbType.NVarChar));
正在创建一个参数,其名称为变量parameters中保存的任何值,即字符串值,"@StartingDate = '{startDate}', @EndingDate = '{endDate}'"因为这是您ExeSQLParamAndType使用以下代码传递的内容:
db.ExeSQLParamAndType("StoredProcedureCalc"
, parameters
, "@EmployeeGuidIdTableType"
,$"@StartingDate = '{startDate}', @EndingDate = '{endDate}'");
你需要创建两个参数,一个叫startDate,一个叫EndDate
cmd.Parameters.Add(new SqlParameter(startingDate, SqlDbType.NVarChar));
cmd.Parameters.Add(new SqlParameter(EndingDate , SqlDbType.NVarChar));
TA贡献1818条经验 获得超8个赞
C# DateTime 和 SQL Server DateTime 不兼容。您必须更改 SQL 表中的设置以使用 Datetime2 而不是 DateTime。您可以通过直接向数据库中带有 Datetime 字段的每个表发出 ALTER 语句或在 DbContext 类中添加一行命令来告诉实体框架专门为使用 DateTime 的所有类使用“datetime2”来实现此目的。
- 2 回答
- 0 关注
- 149 浏览
添加回答
举报