private void toolStripButtonUndo_Click(object sender, EventArgs e) { try { ObjectUndo ob = (ObjectUndo)st.Pop(); if (ob.getType() == 1) { MessageBox.Show("Khôi phục sau khi thêm " + ob.getLenh()); Program.ExecSqlDataReader(ob.getLenh()); this.tACGIATableAdapter.FillByTinhTrang(this.qL_THUVIENDataSet.TACGIA); return; } if (ob.getType() == 2) { MessageBox.Show("Khôi phục sau khi xóa " + ob.getLenh()); Program.ExecSqlDataReader(ob.getLenh()); this.tACGIATableAdapter.FillByTinhTrang(this.qL_THUVIENDataSet.TACGIA); return; } if (ob.getType() == 3) { MessageBox.Show("Khôi phục sau khi sửa " + ob.getLenh()); Program.ExecSqlDataReader(ob.getLenh()); this.tACGIATableAdapter.FillByTinhTrang(this.qL_THUVIENDataSet.TACGIA); return; } } catch (Exception r) { MessageBox.Show("Không có gì để Undo", "THÔNG BÁO", MessageBoxButtons.OK); } }
public int xoaSinhVien(String maSV) { if (Program.conn.State == ConnectionState.Closed) { Program.conn.Open(); } try { int type = 2;//XÓA int checkPhai = checkboxPhai.Checked ? 1 : 0; int checkNghi = checkboxNghiHoc.Checked ? 1 : 0; String strSP = "SP_DeleteSinhVien"; String lenh = "exec SP_UndoDeleteSinhVien '" + txtMaSV.Text.Trim() + "', N'" + txtHo.Text.Trim() + "', N'" + txtTen.Text.Trim() + "', '" + txtMaLop.Text.Trim() + "', '" + checkPhai + "', '" + comboNgaySinh.Text.Trim() + "', N'" + txtNoiSinh.Text.Trim() + "', N'" + txtDiaChi.Text.Trim() + "', '" + checkNghi + "'"; Program.sqlcmd = Program.conn.CreateCommand(); Program.sqlcmd.CommandType = CommandType.StoredProcedure; Program.sqlcmd.CommandText = strSP; Program.sqlcmd.Parameters.Add("@MASV", SqlDbType.NChar).Value = maSV; Program.sqlcmd.ExecuteNonQuery(); this.sINHVIENBindingSource.RemoveCurrent(); this.sINHVIENBindingSource.EndEdit(); Program.conn.Close(); ObjectUndo ob = new ObjectUndo(type, lenh); st.Push(ob); return(1); } catch (Exception ex) { MessageBox.Show("Xóa sinh viên thất bai." + ex.Message, "", MessageBoxButtons.OK); return(0); } }
private void btnSua_Click(object sender, EventArgs e) { if (MessageBox.Show("Bạn có chắc muốn sửa nó không?", "Sửa sinh viên", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { Boolean checkValidation = validationSinhVien(); if (!checkValidation) { return; } int checkMaSV = kiemTraSinhVienTonTai(txtMaSV.Text); if (checkMaSV == 0) { MessageBox.Show("Sinh viên không tồn tại.\n", "", MessageBoxButtons.OK); } else if (checkMaSV == 2) { MessageBox.Show("Tồn tại mã sinh viên trong site khác.\n", "", MessageBoxButtons.OK); } else { if (Program.conn.State == ConnectionState.Closed) { Program.conn.Open(); } try { handleSinhVienTable(); String lenh = "exec SP_UndoUpdateSinhVien N'" + ho + "', N'" + ten + "', '" + maLop + "', '" + phai + "', '" + ngaySinh + "', N'" + noiSinh + "', N'" + diaChi + "', '" + nghiHoc + "', '" + maSV + "'"; String updateSinhVien = "SP_UpdateSinhVien"; Program.sqlcmd = Program.conn.CreateCommand(); Program.sqlcmd.CommandType = CommandType.StoredProcedure; Program.sqlcmd.CommandText = updateSinhVien; cmdSinhVien(txtMaSV.Text, txtHo.Text, txtTen.Text, txtMaLop.Text, checkboxPhai.Checked, comboNgaySinh.Text, txtNoiSinh.Text, txtDiaChi.Text, checkboxNghiHoc.Checked); Program.sqlcmd.ExecuteNonQuery(); Program.conn.Close(); MessageBox.Show("Sửa sinh viên thành công!", "", MessageBoxButtons.OK); this.sINHVIENBindingSource.EndEdit(); // this.refresh(); int type = 3;//chỉnh sửa ObjectUndo ob = new ObjectUndo(type, lenh); st.Push(ob); this.btnThem.Enabled = false; } catch (Exception ex) { MessageBox.Show("Sửa sinh viên thất bại.\n" + ex.Message, "", MessageBoxButtons.OK); return; } } } }
//kiem tra Ma Lop tồn tại sinh viên private void btnLopXoa_Click(object sender, EventArgs e) { if (MessageBox.Show("Bạn có chắc muốn xóa nó không?", "Xóa lớp", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { if (Program.conn.State == ConnectionState.Closed) { Program.conn.Open(); } try { String check = "SP_KiemTraMaLopTonTaiSinhVien"; Program.sqlcmd = Program.conn.CreateCommand(); Program.sqlcmd.CommandType = CommandType.StoredProcedure; Program.sqlcmd.CommandText = check; Program.sqlcmd.Parameters.Add("@MALOP", SqlDbType.NChar).Value = txtMaLop.Text; Program.sqlcmd.Parameters.Add("@Ret", SqlDbType.Int).Direction = ParameterDirection.ReturnValue; Program.sqlcmd.ExecuteNonQuery(); String ret = Program.sqlcmd.Parameters["@Ret"].Value.ToString(); if (ret == "1") { MessageBox.Show("Lớp có sinh viên!\nKhông thể xóa!", "THÔNG BÁO LỖI", MessageBoxButtons.OK); } if (ret == "2") { MessageBox.Show("Tồn tại mã lớp trong sinh viên ở site khác.\n", "", MessageBoxButtons.OK); return; } if (ret == "0") { String lenhstr = "SP_DeleteMaLop"; Program.sqlcmd = Program.conn.CreateCommand(); Program.sqlcmd.CommandType = CommandType.StoredProcedure; Program.sqlcmd.CommandText = lenhstr; Program.sqlcmd.Parameters.Add("@MALOP", SqlDbType.NChar).Value = txtMaLop.Text; Program.sqlcmd.ExecuteNonQuery(); // this.lOPTableAdapter.Connection.ConnectionString = Program.connstr; MessageBox.Show("Xóa thành công!", "Thành công", MessageBoxButtons.OK); int type = 2;//XÓA String lenh = "exec SP_UndoDeleteLop '" + txtMaLop.Text + "', '" + txtTenLop.Text + "', '" + txtMaKhoa.Text + "'"; ObjectUndo ob = new ObjectUndo(type, lenh); st.Push(ob); this.lOPBindingSource.RemoveCurrent(); this.lOPBindingSource.EndEdit(); Program.conn.Close(); txtMaKhoa.Focus(); this.btnLopThem.Enabled = false; return; } } catch (Exception ex) { MessageBox.Show("Lỗi xóa lớp.\n" + ex.Message, "", MessageBoxButtons.OK); } } }
private void btnLopThem_Click(object sender, EventArgs e) { if (Program.conn.State == ConnectionState.Closed) { Program.conn.Open(); } Boolean checkValidation = validationSinhVien(); if (!checkValidation) { return; } int checkMaSV = kiemTraSinhVienTonTai(txtMaSV.Text); if (checkMaSV == 1) { MessageBox.Show("Tồn tại mã sinh viên.\n", "", MessageBoxButtons.OK); } else if (checkMaSV == 2) { MessageBox.Show("Tồn tại mã sinh viên trong site khác.\n", "", MessageBoxButtons.OK); } else { try { String strLenh = "dbo.SP_InsertSinhVien"; Program.sqlcmd = Program.conn.CreateCommand(); Program.sqlcmd.CommandType = CommandType.StoredProcedure; Program.sqlcmd.CommandText = strLenh; cmdSinhVien(txtMaSV.Text, txtHo.Text, txtTen.Text, txtMaLop.Text, checkboxPhai.Checked, comboNgaySinh.Text, txtNoiSinh.Text, txtDiaChi.Text, checkboxNghiHoc.Checked); Program.sqlcmd.ExecuteNonQuery(); Program.conn.Close(); this.btnThem.Enabled = false; this.sINHVIENBindingSource.EndEdit(); sINHVIENBindingSource.ResetAllowNew(); Program.conn.Close(); MessageBox.Show("Thêm sinh viên thành công", "THÔNG BÁO", MessageBoxButtons.OK); this.btnThem.Enabled = false; int type = 1;//Thêm String lenh = "exec SP_UndoThemSinhVien '" + txtMaSV.Text + "'"; ObjectUndo ob = new ObjectUndo(type, lenh); st.Push(ob); return; } catch (Exception ex) { MessageBox.Show("Lỗi ghi sinh viên.\n" + ex.Message, "", MessageBoxButtons.OK); return; } } }
private void btnPhucHoiSV_Click(object sender, EventArgs e) { try { ObjectUndo ob = (ObjectUndo)st.Pop(); if (ob.getType() == 1) { if (Program.conn.State == ConnectionState.Closed) { Program.conn.Open(); } MessageBox.Show("Khôi phục sau khi thêm " + ob.getLenh()); Program.ExecSqlDataReader(ob.getLenh()); this.sINHVIENTableAdapter.Fill(this.qLDSVROOT.SINHVIEN); Program.conn.Close(); } if (ob.getType() == 2) { if (Program.conn.State == ConnectionState.Closed) { Program.conn.Open(); } MessageBox.Show("Khôi phục sau khi xóa " + ob.getLenh()); Program.ExecSqlDataReader(ob.getLenh()); this.sINHVIENTableAdapter.Fill(this.qLDSVROOT.SINHVIEN); Program.conn.Close(); } if (ob.getType() == 3) { if (Program.conn.State == ConnectionState.Closed) { Program.conn.Open(); } MessageBox.Show("Khôi phục sau khi sữa " + ob.getLenh()); Program.ExecSqlDataReader(ob.getLenh()); this.sINHVIENTableAdapter.Fill(this.qLDSVROOT.SINHVIEN); Program.conn.Close(); } } catch (Exception ex) { MessageBox.Show("Không có gì để Undo", "THÔNG BÁO", MessageBoxButtons.OK); } }
private void toolStripButtonXoa_Click(object sender, EventArgs e) { if (DialogResult.Yes == MessageBox.Show("Bạn có muốn xóa hay không ?", "THÔNG BÁO", MessageBoxButtons.YesNo, MessageBoxIcon.Question)) { if (Program.conn.State == ConnectionState.Closed) { Program.conn.Open(); } String strLenh = "dbo.SP_KiemTraMaTacGia"; Program.sqlcmd = Program.conn.CreateCommand(); Program.sqlcmd.CommandType = CommandType.StoredProcedure; Program.sqlcmd.CommandText = strLenh; Program.sqlcmd.Parameters.Add("@MATACGIA", SqlDbType.VarChar).Value = mATACGIASpinEdit.Text; Program.sqlcmd.Parameters.Add("@Ret", SqlDbType.Int).Direction = ParameterDirection.ReturnValue; Program.sqlcmd.ExecuteNonQuery(); Program.conn.Close(); String Ret = Program.sqlcmd.Parameters["@Ret"].Value.ToString(); String maTacGia = ""; if (Ret != "0") { MessageBox.Show("Không thể xóa !", "THÔNG BÁO LỖI", MessageBoxButtons.OK); return; } maTacGia = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "MATACGIA").ToString(); int type = 2; String mATacGiaUndo = mATACGIASpinEdit.Text; String tenTacGia = hOTENTGTextEdit.Text; String diaChi = dIACHITGTextEdit.Text; String soDienThoai = dIENTHOAITGTextEdit.Text; String strlenUndo = "exec SP_UndoDeleteTacGia '" + mATacGiaUndo + "'"; ObjectUndo ob = new ObjectUndo(type, strlenUndo); st.Push(ob); String strlen = "exec SP_UndoThemTacGia '" + maTacGia + "'"; Program.ExecSqlNonQuery(strlen); this.tACGIATableAdapter.FillByTinhTrang(this.qL_THUVIENDataSet.TACGIA); } buttonChucNang(); return; }
private void BtnPhucHoiMonHoc_Click(object sender, EventArgs e) { try { ObjectUndo ob = (ObjectUndo)st.Pop(); if (ob.getType() == 1) { undo("Khôi phục sau khi thêm?", ob.getLenh()); } if (ob.getType() == 2) { undo("Khôi phục sau khi xóa?", ob.getLenh()); } if (ob.getType() == 3) { undo("Khôi phục sau khi sửa?", ob.getLenh()); } } catch (Exception ex) { MessageBox.Show("Không có gì để Undo", "THÔNG BÁO", MessageBoxButtons.OK); } }
private void toolStripButtonLuu_Click(object sender, EventArgs e) { if (choose == 0) { string hoTenTacGia = this.hOTENTGTextEdit.Text; string diaChiTacGia = this.dIACHITGTextEdit.Text; string soDienThoai = this.dIENTHOAITGTextEdit.Text; if (hoTenTacGia == "") { MessageBox.Show("Vui lòng nhập họ tên tác giả ! ", "Thông báo", MessageBoxButtons.OK); return; } if (diaChiTacGia == "") { MessageBox.Show("Vui lòng nhập địa chỉ tác giả ! ", "Thông báo", MessageBoxButtons.OK); return; } if (soDienThoai == "") { MessageBox.Show("Vui lòng nhập số điện thoại !", "Thông báo", MessageBoxButtons.OK); return; } this.Validate(); this.tACGIABindingSource.EndEdit(); // kết thúc quá trình hiệu chỉnh dữ liệu trên 1 dòng trong Dataset this.tACGIATableAdapter.Update(this.qL_THUVIENDataSet); //String exec = "Exec SP_ThemTacGia '" + hoTenTacGia + "','" + diaChiTacGia + "','" + soDienThoai + "'"; //Program.ExecSqlDataReader(exec); MessageBox.Show("Thêm Tác giả Thành Công ! ", "THÔNG BÁO", MessageBoxButtons.OK); int type = 1; // XOA String strlenhUndo = "exec SP_UndoThemTacGia '" + mATACGIASpinEdit.Text + "'"; ObjectUndo ob = new ObjectUndo(type, strlenhUndo); st.Push(ob); textBoxThongTin(false); buttonChucNang(); this.tACGIATableAdapter.FillByTinhTrang(this.qL_THUVIENDataSet.TACGIA); return; } if (choose == 1) { //public string hoTenTacGia; //public string diaChiTacGia; //public string soDienThoai; String maTacGia = mATACGIASpinEdit.Text; int type = 3; String strlenUndo = "exec SP_UndoChinhSuaTacGia '" + maTacGia + "','" + hoTenTacGia + "','" + diaChiTacGia + "','" + soDienThoai + "'"; ObjectUndo ob = new ObjectUndo(type, strlenUndo); st.Push(ob); this.Validate(); this.tACGIABindingSource.EndEdit(); this.tableAdapterManager.UpdateAll(qL_THUVIENDataSet); MessageBox.Show("Chỉnh Sửa Tác Giả Thành công", "THÔNG BÁO", MessageBoxButtons.OK); textBoxThongTin(false); buttonChucNang(); return; } }
private void btnLopSua_Click(object sender, EventArgs e) { if (MessageBox.Show("Bạn có chắc muốn sửa nó không?", "Sửa lớp", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { if (txtMaLop.Text.Trim() == "") { MessageBox.Show("Mã lớp không được thiếu!", "", MessageBoxButtons.OK); txtMaLop.Focus(); return; } if (txtTenLop.Text.Trim() == "") { MessageBox.Show("Tên lớp không được thiếu!", "", MessageBoxButtons.OK); txtTenLop.Focus(); return; } if (txtMaKhoa.Text.Trim() == "") { MessageBox.Show("Mã khoa không được thiếu!", "", MessageBoxButtons.OK); txtMaKhoa.Focus(); return; } try { if (Program.conn.State == ConnectionState.Closed) { Program.conn.Open(); } String strLenh = "dbo.SP_KiemTraLopTonTai"; Program.sqlcmd = Program.conn.CreateCommand(); Program.sqlcmd.CommandType = CommandType.StoredProcedure; Program.sqlcmd.CommandText = strLenh; Program.sqlcmd.Parameters.Add("@MALOP", SqlDbType.NChar).Value = txtMaLop.Text; Program.sqlcmd.Parameters.Add("@Ret", SqlDbType.Int).Direction = ParameterDirection.ReturnValue; Program.sqlcmd.ExecuteNonQuery(); Program.conn.Close(); String Ret = Program.sqlcmd.Parameters["@Ret"].Value.ToString(); if (Ret == "0") { MessageBox.Show(" nhân viên không tồn tại !", "THÔNG BÁO LỖI", MessageBoxButtons.OK); return; } if (Ret == "2") { MessageBox.Show("Tồn tại mã lớp ở site khác.\n", "", MessageBoxButtons.OK); return; } if (Ret == "1") { if (Program.conn.State == ConnectionState.Closed) { Program.conn.Open(); } handleDuLieuFocus(); String lenh = "exec SP_UndoUpdateLop '" + maL + "', N'" + tenL + "', '" + maK + "'"; String upDateLop = "SP_UpdateMaLop"; Program.sqlcmd = Program.conn.CreateCommand(); Program.sqlcmd.CommandType = CommandType.StoredProcedure; Program.sqlcmd.CommandText = upDateLop; Program.sqlcmd.Parameters.Add("@MALOP", SqlDbType.NChar).Value = txtMaLop.Text; Program.sqlcmd.Parameters.Add("@TENLOP", SqlDbType.NVarChar).Value = txtTenLop.Text; Program.sqlcmd.Parameters.Add("@MAKH", SqlDbType.NChar).Value = txtMaKhoa.Text; Program.sqlcmd.ExecuteNonQuery(); Program.conn.Close(); MessageBox.Show("Sửa lớp thành công!", "", MessageBoxButtons.OK); this.lOPBindingSource.EndEdit(); int type = 3;//chỉnh sửa ObjectUndo ob = new ObjectUndo(type, lenh); st.Push(ob); this.btnLopThem.Enabled = false; } } catch (Exception ex) { MessageBox.Show("Lỗi ghi lớp.\n" + ex.Message, "", MessageBoxButtons.OK); return; } } }
private void btnLopThem_Click(object sender, EventArgs e) { if (Program.conn.State == ConnectionState.Closed) { Program.conn.Open(); } if (txtMaLop.Text.Trim() == "") { MessageBox.Show("Mã lớp không được thiếu!", "", MessageBoxButtons.OK); txtMaLop.Focus(); return; } if (txtTenLop.Text.Trim() == "") { MessageBox.Show("Tên lớp không được thiếu!", "", MessageBoxButtons.OK); txtTenLop.Focus(); return; } if (txtMaKhoa.Text.Trim() == "") { MessageBox.Show("Mã khoa không được thiếu!", "", MessageBoxButtons.OK); txtMaKhoa.Focus(); return; } int checkMaLop = checkMaLopTonTai(); if (checkMaLop == 0 || checkMaLop == 1 || checkMaLop == 2) { return; } ///thêm lớp try { if (Program.conn.State == ConnectionState.Closed) { Program.conn.Open(); } String strLenh = "dbo.SP_InsertLop"; Program.sqlcmd = Program.conn.CreateCommand(); Program.sqlcmd.CommandType = CommandType.StoredProcedure; Program.sqlcmd.CommandText = strLenh; Program.sqlcmd.Parameters.Add("@MALOP", SqlDbType.NChar).Value = txtMaLop.Text; Program.sqlcmd.Parameters.Add("@TENLOP", SqlDbType.NVarChar).Value = txtTenLop.Text; Program.sqlcmd.Parameters.Add("@MAKH", SqlDbType.NChar).Value = txtMaKhoa.Text; Program.sqlcmd.ExecuteNonQuery(); Program.conn.Close(); this.btnLopThem.Enabled = false; int type = 1;//Thêm String lenh = "exec SP_UndoThemLop '" + txtMaLop.Text + "'"; ObjectUndo ob = new ObjectUndo(type, lenh); st.Push(ob); this.lOPBindingSource.EndEdit(); lOPBindingSource.ResetAllowNew(); Program.conn.Close(); MessageBox.Show("Thêm Lớp Thành công", "THÔNG BÁO", MessageBoxButtons.OK); st.Push(ob); return; } catch (Exception ex) { MessageBox.Show("Lỗi ghi lớp.\n" + ex.Message, "", MessageBoxButtons.OK); return; } }
private void BtnSuaMonHoc_Click(object sender, EventArgs e) { if (txtMaMH.Text.Trim() == "") { MessageBox.Show("Mã môn học không để trống!", "", MessageBoxButtons.OK); txtMaMH.Focus(); return; } if (txtMaMH.Text.Trim().Length > 8) { MessageBox.Show("Mã môn học tối đa 8 ký tự!", "", MessageBoxButtons.OK); txtMaMH.Focus(); return; } if (txtTenMH.Text.Trim() == "") { MessageBox.Show("Tên môn học không để trống!", "", MessageBoxButtons.OK); txtTenMH.Focus(); return; } if (txtTenMH.Text.Trim().Length > 40) { MessageBox.Show("Tên môn học tối đa 40 ký tự!", "", MessageBoxButtons.OK); txtTenMH.Focus(); return; } try { // Check if MaMH exists if (Program.conn.State == ConnectionState.Closed) { Program.conn.Open(); } String spName = "SP_KiemMaMHTonTai"; Program.sqlcmd = Program.conn.CreateCommand(); Program.sqlcmd.CommandType = CommandType.StoredProcedure; Program.sqlcmd.CommandText = spName; // SP Variables Program.sqlcmd.Parameters.Add("@MAMH", SqlDbType.NChar).Value = txtMaMH.Text; Program.sqlcmd.Parameters.Add("@TENMH", SqlDbType.NVarChar).Value = txtTenMH.Text; Program.sqlcmd.Parameters.Add("@Ret", SqlDbType.Int).Direction = ParameterDirection.ReturnValue; Program.sqlcmd.ExecuteNonQuery(); String result = Program.sqlcmd.Parameters["@Ret"].Value.ToString(); // If maMH exists if (result == "2") { MessageBox.Show("Tên môn học đã tồn tại.\n", "", MessageBoxButtons.OK); Program.conn.Close(); return; } else if (result == "0") { MessageBox.Show("Mã môn học không tồn tại.\n", "", MessageBoxButtons.OK); Program.conn.Close(); return; } else { if (MessageBox.Show("Bạn có chắc muốn sửa không?", "Sửa môn học", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { // Get the row on focus contain data handleDuLieuFocus(); // Save action update Monhoc into Stack int type = 3; String lenh = "exec SP_UndoUpdateMonHoc '" + maMH + "', N'" + tenMH + "'"; ObjectUndo ob = new ObjectUndo(type, lenh); st.Push(ob); // Run sp Update monHoc if (Program.conn.State == ConnectionState.Closed) { Program.conn.Open(); } ExcuteSP_Update_Insert_MonHoc("SP_UpdateMonHoc", "Sửa môn học thành công"); Program.conn.Close(); } } } catch (Exception ex) { MessageBox.Show("Lỗi kiểm tra mã môn học.\n" + ex.Message, "", MessageBoxButtons.OK); Program.conn.Close(); return; } }
private void BtnXoaMonHoc_Click(object sender, EventArgs e) { // Delete on MAMH try { // Check if MaMH exists if (Program.conn.State == ConnectionState.Closed) { Program.conn.Open(); } String spName = "SP_KiemMaMHTonTai"; Program.sqlcmd = Program.conn.CreateCommand(); Program.sqlcmd.CommandType = CommandType.StoredProcedure; Program.sqlcmd.CommandText = spName; // SP Variables Program.sqlcmd.Parameters.Add("@MAMH", SqlDbType.NChar).Value = txtMaMH.Text; Program.sqlcmd.Parameters.Add("@TENMH", SqlDbType.NVarChar).Value = txtTenMH.Text; Program.sqlcmd.Parameters.Add("@Ret", SqlDbType.Int).Direction = ParameterDirection.ReturnValue; Program.sqlcmd.ExecuteNonQuery(); String result = Program.sqlcmd.Parameters["@Ret"].Value.ToString(); // If maMH exists if (result == "1") { try { // SP return // 1: exist // 0: not exist // Check if MonHoc had Diem => cant delete String spName1 = "SP_KiemMHTonTaiDiem"; Program.sqlcmd = Program.conn.CreateCommand(); Program.sqlcmd.CommandType = CommandType.StoredProcedure; Program.sqlcmd.CommandText = spName1; // SP Variables Program.sqlcmd.Parameters.Add("@MAMH", SqlDbType.NChar).Value = txtMaMH.Text; Program.sqlcmd.Parameters.Add("@Ret", SqlDbType.Int).Direction = ParameterDirection.ReturnValue; Program.sqlcmd.ExecuteNonQuery(); String ret = Program.sqlcmd.Parameters["@Ret"].Value.ToString(); // If MonHoc had Diem if (ret == "1") { MessageBox.Show("Mã môn này đã có điểm!", "THÔNG BÁO", MessageBoxButtons.OK); } if (ret == "0") { if (MessageBox.Show("Bạn có chắc muốn xóa nó không?", "Xóa môn học", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { // Save action delete Monhoc into Stack int type = 2; String lenh = "exec SP_UndoDeleteMonHoc '" + txtMaMH.Text + "', N'" + txtTenMH.Text + "'"; ObjectUndo ob = new ObjectUndo(type, lenh); st.Push(ob); // Delete Monhoc this.mONHOCBindingSource.RemoveCurrent(); MessageBox.Show("Xóa thành công!", "Thành công", MessageBoxButtons.OK); this.mONHOCTableAdapter.Update(this.qLDSVROOT.MONHOC); Program.conn.Close(); } } } catch (Exception ex) { MessageBox.Show("Lỗi xóa môn học.\n" + ex.Message, "", MessageBoxButtons.OK); Program.conn.Close(); return; } } else { MessageBox.Show("Mã môn học không tồn tại.\n", "THÔNG BÁO", MessageBoxButtons.OK); Program.conn.Close(); return; } } catch (Exception ex) { // Can be if did not pick the Department MessageBox.Show("Lỗi kiểm tra mã môn học.\n" + ex.Message, "", MessageBoxButtons.OK); Program.conn.Close(); return; } }
private void BtnThemMonHoc_Click(object sender, EventArgs e) { // Checking error if (txtMaMH.Text.Trim() == "") { MessageBox.Show("Mã môn học không được để trống!", "", MessageBoxButtons.OK); txtMaMH.Focus(); return; } if (txtMaMH.Text.Trim().Length > 8) { MessageBox.Show("Mã môn học tối đa 8 ký tự!", "", MessageBoxButtons.OK); txtMaMH.Focus(); return; } if (txtTenMH.Text.Trim() == "") { MessageBox.Show("Tên môn học không được để trống!", "", MessageBoxButtons.OK); txtTenMH.Focus(); return; } if (txtTenMH.Text.Trim().Length > 40) { MessageBox.Show("Tên môn học tối đa 40 ký tự!", "", MessageBoxButtons.OK); txtTenMH.Focus(); return; } try { // SP return // 1: exist // 0: not exist // String strLenh = spName; if (Program.conn.State == ConnectionState.Closed) { Program.conn.Open(); } String spName = "SP_KiemMaMHTonTai"; Program.sqlcmd = Program.conn.CreateCommand(); Program.sqlcmd.CommandType = CommandType.StoredProcedure; Program.sqlcmd.CommandText = spName; // SP Variables Program.sqlcmd.Parameters.Add("@MAMH", SqlDbType.NChar).Value = txtMaMH.Text; Program.sqlcmd.Parameters.Add("@TENMH", SqlDbType.NVarChar).Value = txtTenMH.Text; Program.sqlcmd.Parameters.Add("@Ret", SqlDbType.Int).Direction = ParameterDirection.ReturnValue; Program.sqlcmd.ExecuteNonQuery(); String result = Program.sqlcmd.Parameters["@Ret"].Value.ToString(); if (result == "1") { MessageBox.Show("Mã môn học đã tồn tại.\n", "", MessageBoxButtons.OK); Program.conn.Close(); return; } else if (result == "2") { MessageBox.Show("Tên môn học đã tồn tại.\n", "", MessageBoxButtons.OK); Program.conn.Close(); return; } else { try { // Save action add Monhoc into Stack int type = 1; String lenh = "exec SP_UndoThemMonHoc '" + txtMaMH.Text + "'"; ObjectUndo ob = new ObjectUndo(type, lenh); st.Push(ob); // Excute SP ExcuteSP_Update_Insert_MonHoc("SP_InsertMonHoc", "Thêm môn học thành công"); isCleared = false; // Do not allow user to edit MaMH txtMaMH.ReadOnly = true; // Close connection Program.conn.Close(); } catch (Exception ex) { MessageBox.Show("Lỗi thêm môn học.\n" + ex.Message, "", MessageBoxButtons.OK); Program.conn.Close(); return; } } } catch (Exception ex) { MessageBox.Show("Lỗi kiểm tra mã môn học.\n" + ex.Message, "", MessageBoxButtons.OK); Program.conn.Close(); return; } }