我当前有一个 ASP.NET MVC 应用程序尝试执行存储过程。
我的存储过程是这样的:
ALTER PROCEDURE [dbo].[_SelectFromQry]
@queryname NVARCHAR(255)
AS
BEGIN
SELECT TBLNAME, TBLCOL, TBLCOLLABEL, POSITION
FROM QRY
WHERE QUERYNAME = @queryname
END
在我的 Controller 中,我编写了如下代码:
var result = db.Database.SqlQuery<RESULT_FROM_QRY>("_SelectFromQry", new SqlParameter("queryname","INVAVAIL")).ToList();
当应用程序到达这一行时,我会得到一个
SqlCilent.SqlExcepction: procedure '_SelectFromQry' expects parameter '@queryname' which was not supplied.
我不确定我的代码是否正确调用了存储过程?
最佳答案
大概问题是您在 SqlParameter 构造函数中使用“queryname”而不是“@queryname”,即:
new SqlParameter("queryname","INVAVAIL")
应该是这样的:
new SqlParameter("@queryname","INVAVAIL")
关于c# - ASP.NET MVC 调用存储过程时未提供错误参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50458781/