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

时间:2015-10-09 22:41:00

标签: c#

我正在使用Visual Studio 2010终极版与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;
        }           
    }       
}      

} enter image description here

1 个答案:

答案 0 :(得分:0)

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