Mục lục Mục lục 1 Các thành viên trong nhóm 2 Lời mở đầu 3 Phần I Cơ sở dữ liệu 4 Phần II Chi tiết về ứng dụng 9 1 Trang chính của ứng dụng (frmMain) 9 2 Trang chứa các hóa đơn (frmQLHD) 15 3 Trang ch[.]
Mục lục Mục lục Các thành viên nhóm Lời mở đầu Phần I Cơ sở liệu Phần II Chi tiết ứng dụng Trang ứng dụng (frmMain) Trang chứa hóa đơn (frmQLHD) .15 Trang chứa thông tin hàng hóa (frmQLHH) 18 Trang chứa thông tin nhập hàng (frmQLNX) 19 Các trang thông tin khác 21 Phần III Đánh giá chung ứng dụng .23 Các thành viên nhóm Nguyễn Thanh Long – 11142603 - Nhóm trưởng - Phụ trách mảng lập trình logic Trần Quốc Đạt – 11140695 - Thiết kế nhập liệu sở liệu Trần Hải Duy – 11140771 - Thiết kế giao diện ứng dụng Lại Thị Thanh Trang – 11144538 - Tìm kiếm tài liệu, tổng hợp báo cáo Lời mở đầu Trong giai đoạn bùng nổ công nghệ thông tin nay, CNTT gắn bó ngày sâu sắc với người Áp dụng công nghệ vào sống giúp người giảm thiểu công việc thủ công nhiều thời gian , tiền bạc nhân lực đặc biệt lĩnh vực quản lí :quản lí sinh viên, cơng nhân,hàng hóa,… Từ , phát sinh phần mềm dùng để thuận tiện trinh làm việc : tìm kiếm, nhập liệu, thống kê,… Vì thế, nhóm tạo phần mềm ứng dụng vào thực tiễn, để việc quản lí bán hang trở nên dễ dàng , giúp cho việc cập nhật,thêm mới, tìm kiếm, hang hóa trở nên đơn giản gọi phần mềm “ Quản lý bán hàng” Đối tượng mà ứng dụng hướng đến đa dạng: Các cửa hàng, hệ thống bán lẻ Quản lí kho, Học sinh, sinh viên sử dụng mẫu Cho thân thành viên tham gia để có tiền đề xây dựng ứng dụng sau Tuy nhiên , lần đầu xây dựng ứng dụng nên mục tiêu hướng tới trước mắt đơn giản : Kết nối CSDL C# Xây dựng ứng dụng quản lý bán hàng Có kiến thức cách thức vận hành ứng dụng Biết cách xây dựng sử dụng sở liệu cho ứng dụng Phần I Cơ sở liệu - Khái niệm : Cơ sở liệu nguồn cung cấp thông tin cho hệ thống thơng tin máy tính, liệu lưu trữ cách có cấu trúc theo quy định nhằm giảm thiểu dư thừa đảm bảo tính tồn vẹn liệu - Kết nối sở liệu : Ứng dụng sử dụng sở liệu động dạng file mdf SQL server - Xác định chuỗi kết nối câu lệnh SQL cần thực "Data Source = (LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\QLBH_tmp.mdf;Integrated Security=True;Connect Timeout=30"; Data source sử dụng thuộc local database khởi tạo cài SQL Server Managment với attachDB nằm thư mục chưa mã nguồn ứng dụng Trong có sử dụng hàm connect() disConnect() dùng để kết nối ngắt kết nối đến sở liệu - CSDL Quản lý bán hàng: Hình I.1 Hình I.2 Hình I.3 Hình I.4 tblHang Chức : Lưu trữ thông tin hàng mã hàng Tên trường MaHang TenHang DonGiaBan DonGiaNhap ConLai GhiChu TrangThai Kiểu liệu VARCHAR(255) VARCHAR(255) INT INT INT VARCHAR(255) INT Null / Not null Not null Null Null Null Null Null Null Ghi PRIMARY KEY tblHDNhap Chức : Lưu trữ thơng tin mã hóa đơn nhập, tổng tiền ngày nhập Tên trường MaHDNhap NgayNhap TongTienNhap Kiểu liệu VARCHAR(255) DATE INT Null / Not null Not null Null Null Ghi PRIMARY KEY tblHDBan Chức : Lưu trữ thơng tin mã hóa đơn bán, tổng tiền ngày bán Tên trường MaHDBan NgayBan TongTienBan Kiểu liệu VARCHAR(255) DATE INT Null / Not null Not null Null Null Ghi PRIMARY KEY tblChiTietHDNhap Chức : Lưu trữ thông tin từ bảng hàng hóa đơn nhập để xem chi tiết hóa đơn nhập Tên trường MaHDNhap MaHang SoLuongNhap DonGiaNhap ThanhTien Kiểu liệu VARCHAR(255) VARCHAR(255) INT INT INT Null / Not null Not null Not null Null Null Null Ghi FOREIGN KEY FOREIGN KEY tblChiTietHDBan Chức : Lưu trữ thơng tin từ bảng hàng hóa đơn bán để xem chi tiết hóa đơn bán Tên trường MaHDBan MaHang SoLuongBan DonGiaBan ThanhTien Kiểu liệu VARCHAR(255) VARCHAR(255) INT INT INT Null / Not null Not null Not null Null Null Null Ghi FOREIGN KEY FOREIGN KEY Tại lại phân bảng tblChiTietHDBan tblHDBan Một hóa đơn bán hàng có nhiều mã hàng phải tạo bảng tblHDBan để lưu mã hóa đơn cịn tblChiTietHDBan có chi tiết mã hàng , tên hàng , số lượng đơn giá Nếu tạo bảng tblChiTietHDBan hay tblHDBan Về logic gồm mã hàng mã hóa đơn khó kiểm sốt tìm kiếm sai quy tắc bảng có đến PK Nếu có PK ví dụ mã hóa đơn ta khơng thể cho nhiều mặt hàng vào mã hóa đơn ( PK) bảng có nhiều trường liệu quản lý khó khăn tblChiTietHDBan lại có FK mà ko có PK tblChiTietHDBan khơng sử dụng PK bảng trung gian tblHang tblHDBan để lưu trữ liệu có báo cáo kiểu mẫu khơng có Để tiện cho việc thiết lập mã nguồn bên sở liệu có sử dụng trigger hoạt động có mặt hàng mua/ bán tự động cập nhập sở liệu Hình 1.5 Nhìn vào hình 1.5 câu lệnh SQL xây dựng trigger Ban_hang Mua_hang Để hiểu rõ trigger ta tạm thời quan tâm tới trigger Ban_hang Trigger SQL chạy có lệnh thay đổi sở liệu insert, update, delete, … Trên bảng cụ thể Khi trigger chạy thay đổi tới mà người dùng sử dụng Ở lý thuyết muốn tạo hóa đơn bán hàng thực chất insert liệu mặt hàng thuộc hóa đơn hàng vào tblChiTietHDBan, insert ta coi hàng bán, bảng “inserted” tạo tự động sử dụng dạng INSERT trigger, bảng thiết kế tương tự bảng mà chiếu đến On: “On tblChietHDBan” Sử dụng điều để ta SET thay đổi muốn có, bán hàng số lượng mặt hàng bán dẫn tới số lượng lại mặt hàng kho phải giảm Trigger xử lý Việc xây dựng Trigger kiểu đỡ cho việc gọi hàm update liên tục lập trình chi tiết ứng dụng Phần II Chi tiết ứng dụng Trang ứng dụng (frmMain) Hình II.2.1 Tại trang có menu "Tùy chọn" "Giới Thiệu" Menu "Tùy chọn" đưa người dùng tới trang khác Menu "Giới thiệu" chưa thiết lập chức Về trang có tác dụng tạo hóa đơn mua hàng chứa thông tin khác hàng, ngày mua mã hóa đơn Khi bấm xác nhận đơn hàng text box Ngày Mã hóa đơn chạy hàm tạo thông tin Với ngày mua ứng dụng thiết lập lấy hệ thống: "tbxNgay.Text = DateTime.Now.ToShortDateString();" Còn mã hóa đơn tạo ngẫu nhiên số từ 0~999 kiểm tra sở liệu xem có mã hóa đơn chưa sau tiến hành tạo lại tồn mã hóa đơn: Hình II.2.2 Phần thứ gồm thông tin mặt hàng mua Các mặt hàng bán thị thông tin ComboBox Mã hàng, TextBox Tên hàng, Còn lại(Số lượng lại) ComboBox Mã hàng: thay đổi mã hàng thay đổi thông tin liên quan mặt hàng chọn 10 Hình II.2.3 Việc thay đổi thiết lập mã dưới: Hình II.2.4 Sau xác nhận mặt hàng muốn mua người dùng bấm nút Ghi hàng để đăng kí mặt hàng mua vào bảng bên Bảng hiển thị thơng tin thuộc mặt hàng tính tiền mua dựa theo đơn giá số lượng mua hàng : 11 Hình II.2.5 Việc thực xử lý mã lập trình: Hình II.2.6 12 Khi hồn thành việc mua hàng bên có TextBox "Thành Tiền" tính tổng giá trị phiếu hóa đơn Ở người dùng nhập vào TextBox "Tiền khách đưa" chương trình tự động tính tốn tiền trả lại Hình II.2.7 Mã lập trình : Hình II.2.8 13 Nút lưu in phiếu sử dụng lưu tồn thơng tin hóa đơn vào sở liệu đưa form Crystal Report coi in phiếu hóa đơn: Mã lập trình : Hình II.2.9 Khi bấm vào nút "Làm mới" trang xóa hóa đơn cũ cập nhật lại số lượng lại hàng dựa số lượng hàng mua Khi bấm vào nút"Xóa hóa đơn" trang xóa hóa đơn 14 Trang chứa hóa đơn (frmQLHD) Trang phục vụ việc tìm kiếm xem lại hóa đơn có sở liệu.: Hình II.3.1 Chương trình sử dụng tìm kiếm tuyệt đối thơng qua Mã hóa đơn tìm kiếm tương đối thơng qua Ngày thiết lập hóa đơn Với câu lệnh tìm kiếm sở liệu: Thơng qua mã : "Select MaHDBan as 'Mã Hóa Đơn', NgayBan as 'Ngày',TongTienBan as 'Tổng tiền' from tblHDBan where MaHDBan ='" + tbxTukhoa.Text + "'" Thông qua ngày : "Select MaHDNhap as 'Mã Hóa Đơn', NgayNhap as 'Ngày',TongTienNhap as 'Tổng tiền' from tblHDNhap where NgayNhap like '%" + dateHD.Text + "%'"; Việc tìm kiếm thực hai dạng hóa đơn chương trình Hóa Đơn Bán Hàng Hóa Đơn Nhập Hàng: 15 Hình II.3.2 Khi nhập từ khóa bảng gồm thơng tin hóa đơn chứa từ khóa ra: Hình II.3.3 Và chọn hóa đơn bấm vào nút Xem chi tiết thơng tin hóa đơn trang frmChiTietHD Khi bấm nút In Hóa Đơn hóa đơn thể thơng qua Crystal Report (xem mã để in report hình III.2.9): 16 Hình II.3.4 Tồn chức áp dụng cho hóa đơn nhập hóa đơn bán Việc đưa thông tin vào frmChiTietHD tương tự tìm kiếm hóa đơn dựa theo Mã hóa đơn chọn Mã hóa đơn truyền tới câu truy vấn frmChiTietHD: Hình II.3.5 (Mã frmQLHD) 17 Hình II.3.6 (Mã frmChiTietHD) Trang chứa thơng tin hàng hóa (frmQLHH) Hình II.4.1 Tại form người dùng có chức tìm, sửa thơng tin, xóa mặt hàng có sở liệu Về câu truy vấn tìm kiếm tương tự tìm kiếm frmQLHD đơn giản đổi search dựa bảng chứa thông tin hàng hóa search the tên hàng mã hàng Người dùng muốn sửa thông tin mặt hàng sửa trực tiếp thơng tin mặt hàng bảng thể thơng tin sau bấm xác nhận để cập nhật thơng tin vào sở liệu (Không thể sửa Mã Hàng) Ở nút xác nhận sử dụng thử hàm cập nhật lên thông tin sở liệu dựa liệu DataGridview có sẵn Visual Studio 18 Hình II.4.2 Về câu truy vấn nút xóa thực chất khơng sử dụng Delete mà update Do bảng sở liệu Mặt hàng chưa “khóa chính” “Mã hàng” nên thực khơng nên xóa hẳn sở liệu ảnh hưởng tới bảng liệu khác cập nhật lại trạng thái hiện(1) khơng hiện(0) để thể việc xóa khơng xóa Từ thơng tin hóa đơn tạo đảm bảo không bị Câu truy vấn: Hình II.4.3 Trang chứa thông tin nhập hàng (frmQLNX) Trang gồm tác vụ mà người dùng thực tạo hóa đơn nhập hàng gồm thơng tin Mã hóa đơn, ngày, mặt hàng nhập tổng giá trị hóa đơn 19 Hình II.5.1 Việc tạo Mã hóa đơn ngày nhập việc xác nhập nhận hàng tương tự frmMain (Hình III.2.2~ Hình III.2.8) Việc tính tổng giá trị tương tự Tuy nhiên hình III.5.1 mặt hàng có mã S01 có sở liệu mặt hàng mã S99 chưa có nên xử lý câu vấn dạng Count Ở hàng lấy giá trị mã hàng, thực đếm liệu có mã sở liệu Nếu Count