更新 table 的简单存储过程找不到参数

a simple stored procedure to update table couldnt find parameter

我有一个 table 和一个更新 table.Here 几列的存储过程是存储过程:

   Create proc spReg
   @UserId nvarchar(10),
   @Experience nvarchar(5),
   @Timings nvarchar(10),
   @Notes nvarchar(max),
   @PrefferedState nvarchar(20),
   @PrefferedCity nvarchar(20),
   @ResumePath varchar(256)
   as
   begin
   Update tblRegCoachTrainers Set Experience=@Experience,Timings=@Timings,Notes=@Notes,PrefferedState=@PrefferedState,PrefferedCity=@PrefferedCity,ResumePath=@ResumePath where UserId=@UserId;
   end

以及相同的代码隐藏:

  string CS = ConfigurationManager.ConnectionStrings["SportsActiveConnectionString"].ConnectionString;
        using (SqlConnection con = new SqlConnection(CS))
        {
            con.Open();
            SqlCommand cmd = new SqlCommand("spReg", con);
            cmd.Parameters.AddWithValue("@UserId", txtUserId.Text);
            cmd.Parameters.AddWithValue("@Experience", ddlExperience.SelectedItem.Text);
            cmd.Parameters.AddWithValue("@Timings", ddlPartime.SelectedItem.Text);
            cmd.Parameters.AddWithValue("@Notes", txtNotes.Text);
            cmd.Parameters.AddWithValue("@PrefferedState", ddlState.SelectedItem.Text);
            cmd.Parameters.AddWithValue("@PrefferedCity", ddlCity.SelectedItem.Text);
            cmd.Parameters.AddWithValue("@ResumePath", "/Attachments/" + hfResumePath.Value);
            cmd.ExecuteNonQuery();
            lblRegMessage.Text = "Your profile was created successfully.";
        }

我通过放置一个断点来调试程序,所有必要的值都传递给它们各自的 parameters.It 仍然在

处抛出异常
    cmd.ExecuteNonQuery();

错误消息:'spReg' 需要未提供的参数“@UserId”。

默认为文本命令类型,添加:

cmd.CommandType = CommandType.StoredProcedure;