【发布时间】:2016-12-11 22:17:03
【问题描述】:
我遇到了错误
System.Data.SqlClient.SqlException:过程或函数“GetActiveComissions”需要参数“@param1”,但未提供。
在代码行da.Fill(dt) 上。当我尝试基于存储过程将数据绑定到我的 GridView 时,清楚地提供了参数。
代码:
ApplicationDbContext context = new ApplicationDbContext();
var UserManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(context));
string user = User.Identity.GetUserId();
string storedprocedure = "GetActiveComissions";
SqlConnection cn = GetSqlCon.GetCon();
DataTable dt = new DataTable();
SqlCommand cmd = new SqlCommand(storedprocedure, cn);
cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@param1", user);
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dt);
GridViewActiveComissions.DataSource = dt;
GridViewActiveComissions.DataBind();
我会以错误的方式传递参数吗?
存储过程:
CREATE PROCEDURE [dbo].[GetActiveComissions]
@param1 nvarchar(128)
AS
SELECT
Comissions.CreationDate, Comissions.Accepted,
Comissions.BicycleModel, Comissions.BicycleType,
Comissions.YearOfAquisition, Comissions.Details,
AspNetUsers.WorkshopName
FROM
Comissions
INNER JOIN
AspNetUsers ON Comissions.WorkshopId = AspNetUsers.Id
AND Comissions.Accepted = 1
AND Comissions.ClientId = @param1
RETURN 0
我已经单独测试了存储过程,如果提供了参数,它确实可以按预期工作。
【问题讨论】:
标签: c# asp.net sql-server stored-procedures gridview