[ad_1]
現在のフォームの実行中に未処理の例外が発生しました。 エラーの詳細とコード内のどこで発生したかについては、スタック トレースを確認してください。
私に提案してください。
私が試したこと:
以下のコードで試しました。
private void btnSave_Click(object sender, EventArgs e) { try { if (txtAdmissionNo.Text == "") { MessageBox.Show("Please Select Student's AdmissionNo", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); txtAdmissionNo.Focus(); return; } Calculate1(); String ConnectionString = ConfigurationManager.ConnectionStrings["WinLogconn"].ConnectionString.ToString(); SqlConnection con = new SqlConnection(ConnectionString); string cb = @"INSERT INTO tbl_CourseFeePayment(FeePayementID,AdmissionNo,StudentName,Class,Section,SessionYear,PreviousDue,PaymentDate,ModeOfPayment,Fees,PaymentModeDetails,Fine,TotalPaid,CurrentDue)VALUES (@d1,@d2,@d3,@d4,@d5,@d6,@d7,@d8,@d9,@d10,@d11,@d12,@d13,d14)"; cmd = new SqlCommand(cb); cmd.Connection = con; cmd.Parameters.AddWithValue("@FeePayementID", FeePaymentID.Text); cmd.Parameters.AddWithValue("@AdmissionNo", txtAdmissionNo.Text); cmd.Parameters.AddWithValue("@StudentName", txtStudentName.Text); cmd.Parameters.AddWithValue("@Class", txtclass.Text); cmd.Parameters.AddWithValue("@Section", txtSection.Text); cmd.Parameters.AddWithValue("@SessionYear", txtSession.Text); cmd.Parameters.AddWithValue("@PreviousDue", txtPrevDue.Text); cmd.Parameters.AddWithValue("@PaymentDate", dtpPaymentDate.Text); cmd.Parameters.AddWithValue("@ModeOfPayment", txtModeOfPayment.Text); cmd.Parameters.AddWithValue("@Fees", txtFee); cmd.Parameters.AddWithValue("@PaymentModeDetails", txtPaymentModeDetails.Text); cmd.Parameters.AddWithValue("@Fees", txtFine.Text); cmd.Parameters.AddWithValue("@TotalPaid", txtTotalPaid.Text); cmd.Parameters.AddWithValue("@CurrentDue", txtCurentDueFees.Text); con.Open(); cmd.ExecuteNonQuery(); con.Close(); MessageBox.Show("Successfully saved", "Record", MessageBoxButtons.OK, MessageBoxIcon.Information); st1 = lblUser.Text; st2 = " ClassFee Payment Is Done admissionNo='" + txtAdmissionNo.Text + "' having PaymentID ='" + FeePaymentID.Text + "'"; btnSave.Enabled = false; btnPrint.Enabled = true; } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
解決策 1
試す:
cmd.Parameters.AddWithValue("@PaymentDate", dtpPaymentDate.Value);
そして、パラメータ名を SQL で指定した名前に結び付けます。
これらは一致しません:
VALUES (@d1,@d2,@d3,@d4,@d5,@d6,@d7,@d8,@d9,@d10,@d11,@d12,@d13,d14)
彼らはする必要があります
VALUES (@FeePayementID, @AdmissionNo, @StudentName, @Class, ...
パラメータを一致させるには:
cmd.Parameters.AddWithValue("@FeePayementID", FeePaymentID.Text); cmd.Parameters.AddWithValue("@AdmissionNo", txtAdmissionNo.Text); cmd.Parameters.AddWithValue("@StudentName", txtStudentName.Text); cmd.Parameters.AddWithValue("@Class", txtclass.Text); ...
解決策 4
string sql = “Insert into customers Values (@ID,@Cust_type,Cust_code@First_name,@Last_name,@Home_num,@Mobil_num@Adreaa,@Email,@Starting_balanc,@Trading_date,@DOB,@Currency_type,@Loyalty,@Note )”;
SqlCommand cmd = new SqlCommand(sql,con);
cmd.Connection = コン;
cmd.Parameters.AddWithValue(“@ID”,txtclientid.Text);
cmd.Parameters.AddWithValue(“@Cust_Type”, cbxindbus.SelectedValue);
cmd.Parameters.AddWithValue(“@Cust_Code”, txtcode.Text);
cmd.Parameters.AddWithValue(“@First_name”, txtfrstnam.Text);
cmd.Parameters.AddWithValue(“@Last_name”, txtlastnam.Text);
cmd.Parameters.AddWithValue(“@Home_num”, txthomenum.Text);
cmd.Parameters.AddWithValue(“@Mobil_num”, txtmobnum.Text);
cmd.Parameters.AddWithValue(“@アドレス”, txtaddress.Text);
cmd.Parameters.AddWithValue(“@Email”, txtemail);
cmd.Parameters.AddWithValue(“@Starting_balance”, txtstrbalnc.Text);
cmd.Parameters.AddWithValue(“@Trading_date”, dtpstartrd.Value.ToString(“yyyy/MM/dd “));
cmd.Parameters.AddWithValue(“@DOB”, dtpdob.Value.ToString(“yyyy/MM/dd”));
cmd.Parameters.AddWithValue(“@Currency_type”, cbxcurtype.SelectedValue);
cmd.Parameters.AddWithValue(“@Loyalty”, cbxloyalty.SelectedValue);
cmd.Parameters.AddWithValue(“@Note”, txtnote.Text);
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show(“情報が保存されました”);
[ad_2]
コメント