Ejemplo n.º 1
0
        /// <summary>
        /// DetAttendance 대해 입실시간 Update 메서드
        /// 1. 입실시간(attendance 테이블), 학생이름(student 테이블) 입력받도록 => inner join사용, on stuID
        /// 2. 단, stuName(학생 이름)이 일치하면 수행
        /// 3. ExecuteNonQuery() 수행한 행의 결과를 int rows에 담아서
        /// 4. 행의 결과가 0보다 크면 true, 아니면 false 반환
        /// </summary>
        /// <param name="st"></param>
        /// <returns></returns>
        public bool UpdateEnteringTime(SetAttendanceText st)
        {
            try
            {
                MySqlCommand cmd = new MySqlCommand();
                cmd.CommandText = $@"update attendance A inner join student S
                                 on A.stuID = S.stuID
                                 set enteringTime = @enteringTime
                                 where S.stuName = @stuName;";
                cmd.Connection  = conn;

                cmd.Parameters.Add("@enteringTime", MySqlDbType.VarChar);
                cmd.Parameters["@enteringTime"].Value = st.enteringTime.ToString("HH:mm");

                cmd.Parameters.Add("@stuName", MySqlDbType.VarChar);
                cmd.Parameters["@stuName"].Value = st.stuName;


                int rows = cmd.ExecuteNonQuery();
                if (rows > 0)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception err)
            {
                throw err;
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// DetAttendance 대해 기타 Update 메서드
        /// 1. 입실시간, 퇴실시간, 지각여부, 결석여부, 조퇴여부, 학생이름 입력받도록 => inner join사용, on stuID
        /// 2. 단, stuName(학생 이름)이 일치하면 수행
        /// 3. ExecuteNonQuery() 수행한 행의 결과를 int rows에 담아서
        /// 4. 행의 결과가 0보다 크면 true, 아니면 false 반환
        /// </summary>
        /// <param name="st"></param>
        /// <returns></returns>
        public bool UpdateETC(SetAttendanceText st)
        {
            try
            {
                MySqlCommand cmd = new MySqlCommand();
                cmd.CommandText = $@"update attendance A inner join student S
                                 on A.stuID = S.stuID
                                 set A.enteringTime = @enteringTime, A.entranceTime = @entranceTime, A.lateness = @lateness, 
                                     early_Leave = @early_Leave, recordContent = @recordContent
                                 where S.stuName = @stuName;";
                cmd.Connection  = conn;

                cmd.Parameters.Add("@enteringTime", MySqlDbType.VarChar);
                cmd.Parameters["@enteringTime"].Value = st.enteringTime.ToString("HH:mm");

                cmd.Parameters.Add("@entranceTime", MySqlDbType.VarChar);
                cmd.Parameters["@entranceTime"].Value = st.entranceTime.ToString("HH:mm");

                cmd.Parameters.Add("@lateness", MySqlDbType.VarChar);
                cmd.Parameters["@lateness"].Value = st.lateness;

                cmd.Parameters.Add("@early_Leave", MySqlDbType.VarChar);
                cmd.Parameters["@early_Leave"].Value = st.early_Leave;

                cmd.Parameters.Add("@recordContent", MySqlDbType.Text);
                cmd.Parameters["@recordContent"].Value = st.recordContent;

                cmd.Parameters.Add("@stuName", MySqlDbType.VarChar);
                cmd.Parameters["@stuName"].Value = st.stuName;


                int rows = cmd.ExecuteNonQuery();
                if (rows > 0)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception err)
            {
                throw err;
            }
        }
Ejemplo n.º 3
0
 /// <summary>
 /// 결석 이미지 클릭 이벤트
 /// 1. 퇴실 시간, 이름, 기록사항의 내용을 SetAttendanceText의 st에 담아 DB의 UpdateEnteranceTime() 수행
 /// 2. bool 타입의 bFlag로 받아서 true = 정보수정/ false = 수정불가 메세지 출력
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void pictureBox3_Click(object sender, EventArgs e)
 {
     try
     {
         AttendanceDB      db = new AttendanceDB();
         SetAttendanceText st = new SetAttendanceText(dtpEntranceTime.Value, txtName.Text, txtRecordContent.Text);
         bool bFlag           = db.UpdateEnteranceTime(st);
         if (bFlag)
         {
             MessageBox.Show("정보 수정이 완료되었습니다.");
         }
         else
         {
             MessageBox.Show("형식을 잘못 입력하였거나 빈 항목이 있습니다.");
         }
     }
     catch (Exception err)
     {
         MessageBox.Show(err.Message);
     }
 }
Ejemplo n.º 4
0
 /// <summary>
 /// 기타 이미지 클릭 이벤트
 /// 1. 출석시간, 퇴실시간, 지각여부, 조퇴여부, 기록사항, 이름의 내용을 SetAttendanceText의 st에 담아 DB의 UpdateETC() 수행
 /// 2. bool 타입의 bFlag로 받아서 true = 정보수정/ false = 수정불가 메세지 출력
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void pictureBox4_Click(object sender, EventArgs e)
 {
     try
     {
         AttendanceDB      db = new AttendanceDB();
         SetAttendanceText st = new SetAttendanceText(dtpEnteringTime.Value, dtpEntranceTime.Value, Convert.ToChar(rbtnLatenessY.Text.ToUpper().Trim()), Convert.ToChar(rbtnLeaveY.Text.ToUpper().Trim()), txtRecordContent.Text, txtName.Text);
         bool bFlag           = db.UpdateETC(st);
         if (bFlag)
         {
             MessageBox.Show("정보 수정이 완료되었습니다.");
         }
         else
         {
             MessageBox.Show("형식을 잘못 입력하였거나 빈 항목이 있습니다.");
         }
     }
     catch (Exception err)
     {
         MessageBox.Show(err.Message);
     }
 }