Esempio n. 1
0
        private void GrdDivTbl_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex > -1)
            {
                DataGridViewRow data = GrdBooksTbl.Rows[e.RowIndex];

                // TODO : 클릭시 입력컨트롤에 데이터 할당
                TxtIdx.Text    = data.Cells[0].Value.ToString();
                TxtAuthor.Text = data.Cells[1].Value.ToString();

                // 로맨스, 추리 등 디스플레이 되는 글자로 인덱스 찾기
                //CboDivision.SelectedIndex = CboDivision.FindString(data.Cells[3].Value.ToString());

                // 코드값 그대로 할당 B001, B002 등
                CboDivision.SelectedValue = data.Cells[2].Value;

                TxtNames.Text = data.Cells[4].Value.ToString();

                DtpReleaseDate.CustomFormat = "yyyy-MM-dd";
                DtpReleaseDate.Format       = DateTimePickerFormat.Custom;
                DtpReleaseDate.Value        = DateTime.Parse(data.Cells[5].Value.ToString());

                TxtISBN.Text  = data.Cells[6].Value.ToString();
                TxtPrice.Text = data.Cells[7].Value.ToString();

                myMode          = BtnMode.UPDATE; // 수정모드로 변경
                TxtIdx.ReadOnly = true;
            }
        }
Esempio n. 2
0
        private void GrdRentalTbl_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex > -1)
            {
                DataGridViewRow data = GrdRentalTbl.Rows[e.RowIndex];

                // TODO : 클릭시 입력컨트롤에 데이터 할당
                TxtIdx.Text             = data.Cells[0].Value.ToString();
                CboMember.SelectedValue = data.Cells[6].Value.ToString();
                CboBook.SelectedValue   = data.Cells[7].Value.ToString();
                DtpRentalDate.Value     = DateTime.Parse(data.Cells[4].Value.ToString());

                if (!string.IsNullOrEmpty(data.Cells[5].Value.ToString()))
                {
                    DtpReturnDate.CustomFormat = "yyyy-MM-dd";
                    DtpReturnDate.Format       = DateTimePickerFormat.Custom;
                    DtpReturnDate.Value        = DateTime.Parse(data.Cells[5].Value.ToString());
                }
                else
                {
                    DtpReturnDate.Value        = DateTime.Now;
                    DtpReturnDate.CustomFormat = " ";
                    DtpReturnDate.Format       = DateTimePickerFormat.Custom;
                }

                myMode          = BtnMode.UPDATE; // 수정모드로 변경
                TxtIdx.ReadOnly = true;
            }
        }
Esempio n. 3
0
        private void BtnCancel_Click(object sender, EventArgs e)
        {
            InitControls();

            myMode = BtnMode.NONE; // 모드 초기화

            GrdMemberTbl.Focus();
        }
Esempio n. 4
0
        private void BtnNew_Click(object sender, EventArgs e)
        {
            InitControls();

            myMode = BtnMode.INSERT; // 신규입력 모드

            TxtNames.Focus();
        }
Esempio n. 5
0
        private void BtnNew_Click(object sender, EventArgs e)
        {
            InitControls();

            TxtDivision.ReadOnly = false;

            myMode = BtnMode.INSERT; // 신규입력 모드

            TxtNames.Focus();
        }
Esempio n. 6
0
        /*
         * private void DeleteData()
         * {
         *  try
         *  {
         *      using (MySqlConnection conn = new MySqlConnection(Commons.CONNSTR))
         *      {
         *          conn.Open();
         *          MySqlCommand cmd = new MySqlCommand();
         *          cmd.Connection = conn;
         *          cmd.CommandText = "DELETE FROM divtbl" +
         *                            " WHERE Division = @Division ";
         *          MySqlParameter paramDivision = new MySqlParameter("@Division", MySqlDbType.VarChar);
         *          paramDivision.Value = TxtDivision.Text;
         *          cmd.Parameters.Add(paramDivision);
         *
         *          cmd.ExecuteNonQuery();
         *
         *          if (myMode == BtnMode.INSERT)
         *          {
         *              MetroMessageBox.Show(this, $"구분코드 {paramDivision.Value}가 삭제되었습니다.", "삭제");
         *              myMode = BtnMode.NONE;
         *          }
         *      }
         *  }
         *  catch (Exception ex)
         *  {
         *      MetroMessageBox.Show(this, $"에러발생 {ex.Message}", "에러", MessageBoxButtons.OK, MessageBoxIcon.Error);
         *  }
         *  finally
         *  {
         *      UpdateData();
         *  }
         * }
         */
        #endregion

        private void BtnCancel_Click(object sender, EventArgs e)
        {
            TxtDivision.Text     = string.Empty;
            TxtNames.Text        = string.Empty;
            TxtDivision.ReadOnly = false;

            myMode = BtnMode.NONE; // 모드 초기화

            GrdDivTbl.Focus();
        }
Esempio n. 7
0
        private void GrdDivTbl_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex > -1)
            {
                DataGridViewRow data = GrdDivTbl.Rows[e.RowIndex];

                TxtDivision.Text     = data.Cells[0].Value.ToString();
                TxtNames.Text        = data.Cells[1].Value.ToString();
                TxtDivision.ReadOnly = true;

                myMode = BtnMode.UPDATE; // 수정모드로 변경

                TxtNames.Focus();
            }
        }
Esempio n. 8
0
        private void BtnDelete_Click(object sender, EventArgs e)
        {
            if (myMode != BtnMode.UPDATE)
            {
                MetroMessageBox.Show(this, $"삭제할 데이터를 선택하세요.", "알림");
                return;
            }

            myMode = BtnMode.DELETE;
            //DeleteData();
            SaveData();
            InitControls();

            GrdDivTbl.Focus();
        }
Esempio n. 9
0
        private void GrdDivTbl_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex > -1)
            {
                DataGridViewRow data = GrdMemberTbl.Rows[e.RowIndex];

                // TODO : 클릭시 입력컨트롤에 데이터 할당
                TxtIdx.Text           = data.Cells[0].Value.ToString();
                TxtNames.Text         = data.Cells[1].Value.ToString();
                CboLevel.SelectedItem = data.Cells[2].Value; // CboLevel.SelectedValue = data.Cells[2].Value;
                TxtAddr.Text          = data.Cells[3].Value.ToString();
                TxtMobile.Text        = data.Cells[4].Value.ToString();
                TxtEmail.Text         = data.Cells[5].Value.ToString();

                myMode          = BtnMode.UPDATE; // 수정모드로 변경
                TxtIdx.ReadOnly = true;
            }
        }
Esempio n. 10
0
        private void BtnDelete_Click(object sender, EventArgs e)
        {
            if (myMode != BtnMode.UPDATE)
            {
                MetroMessageBox.Show(this, $"삭제할 데이터를 선택하세요.", "알림");
                return;
            }

            DialogResult choice = MetroMessageBox.Show(this, "삭제하시겠습니까?", "경고", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);

            if (choice == DialogResult.No)
            {
                return;
            }

            myMode = BtnMode.DELETE;
            //DeleteData();
            SaveData();
            InitControls();

            GrdMemberTbl.Focus();
        }
Esempio n. 11
0
        /// <summary>
        /// DB 업데이트 및 입력 처리
        /// </summary>
        private void SaveData()
        {
            // 빈값비교 NULL 체크
            if (string.IsNullOrEmpty(TxtNames.Text) ||
                CboLevel.SelectedIndex < 1 ||
                string.IsNullOrEmpty(TxtAddr.Text) ||
                string.IsNullOrEmpty(TxtEmail.Text) ||
                string.IsNullOrEmpty(TxtMobile.Text))
            {
                MetroMessageBox.Show(this, "값을 입력해주세요.", "오류", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            if (myMode == BtnMode.NONE)
            {
                MetroMessageBox.Show(this, "신규 등록시 신규 버튼을 눌러주세요", "알림", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }

            try
            {
                using (MySqlConnection conn = new MySqlConnection(Commons.CONNSTR)) // using문 사용하면 conn.Close() 안해줘도 된다. -> 사용시 자동으로 일을 해줌
                {
                    conn.Open();
                    MySqlCommand cmd = new MySqlCommand();
                    cmd.Connection = conn;

                    if (myMode == BtnMode.UPDATE)
                    {
                        cmd.CommandText = "UPDATE membertbl " +
                                          "   SET Names       = @Names, " +
                                          "       Levels      = @Levels, " +
                                          "       Addr        = @Addr, " +
                                          "       Mobile      = @Mobile, " +
                                          "       Email       = @Email " +
                                          " WHERE Idx = @Idx";
                    }
                    else if (myMode == BtnMode.INSERT)
                    {
                        cmd.CommandText = "INSERT INTO membertbl " +
                                          "(    Names, " +
                                          "     Levels, " +
                                          "     Addr, " +
                                          "     Mobile, " +
                                          "     Email) " +
                                          "VALUES " +
                                          "     (@Names, " +
                                          "     @Levels, " +
                                          "     @Addr, " +
                                          "     @Mobile, " +
                                          "     @Email)";
                    }
                    else if (myMode == BtnMode.DELETE)
                    {
                        cmd.CommandText = "DELETE FROM membertbl " +
                                          " WHERE Idx = @idx";
                    }

                    if (myMode == BtnMode.INSERT || myMode == BtnMode.UPDATE)
                    {
                        // 이름
                        MySqlParameter paramNames = new MySqlParameter("@Names", MySqlDbType.VarChar, 45)
                        {
                            Value = TxtNames.Text.Trim()
                        };
                        cmd.Parameters.Add(paramNames);
                        // 레벨
                        MySqlParameter paramLevels = new MySqlParameter("@Levels", MySqlDbType.VarChar, 1)
                        {
                            Value = CboLevel.SelectedItem//Value = CboLevel.SelectedValue
                        };
                        cmd.Parameters.Add(paramLevels);
                        // 주소
                        MySqlParameter paramAddr = new MySqlParameter("@Addr", MySqlDbType.VarChar, 100)
                        {
                            Value = TxtAddr.Text.Trim()
                        };
                        cmd.Parameters.Add(paramAddr);
                        // 전화번호
                        MySqlParameter paramMobile = new MySqlParameter("@Mobile", MySqlDbType.VarChar, 13)
                        {
                            Value = TxtMobile.Text.Trim()
                        };
                        cmd.Parameters.Add(paramMobile);
                        // 이메일
                        MySqlParameter paramEmail = new MySqlParameter("@Email", MySqlDbType.VarChar, 50)
                        {
                            Value = TxtEmail.Text.Trim()
                        };
                        cmd.Parameters.Add(paramEmail);
                    }

                    if (myMode == BtnMode.UPDATE || myMode == BtnMode.DELETE)
                    {
                        // Idx : PK, AI
                        MySqlParameter paramIdx = new MySqlParameter("@Idx", MySqlDbType.Int32)
                        {
                            Value = TxtIdx.Text.Trim()
                        };
                        cmd.Parameters.Add(paramIdx);
                    }

                    var result = cmd.ExecuteNonQuery();

                    if (myMode == BtnMode.INSERT)
                    {
                        MetroMessageBox.Show(this, $"신규 입력되었습니다.", "신규 입력");
                        myMode = BtnMode.UPDATE;
                    }
                    else if (myMode == BtnMode.UPDATE)
                    {
                        MetroMessageBox.Show(this, $"일련번호 {TxtIdx.Text.Trim()}인 {TxtNames.Text.Trim()}이 수정되었습니다.", "회원 정보 수정");
                    }
                    else if (myMode == BtnMode.DELETE)
                    {
                        MetroMessageBox.Show(this, $"일련번호 {TxtIdx.Text.Trim()}인 {TxtNames.Text.Trim()}이 삭제되었습니다.", "회원 삭제");
                    }
                }
            }
            catch (Exception ex)
            {
                MetroMessageBox.Show(this, $"에러발생 {ex.Message}", "에러", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            finally
            {
                UpdateData();
            }
        }
Esempio n. 12
0
        /// <summary>
        /// DB 업데이트 및 입력 처리
        /// </summary>
        private void SaveData()
        {
            if (string.IsNullOrEmpty(TxtDivision.Text) ||
                string.IsNullOrEmpty(TxtNames.Text))
            {
                MetroMessageBox.Show(this, "값을 입력해주세요.", "오류", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            if (myMode == BtnMode.NONE)
            {
                MetroMessageBox.Show(this, "신규 등록시 신규 버튼을 눌러주세요", "알림", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }

            try
            {
                using (MySqlConnection conn = new MySqlConnection(Commons.CONNSTR)) // using문 사용하면 conn.Close() 안해줘도 된다. -> 사용시 자동으로 일을 해줌
                {
                    conn.Open();
                    MySqlCommand cmd = new MySqlCommand();
                    cmd.Connection = conn;

                    if (myMode == BtnMode.UPDATE)
                    {
                        cmd.CommandText = "UPDATE divtbl " +
                                          "   SET Names = @Names " +
                                          " WHERE Division = @Division ";
                    }
                    else if (myMode == BtnMode.INSERT)
                    {
                        cmd.CommandText = "INSERT INTO divtbl (Division, Names) " +
                                          "VALUES (@Division, @Names)";
                    }
                    else if (myMode == BtnMode.DELETE)
                    {
                        cmd.CommandText = "DELETE FROM divtbl" +
                                          " WHERE Division = @Division ";
                    }

                    if (myMode == BtnMode.INSERT || myMode == BtnMode.UPDATE)
                    {
                        MySqlParameter paramNames = new MySqlParameter("@Names", MySqlDbType.VarChar, 45);
                        paramNames.Value = TxtNames.Text.Trim();
                        cmd.Parameters.Add(paramNames);
                    }

                    MySqlParameter paramDivision = new MySqlParameter("@Division", MySqlDbType.VarChar);
                    paramDivision.Value = TxtDivision.Text.Trim();
                    cmd.Parameters.Add(paramDivision);

                    var result = cmd.ExecuteNonQuery();

                    if (myMode == BtnMode.INSERT)
                    {
                        MetroMessageBox.Show(this, $"신규 입력되었습니다.", "신규 입력");
                        myMode = BtnMode.UPDATE;
                    }
                    else if (myMode == BtnMode.UPDATE)
                    {
                        MetroMessageBox.Show(this, $"구분코드 {TxtDivision.Text.Trim()}가 {TxtNames.Text.Trim()}로 수정되었습니다.", "항목 수정");
                    }
                    else if (myMode == BtnMode.DELETE)
                    {
                        MetroMessageBox.Show(this, $"구분코드 {TxtDivision.Text.Trim()}가 삭제되었습니다.", "삭제");
                        myMode = BtnMode.NONE;
                    }
                }
            }
            catch (Exception ex)
            {
                MetroMessageBox.Show(this, $"에러발생 {ex.Message}", "에러", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            finally
            {
                UpdateData();
            }
        }
Esempio n. 13
0
        /// <summary>
        /// DB 업데이트 및 입력 처리
        /// </summary>
        private void SaveData()
        {
            // 빈값비교 NULL 체크
            if (string.IsNullOrEmpty(TxtAuthor.Text) ||
                CboDivision.SelectedIndex < 1 ||
                string.IsNullOrEmpty(TxtNames.Text) ||
                string.IsNullOrEmpty(TxtISBN.Text))
            {
                MetroMessageBox.Show(this, "값을 입력해주세요.", "오류", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            if (myMode == BtnMode.NONE)
            {
                MetroMessageBox.Show(this, "신규 등록시 신규 버튼을 눌러주세요", "알림", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }

            try
            {
                using (MySqlConnection conn = new MySqlConnection(Commons.CONNSTR)) // using문 사용하면 conn.Close() 안해줘도 된다. -> 사용시 자동으로 일을 해줌
                {
                    conn.Open();
                    MySqlCommand cmd = new MySqlCommand();
                    cmd.Connection = conn;

                    if (myMode == BtnMode.UPDATE)
                    {
                        cmd.CommandText = "UPDATE bookstbl " +
                                          "   SET Author      = @Author, " +
                                          "       Division    = @Division, " +
                                          "       Names       = @Names, " +
                                          "       ReleaseDate = @ReleaseDate, " +
                                          "       ISBN        = @ISBN, " +
                                          "       Price       = @Price " +
                                          " WHERE Idx = @Idx";
                    }
                    else if (myMode == BtnMode.INSERT)
                    {
                        cmd.CommandText = "INSERT INTO bookstbl " +
                                          "(    Author, " +
                                          "     Division, " +
                                          "     Names, " +
                                          "     ReleaseDate, " +
                                          "     ISBN, " +
                                          "     Price) " +
                                          "VALUES " +
                                          "     (@Author, " +
                                          "     @Division, " +
                                          "     @Names, " +
                                          "     @ReleaseDate, " +
                                          "     @ISBN, " +
                                          "     @Price)";
                    }

                    // 저자명
                    MySqlParameter paramAuthor = new MySqlParameter("@Author", MySqlDbType.VarChar, 45)
                    {
                        Value = TxtAuthor.Text.Trim()
                    };
                    cmd.Parameters.Add(paramAuthor);
                    // 장르
                    MySqlParameter paramDivision = new MySqlParameter("@Division", MySqlDbType.VarChar, 4)
                    {
                        Value = CboDivision.SelectedValue // B001, B002;
                    };
                    cmd.Parameters.Add(paramDivision);
                    // 책이름
                    MySqlParameter paramNames = new MySqlParameter("@Names", MySqlDbType.VarChar, 100)
                    {
                        Value = TxtNames.Text.Trim()
                    };
                    cmd.Parameters.Add(paramNames);
                    // 출간일
                    MySqlParameter paramReleaseDate = new MySqlParameter("@ReleaseDate", MySqlDbType.Date)
                    {
                        Value = DtpReleaseDate.Value
                    };
                    cmd.Parameters.Add(paramReleaseDate);
                    // ISBN
                    MySqlParameter paramISBN = new MySqlParameter("@ISBN", MySqlDbType.VarChar, 13)
                    {
                        Value = TxtISBN.Text.Trim()
                    };
                    cmd.Parameters.Add(paramISBN);
                    // 가격
                    MySqlParameter paramPrice = new MySqlParameter("@Price", MySqlDbType.Decimal)
                    {
                        Value = TxtPrice.Text.Trim()
                    };
                    cmd.Parameters.Add(paramPrice);

                    if (myMode == BtnMode.UPDATE)
                    {
                        // Idx : PK, AI
                        MySqlParameter paramIdx = new MySqlParameter("@Idx", MySqlDbType.Int32)
                        {
                            Value = TxtIdx.Text.Trim()
                        };
                        cmd.Parameters.Add(paramIdx);
                    }

                    var result = cmd.ExecuteNonQuery();

                    if (myMode == BtnMode.INSERT)
                    {
                        MetroMessageBox.Show(this, $"신규 입력되었습니다.", "신규 입력");
                        myMode = BtnMode.UPDATE;
                    }
                    else if (myMode == BtnMode.UPDATE)
                    {
                        MetroMessageBox.Show(this, $"일련번호 {TxtIdx.Text.Trim()}인 {TxtNames.Text.Trim()}이 수정되었습니다.", "항목 수정");
                    }
                }
            }
            catch (Exception ex)
            {
                MetroMessageBox.Show(this, $"에러발생 {ex.Message}", "에러", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            finally
            {
                UpdateData();
            }
        }
Esempio n. 14
0
        /// <summary>
        /// DB 업데이트 및 입력 처리
        /// </summary>
        private void SaveData()
        {
            // 빈값비교 NULL 체크
            if (CboMember.SelectedIndex < 1 ||
                CboBook.SelectedIndex < 1)
            {
                MetroMessageBox.Show(this, "값을 입력해주세요.", "오류", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            if (myMode == BtnMode.NONE)
            {
                MetroMessageBox.Show(this, "신규 등록시 신규 버튼을 눌러주세요", "알림", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }

            try
            {
                using (MySqlConnection conn = new MySqlConnection(Commons.CONNSTR)) // using문 사용하면 conn.Close() 안해줘도 된다. -> 사용시 자동으로 일을 해줌
                {
                    conn.Open();
                    MySqlCommand cmd = new MySqlCommand();
                    cmd.Connection = conn;

                    if (myMode == BtnMode.UPDATE)
                    {
                        cmd.CommandText = "UPDATE rentaltbl " +
                                          "   SET " +
                                          "         memberIdx  = memberIdx " +
                                          "       , bookIdx    = @bookIdx " +
                                          "       , rentalDate = @rentalDate " +
                                          "       , returnDate = @returnDate " +
                                          " WHERE   Idx        = @Idx";
                    }
                    else if (myMode == BtnMode.INSERT)
                    {
                        cmd.CommandText = "INSERT INTO rentaltbl " +
                                          "(    memberIdx, " +
                                          "     bookIdx, " +
                                          "     rentalDate, " +
                                          "     returnDate) " +
                                          "VALUES " +
                                          "(    @memberIdx, " +
                                          "     @bookIdx, " +
                                          "     @rentalDate, " +
                                          "     @returnDate)";
                    }
                    // memberIdx
                    MySqlParameter paramMemberIdx = new MySqlParameter("@memberIdx", MySqlDbType.Int32);
                    paramMemberIdx.Value = CboMember.SelectedValue;
                    cmd.Parameters.Add(paramMemberIdx);
                    // bookIdx
                    MySqlParameter paramBookIdx = new MySqlParameter("@bookIdx", MySqlDbType.Int32);
                    paramBookIdx.Value = CboBook.SelectedValue;
                    cmd.Parameters.Add(paramBookIdx);
                    // rentalDate
                    MySqlParameter paramRentalDate = new MySqlParameter("@rentalDate", MySqlDbType.Date);
                    paramRentalDate.Value = DtpRentalDate.Value;
                    cmd.Parameters.Add(paramRentalDate);
                    // returnDate
                    MySqlParameter paramReturnDate = new MySqlParameter("@returnDate", MySqlDbType.Date);
                    if (myMode == BtnMode.INSERT)
                    {
                        paramReturnDate.Value = null;
                    }
                    else
                    {
                        paramReturnDate.Value = DtpReturnDate.Value;
                    }
                    cmd.Parameters.Add(paramReturnDate);

                    var result = cmd.ExecuteNonQuery();

                    if (myMode == BtnMode.INSERT)
                    {
                        MetroMessageBox.Show(this, $"신규 입력되었습니다.", "신규 입력");
                        myMode = BtnMode.UPDATE;
                    }
                    else if (myMode == BtnMode.UPDATE)
                    {
                        MetroMessageBox.Show(this, $"일련번호 {TxtIdx.Text.Trim()}가 수정되었습니다.", "수정");
                    }
                }
            }
            catch (Exception ex)
            {
                MetroMessageBox.Show(this, $"에러발생 {ex.Message}", "에러", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            finally
            {
                UpdateData();
            }
        }