private void btnTaoHD_Click(object sender, EventArgs e) { if (txtDiaChi.Text == "" || txtMaNV.Text == "" || txtSDT.Text == "" || txtTenKhach.Text == "" || dgvDanhSachMatHang.RowCount <= 1) { MessageBox.Show("Vui lòng điền đầy đủ thông tin hóa đơn!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } btnTinhTien_Click(sender, e); SqlConnection con = SQLConnector.GetSqlConnection(); SqlCommand cmd = new SqlCommand(); cmd.CommandType = CommandType.Text; cmd.Connection = con; SqlTransaction tran; tran = con.BeginTransaction(); cmd.Transaction = tran; //thêm dl vào bảng hóa đơn DateTime date = DateTime.Now; long lastID = -1; string sql1 = "INSERT INTO tblHOADON(NgayXuat,TenKH,MaNV,SDTKhach,DiaChiKhach,TongTien) " + "VALUES(N'" + date.ToShortDateString() + "',N'" + txtTenKhach.Text + "',N'" + txtMaNV.Text + "',N'" + txtSDT.Text + "',N'" + txtDiaChi.Text + "',N'" + txtTongTien.Text + "')"; try { cmd.CommandText = sql1; cmd.ExecuteNonQuery(); //Lấy ra id cuối cùng trong bảng Hóa Đơn string sql2 = "SELECT MAX(MaHoaDon) as lastID FROM tblHOADON "; cmd.CommandText = sql2; using (DbDataReader reader = cmd.ExecuteReader()) { if (reader.HasRows) { while (reader.Read()) { int idIndex = reader.GetOrdinal("lastID"); lastID = reader.GetInt64(idIndex); } } } } catch { MessageBox.Show("Có lỗi xảy ra, hãy kiểm tra lại thông tin hóa đơn", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } //thêm dl vào bảng chi tiết hóa đơn try { for (int i = 0; i < dgvDanhSachMatHang.RowCount - 1; i++) { string maHoa = dgvDanhSachMatHang.Rows[i].Cells["MaHoa"].Value.ToString(); string soLuong = dgvDanhSachMatHang.Rows[i].Cells["SoLuong"].Value.ToString(); string thanhTien = dgvDanhSachMatHang.Rows[i].Cells["ThanhTien"].Value.ToString(); string sql = "INSERT INTO tblCTHOADON(MaHoaDon, MaHoa, SoLuong, ThanhTien) " + "VALUES(" + lastID + ",N'" + maHoa + "',N'" + soLuong + "',N'" + thanhTien + "')"; cmd.CommandText = sql; cmd.ExecuteNonQuery(); } tran.Commit(); } catch (Exception ex) { MessageBox.Show("Có lỗi xảy ra, kiểm tra lại thông tin hóa đơn", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error); //rollback dữ liệu sai try { tran.Rollback(); } catch (Exception ex2) { Console.WriteLine(ex2.Message); } return; } MessageBox.Show("Tạo hóa đơn thành công!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information); }
private void frmChiTietHoaDon_Load(object sender, EventArgs e) { SqlConnection con = SQLConnector.GetSqlConnection(); loadCTHoaDon(con); }
private void frmTaiKhoan_Load(object sender, EventArgs e) { SqlConnection con = SQLConnector.GetSqlConnection(); loadADMIN(con); }
private void frmHoa_Load(object sender, EventArgs e) { SqlConnection con = SQLConnector.GetSqlConnection(); LoadDGVDanhSachHoa(con); }