Try:
cmd.Parameters.AddWithValue("@PaymentDate", dtpPaymentDate.Value);
And tie your parameter names to the names you give in the SQL.
These don't match:
VALUES (@d1,@d2,@d3,@d4,@d5,@d6,@d7,@d8,@d9,@d10,@d11,@d12,@d13,d14)
They should be
VALUES (@FeePayementID, @AdmissionNo, @StudentName, @Class, ...
To match the parameters:
cmd.Parameters.AddWithValue("@FeePayementID", FeePaymentID.Text);
cmd.Parameters.AddWithValue("@AdmissionNo", txtAdmissionNo.Text);
cmd.Parameters.AddWithValue("@StudentName", txtStudentName.Text);
cmd.Parameters.AddWithValue("@Class", txtclass.Text);
...