/// <summary> /// Class 대해 Delete 메서드 /// 1. lessonCode(강의코드, PK)가 일치하면 Data 삭제 /// 2. ExecuteNonQuery() 수행한 행의 결과를 int rows에 담아서 /// 3. 행의 결과가 0보다 크면 true, 아니면 false 반환 /// </summary> /// <param name="st"></param> /// <returns></returns> public bool DeleteClass(SetClassText st) { try { MySqlCommand cmd = new MySqlCommand(); cmd.CommandText = @"delete from class where lessonCode = @lessonCode;"; cmd.Connection = conn; cmd.Parameters.Add("@lessonCode", MySqlDbType.VarChar); cmd.Parameters["@lessonCode"].Value = st.lessonCode; int rows = cmd.ExecuteNonQuery(); if (rows > 0) { return(true); } else { return(false); } } catch (Exception err) { throw err; } }
/// <summary> /// 삭제 버튼 클릭 이벤트 /// 1. DB에 있는 SetClassText Class의 Property들에 TextBox의 내용 담는다. /// 2. DB의 DeleteClass()에 SetMemberText st 선언을 담아서 메서드 수행 /// 3. 결과값 bool타입으로 받아서 true = 삭제 완료 / false = 삭제 불가 메세지 출력 /// 4. 삭제 완료시 SetData()를 통해 DataGridView에 변경된 내용 다시 출력 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnDelete_Click(object sender, EventArgs e) { try { frmDelete frm = new frmDelete(); if (frm.ShowDialog() == DialogResult.OK) { ClassDB db = new ClassDB(); SetClassText st = new SetClassText(txtLessonCode.Text, txtLessonName.Text, cbClass.Text, txtStaffID.Text, dtpStartDate.Value, dtpEndDate.Value, dtpStartTime.Value, dtpEndTime.Value, int.Parse(txtAmount.Text), txtNsReport.Text); bool bFlag = db.DeleteClass(st); if (bFlag) { MessageBox.Show("정보 삭제가 완료되었습니다."); SetData(); } else { MessageBox.Show("형식을 잘못 입력하였거나 빈 항목이 있습니다."); } } else { frm.Close(); } } catch (Exception err) { MessageBox.Show(err.Message); } }
/// <summary> /// Class 대해 Update 메서드 /// 1. 강의코드, 강의명, 클래스분류, 직원ID, 학생ID, 강의시작/종료일, 강의시작/종료시간, 수강료, 특이사항 입력받도록 /// 2. 단, lessonCode(강의코드, Pk)가 일치하면 수행 /// 3. ExecuteNonQuery() 수행한 행의 결과를 int rows에 담아서 /// 4. 행의 결과가 0보다 크면 true, 아니면 false 반환 /// </summary> /// <param name="st"></param> /// <returns></returns> public bool UpdateClass(SetClassText st) { try { MySqlCommand cmd = new MySqlCommand(); cmd.CommandText = $@"update class set lessonName = @lessonName, classDistribution = @classDistribution, staffID = @staffID, lessonStartDate = @lessonStartDate, lessonEndDate = @lessonEndDate, lessonStartTime = @lessonStartTime, lessonEndTime = @lessonEndTime, lessonAmount = @lessonAmount, lessonNsReport = @lessonNsReport where lessonCode = @lessonCode;"; cmd.Connection = conn; cmd.Parameters.Add("@lessonName", MySqlDbType.VarChar); cmd.Parameters["@lessonName"].Value = st.lessonName; cmd.Parameters.Add("@classDistribution", MySqlDbType.VarChar); cmd.Parameters["@classDistribution"].Value = st.classDistribution; cmd.Parameters.Add("@staffID", MySqlDbType.VarChar); cmd.Parameters["@staffID"].Value = st.staffID; cmd.Parameters.Add("@lessonStartDate", MySqlDbType.Date); cmd.Parameters["@lessonStartDate"].Value = st.lessonStartDate; cmd.Parameters.Add("@lessonEndDate", MySqlDbType.Date); cmd.Parameters["@lessonEndDate"].Value = st.lessonEndDate; cmd.Parameters.Add("@lessonStartTime", MySqlDbType.VarChar); cmd.Parameters["@lessonStartTime"].Value = st.lessonStartTime.ToString("HH:mm"); cmd.Parameters.Add("@lessonEndTime", MySqlDbType.VarChar); cmd.Parameters["@lessonEndTime"].Value = st.lessonEndTime.ToString("HH:mm"); cmd.Parameters.Add("@lessonAmount", MySqlDbType.Int32); cmd.Parameters["@lessonAmount"].Value = st.lessonAmount; cmd.Parameters.Add("@lessonNsReport", MySqlDbType.Text); cmd.Parameters["@lessonNsReport"].Value = st.NsReport; cmd.Parameters.Add("@lessonCode", MySqlDbType.VarChar); cmd.Parameters["@lessonCode"].Value = st.lessonCode; int rows = cmd.ExecuteNonQuery(); if (rows > 0) { return(true); } else { return(false); } } catch (Exception err) { throw err; } }
/// <summary> /// 신규 버튼 클릭 이벤트 /// 1. DB에 있는 SetClassText Class의 Property들에 TextBox의 내용 담는다. /// 2. DB의 CreateClass()에 SetMemberText st 선언을 담아서 메서드 수행 /// 3. 결과값 bool타입으로 받아서 true = 신규저장/ false = 신규저장 불가 메세지 출력 /// 4. 신규저장시 SetData()를 통해 DataGridView에 변경된 내용 다시 출력 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnCreate_Click(object sender, EventArgs e) { try { ClassDB db = new ClassDB(); SetClassText st = new SetClassText(txtLessonCode.Text, txtLessonName.Text, cbClass.Text, txtStaffID.Text, dtpStartDate.Value, dtpEndDate.Value, dtpStartTime.Value, dtpEndTime.Value, int.Parse(txtAmount.Text), txtNsReport.Text); bool bFlag = db.CreateClass(st); if (bFlag) { MessageBox.Show("정보 등록이 완료되었습니다."); SetData(); } else { MessageBox.Show("형식을 잘못 입력하였거나 빈 항목이 있습니다."); } } catch (Exception err) { MessageBox.Show(err.Message); } }