MVC 5 調用存儲過程參數配置方法-Procedure or function 'UP_***' expects parameter '@****', which was not supplied.


MVC 5 調用存儲過程參數配置方法-Procedure or function 'UP_***' expects parameter '@****', which was not supplied.

通過Database.SqlQuery調用SQL2016的存儲過程,傳入參數,返回結果集合。總是報如下錯誤

Msg 201, Level 16, State 4, Procedure UP_***, Line 0 [Batch Start Line 15]
Procedure or function 'UP_***' expects parameter '@****', which was not supplied.

 總結如下:

 

1.調用的參數sql里除了包括存儲過程外,還需要包含參數的名稱

2.參數的順序必須要和存儲過程里參數的順序一模一樣,否則就會報錯。(參數名稱可以和存儲過程里的名稱可以不一樣,順序必須一模一樣,數據庫sp_executesql是通過參數順序來匹配的,而不是參數的名稱來匹配)

string sql = @" UP_存儲過程名稱  @參數1,@參數2,@參數3,@參數4";
            var sqlParams = new SqlParameter[] {
                new SqlParameter("@參數1", 2),
                new SqlParameter("@參數2", 1),
                new SqlParameter("@參數3", 50),
                new SqlParameter("@參數4", 1))
            };
          
            return View(db.Database.SqlQuery<Poesy>(sql, sqlParams).ToList());

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM