0

我想向这个存储过程传递一个参数:

ALTER PROCEDURE [USP_SelectProject]
-- Add the parameters for the stored procedure here

@ProjectNumber as int

AS
BEGIN
if @ProjectNumber is null 
begin
select * from tbl_projects
end
else
begin
SELECT * from tbl_projects where ProjectID = @ProjectNumber
end
End

这是.net代码

SqlConnection PTConn = new SqlConnection(ConfigurationManager.ConnectionStrings["Project_Tracker"].ConnectionString);
SqlCommand PTCmd = new SqlCommand("USP_SelectProject", PTConn);
PTCmd.CommandType = CommandType.StoredProcedure;
SqlDataAdapter PTda = new SqlDataAdapter(PTCmd);
PTda.SelectCommand.Parameters["@ProjectNumber"].Value = DBNull.Value;
DataSet PTds = new DataSet();
PTda.Fill(PTds);

        GridView1.DataSource = PTds;
        GridView1.DataBind();

我收到以下错误:此参数不包含带有 ParameterName '@ProjectNumber' 的 SqlParameter

4

1 回答 1

0

您必须先Add()输入参数。

SqlParameter p = PTda.SelectCommand.Parameters.Add("@ProjectNumber", DbType.Int);
p.Value = DBNull.Value;
于 2014-05-14T15:15:46.410 回答