private void btnUpdate_Click(object sender, EventArgs e) { int rowIdx = dgvMember.CurrentRow.Index; Book book; book.ID = Convert.ToInt32(dgvMember.CurrentRow.Cells[0].Value); book.Name = dgvMember[1, rowIdx].Value.ToString(); book.Author = dgvMember[2, rowIdx].Value.ToString(); //학생정보를 수정폼에 전달해서 오픈 frmBookIns frm = new frmBookIns(OpenMode.Update); frm.BookInfo = book; //set if (frm.ShowDialog() == DialogResult.OK) { //변경된 학생정보를 DB에 수정 BookDB db = new BookDB(); bool result = db.Update(frm.BookInfo); //get db.Dispose(); if (result) { //MessageBox.Show("수정되었습니다."); //재조회 LoadData(); } else { MessageBox.Show("다시 수정을 시도하여 주십시오."); } } }
private void btnUpdate_Click(object sender, EventArgs e) { int rowIndex = dataGridView1.CurrentRow.Index; Book bk; bk.BookID = Convert.ToInt32(dataGridView1.CurrentRow.Cells[0].Value); bk.BookName = dataGridView1[1, rowIndex].Value.ToString(); //위와 같지만 다른 방법 bk.Author = dataGridView1[2, rowIndex].Value.ToString(); bk.Publisher = dataGridView1[3, rowIndex].Value.ToString(); bk.BookImage = null; frmBookInsUp frm = new frmBookInsUp(frmBookInsUp.OpenMode.Update); frm.bookInfo = bk; if (frm.ShowDialog() == DialogResult.OK) { Book book = frm.bookInfo; BookDB bookdb = new BookDB(); bool result = bookdb.Update(book); bookdb.Dispose(); if (result) { MessageBox.Show("추가되었습니다."); LoadData(); } else { MessageBox.Show("다시 시도하여 주십시오."); } } }
private void SavePahtImage() { string sPath = $"BookImage/{bookId}"; string localFile = pictureBox1.Tag.ToString(); string sExt = localFile.Substring(localFile.LastIndexOf(".")); string newFileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + sExt; string destFileName = Path.Combine(sPath, newFileName); textBox2.Text = destFileName; DirectoryInfo dir = new DirectoryInfo(sPath); if (!dir.Exists) { dir.Create(); } File.Copy(localFile, destFileName, true); BookDB db = new BookDB(); bool bResult = db.AddBookImage(bookId, destFileName); if (bResult) { MessageBox.Show("이미지 추가가 완료되었습니다."); //textBox2.Text = newFileName; } else { MessageBox.Show("이미지 저장에 실패했습니다. 다시 시도하여 주십시오."); } }
private void LoadData() { BookDB db = new BookDB(); DataTable dt = db.GetAllData(); db.Dispose(); dgvMember.DataSource = dt; }
public void LoadData() { BookDB bookdb = new BookDB(); DataTable dt = bookdb.GetAllData(); bookdb.Dispose(); dataGridView1.DataSource = dt; }
/// <summary> /// 도서예약 /// </summary> /// <param name="stuid">학번</param> /// <param name="bookid">도서번호</param> /// <returns>예약성공여부</returns> public bool ReserveBook(int stuid, int bookid) { //유효성체크 //학번이 유효한지, 도서번호가 유효한지, 대여가능한지, 예약상태인지 //대여한 학생이 또 예약하는 것은 현재 허용 StudentDB stu = new StudentDB(); if (!stu.IsValid(stuid)) { throw new Exception("유효한 학번이 아닙니다."); } stu.Dispose(); BookDB bk = new BookDB(); if (!bk.IsValid(bookid)) { throw new Exception("유효한 도서가 아닙니다."); } else if (!bk.IsLended(bookid)) { throw new Exception("대여 가능한 도서입니다."); } else { if (bk.IsReserved(bookid)) { throw new Exception("이미 예약된 도서입니다."); } bk.Dispose(); try { MySqlCommand cmd = new MySqlCommand(); cmd.CommandText = "update book set reservestuid = @reservestuid where bookid = @bookid"; cmd.Connection = conn; cmd.Parameters.Add("@reservestuid", MySqlDbType.Int32); cmd.Parameters["@reservestuid"].Value = stuid; cmd.Parameters.Add("@bookid", MySqlDbType.Int32); cmd.Parameters["@bookid"].Value = bookid; cmd.ExecuteNonQuery(); return(true); } catch (Exception err) { throw err; //return false; //도달하지 않는 코드 } } }
private void btnAdd_Click(object sender, EventArgs e) { BookDB db = new BookDB(); int bookID = int.Parse(txtBookid.Text); //유효성체크 // 1. 입력한 도서번호가 유효한 도서번호인지 체크 if (!db.IsValid(bookID)) { MessageBox.Show("도서가 존재하지 않습니다."); } // 2. 대여중인 도서인지 체크 else if (db.IsLended(bookID)) { MessageBox.Show("대여중인 도서입니다."); } // 3. 대여가능하지만 예약한 학번이 입력한 학번인지 체크 else { int stuid = int.Parse(txtStudentid.Text); //예약한 학번 조회 (0 또는 이미 예약한 학번) int reserveStuid = db.GetReserveStuId(bookID); if (reserveStuid > 0 && reserveStuid != stuid) { MessageBox.Show("이미 예약된 도서입니다."); } else { //입력된 도서를 대여목록(ListBox)에 추가한다 Book curBook = db.GetBookInfo(bookID); lstLendBook.Items.Add($"{curBook.BookID} / {curBook.BookName} / {curBook.Author} / {curBook.Publisher}"); txtBookid.Text = ""; } } db.Dispose(); }
private void button2_Click(object sender, EventArgs e) { frmBookInsUp frm = new frmBookInsUp(frmBookInsUp.OpenMode.Insert); if (frm.ShowDialog() == DialogResult.OK) { Book book = frm.bookInfo; BookDB bookdb = new BookDB(); bool result = bookdb.Insert(book); bookdb.Dispose(); if (result) { MessageBox.Show("추가 되었습니다."); LoadData(); } else { MessageBox.Show("다시 시도하여 주십시오."); } } }
private void btnDelete_Click(object sender, EventArgs e) { int rowIndex = dataGridView1.CurrentRow.Index; string bookname = dataGridView1[1, rowIndex].Value.ToString(); if (MessageBox.Show($"{bookname}의 정보를 삭제하시겠습니까?", "삭제확인", MessageBoxButtons.YesNo) == DialogResult.Yes) { int bookID = (int)dataGridView1[0, dataGridView1.CurrentRow.Index].Value; BookDB db = new BookDB(); bool result = db.Delete(bookID); db.Dispose(); if (result) { LoadData(); } else { MessageBox.Show("다시 시도하여 주십시오."); } } }
private void button1_Click(object sender, EventArgs e) { InitShopping(); BookDB db = new BookDB(); DataTable dt = db.GetBookImage(); db.Dispose(); int idx = 1; //int rowCnt = (int)Math.Ceiling(dt.Rows.Count / 2.0); for (int i = 0; i < dt.Rows.Count; i++) { for (int k = 0; k < 1; k++) { if (idx > dt.Rows.Count) { break; } UserControl1 book = new UserControl1(); book.Name = $"Book{idx}"; book.Text = idx.ToString(); book.Location = new Point((k) + 10, (i * 50) + 10); book.Size = new Size(430, 55); book.BookID = Convert.ToInt32(dt.Rows[idx - 1]["bookID"]); book.BookName = dt.Rows[idx - 1]["bookName"].ToString(); book.Author = dt.Rows[idx - 1]["author"].ToString(); book.Publisher = dt.Rows[idx - 1]["Publisher"].ToString(); book.BookImage = dt.Rows[idx - 1]["bookImage"].ToString(); book.AddCart += Book_AddShoppingList; panel1.Controls.Add(book); idx++; } } }
/// <summary> /// 도서반납 /// </summary> /// <param name="bookid">도서번호</param> public void ReturnBook(int bookid) { //유효성체크 - 도서번호가 유효한지 BookDB book = new BookDB(); if (!book.IsValid(bookid)) { throw new Exception("유효하지 않는 도서번호입니다."); } MySqlTransaction trans = conn.BeginTransaction(); try { string sql = "update book set lendingstate = 0 where bookid = @bookid;"; MySqlCommand cmd = new MySqlCommand(sql, conn); cmd.Transaction = trans; cmd.Parameters.Add("@bookid", MySqlDbType.Int32); cmd.Parameters["@bookid"].Value = bookid; cmd.ExecuteNonQuery(); cmd.CommandText = @"update lendingitem set returndate = @time where bookid = @bookid and returndate is null;"; cmd.Parameters.Add("@time", MySqlDbType.DateTime); cmd.Parameters["@time"].Value = DateTime.Now; //클래스의 시간 cmd.ExecuteNonQuery(); trans.Commit(); } catch (Exception err) { trans.Rollback(); throw err; } }
private void btnInsert_Click(object sender, EventArgs e) { frmBookIns frm = new frmBookIns(); if (frm.ShowDialog() == DialogResult.OK) { //입력받은 값으로 DB에 저장 Book book = frm.BookInfo; BookDB db = new BookDB(); bool result = db.Insert(book); db.Dispose(); if (result) { MessageBox.Show("성공적으로 추가되었습니다."); LoadData(); } else { MessageBox.Show("다시 시도하여주십시오"); } // } }
private void btnDelete_Click(object sender, EventArgs e) { string name = dgvMember[1, dgvMember.CurrentRow.Index].Value.ToString(); if (MessageBox.Show($"{name}의 자료를 정말로 삭제할꺼양?", "삭제확인", MessageBoxButtons.YesNo) == DialogResult.Yes) { int bookid = (int)dgvMember.CurrentRow.Cells[0].Value; BookDB db = new BookDB(); bool result = db.Delete(bookid); db.Dispose(); if (result) { //MessageBox.Show("삭제되었습니다."); LoadData(); } else { MessageBox.Show("다시 삭제를 시도하여 주십시오."); } } }
private void btnSelect_Click(object sender, EventArgs e) { BookDB db = new BookDB(); db.GetAllData(); }