过程或函数spAddStudent指定了太多参数

本文关键字:太多 参数 函数 spAddStudent 过程 | 更新日期: 2023-09-27 18:17:04

我使用visual studio 2010 ultimate with SQL Server 2012,当我第一次点击保存按钮时,它工作得很好,但在改变值后,它显示上述例外。我没能解决这个问题。请帮帮我。

感谢Abdul Muttalib

    public int AddStudent(StudentManager studentManager)
    {
        try
        {
            sqlCom.Connection = sqlCon;
            sqlCon.Open();
            sqlCom.CommandType = CommandType.StoredProcedure;
            sqlCom.CommandText = "spAddStudent";
            sqlCom.Parameters.AddWithValue("@Name", studentManager.Name);
            sqlCom.Parameters.AddWithValue("@Father", tudentManager.Father);
            sqlCom.Parameters.AddWithValue("@Gender", tudentManager.Gender);
            sqlCom.Parameters.AddWithValue("@Religion", studentManager.Religion);
            sqlCom.Parameters.AddWithValue("@MotherTongue", studentManager.Tongue);
            sqlCom.Parameters.AddWithValue("@BirthDate", studentManager.BrithDate);
            sqlCom.Parameters.AddWithValue("@Class", studentManager.StudentClass);
            sqlCom.Parameters.AddWithValue("@Section", studentManager.Section);
            sqlCom.Parameters.AddWithValue("@Shift", studentManager.Shift);
            sqlCom.Parameters.AddWithValue("@RollNo", studentManager.RollNo);
            sqlCom.Parameters.AddWithValue("@Fee", studentManager.Fee);
            sqlCom.Parameters.AddWithValue("@FatherOccupation", studentManager.FatherOccupation);
            sqlCom.Parameters.AddWithValue("@FatherCNIC", studentManager.Cnic);
            sqlCom.Parameters.AddWithValue("@AddWithValueressRes", studentManager.AddressRes);
            sqlCom.Parameters.AddWithValue("@PhoneRes", studentManager.PhoneRes);
            sqlCom.Parameters.AddWithValue("@PhoneOff", studentManager.PhoneOff);
            sqlCom.Parameters.AddWithValue("@Mobile", studentManager.Mobile);
            sqlCom.Parameters.AddWithValue("@PostalCode", studentManager.PostalCode);
            sqlCom.Parameters.AddWithValue("@Email", studentManager.Email);
            sqlCom.Parameters.AddWithValue("@OtherInfo", studentManager.OtherInfo);
            int i = sqlCom.ExecuteNonQuery();
            sqlCon.Close();
            return i;                
        }
        catch (Exception ex)
        {
            throw ex;
        }           
    }       
}      

}输入图像描述

过程或函数spAddStudent指定了太多参数

您可以通过在AddStudent开始时调用sqlCom.Parameters.Clear()来解决这个问题,以防止在调用该方法时积累冗余参数。此外,使用AddWithValue很容易也很常见,但它可能会有问题。