Xây dựng ứng dụng quản lý kinh doanh môn Lập trình net | Đại học Công nghệ Đông Á
Xây dựng ứng dụng quản lý kinh doanh môn Lập trình net | Đại học Công nghệ Đông Á. Tài liệu được biên soạn dưới dạng file PDF gồm 49 trang, giúp bạn tham khảo, ôn tập và đạt kết quả cao trong kì thi sắp tới. Mời bạn đọc đón xem!
Preview text:
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á
KHOA: CÔNG NGHỆ THÔNG TIN BÀI TẬP LỚN
HỌC PHẦN: LẬP TRÌNH .NET
ĐỀ SỐ 11: XÂY DỰNG ỨNG DỤNG QUẢN LÝ KING DOANH
Sinh viên thực hiện Lớp Khóa Dương Công Trình DCCNTT12.10.13 K12 Nguyễn Trung Hiếu DCCNTT12.10.13 K12 Nguyễn Văn Tuyến DCCNTT12.10.13 K12
Bắc Ninh, Ngày ….. tháng ….. Năm 20 …
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á
KHOA: CÔNG NGHỆ THÔNG TIN BÀI TẬP LỚN
HỌC PHẦN: LẬP TRÌNH .NET Nhóm:
ĐỀ SỐ 11: XÂY DỰNG ỨNG DỤNG QUẢN LÝ KINH DOANH ST
Sinh viên thực hiện Khó Lớp Mã sinh Điể Điểm T a viên m bằng bằng chữ số 1 Dương Công Trình K12 DC.CNTT12.10.13 20213752 2 Nguyễn Trung Hiếu K12 DC.CNTT12.10.13 20213814 3 Nguyễn Văn Tuyến K12 DC.CNTT12.10.13 20214061 CÁN BỘ CHẤM 1 CÁN BỘ CHẤM 2
(Ký và ghi rõ họ tên)
(Ký và ghi rõ họ tên)
Bắc Ninh, Ngày …. tháng ….. Năm 20 … MỤC LỤC
(Trình bầy trong trang riêng)
DANH MỤC BẢNG BIỂU VÀ SƠ ĐỒ............................................................................4
CHƯƠNG 1: GIỚI THIỆU VỀ ĐỀ TÀI............................................................................5
(tối thiểu 5 trang)................................................................................................................5
1.1. Giới thiệu về đề tài................................................................................................5
1.2. Kế hoạch làm đề tài.................................................................................................5
1.2. Các công nghệ sử dụng.........................................................................................5
CHƯƠNG 2: MÔ HÌNH HỆ THỐNG...............................................................................6
(tối thiểu 15 trang)..............................................................................................................6
2.1. Các chức năng của hệ thống....................................................................................6
2.2. Các giao diện có trong hệ thống..............................................................................6
2.3. Mô hình lớp...........................................................................................................12
2.4. Mô hình cơ sở dữ liệu............................................................................................13
2.5. Các tiện ích............................................................................................................14
CHƯƠNG 3: PHÁT TRIỂN HỆ THỐNG.......................................................................19
(tối thiểu 15 trang)............................................................................................................19
3.1. Lớp GUI................................................................................................................19
3.2. Lớp BUS...............................................................................................................20
3.3. Lớp DAL...............................................................................................................20
..................................................................................................................................... 22
3.4. Các Procedured.....................................................................................................22
3.5. Kết chương............................................................................................................49
KẾT LUẬN...................................................................................................................... 50
DANH MỤC BẢNG BIỂU VÀ SƠ ĐỒ Số hiệu Tên Trang 1.1 Lưu ý
- Các sơ đồ, hình vẽ, bảng biểu phải có tên và số thứ tự được sắp xếp theo chương.
- Đối với sơ đồ, hình vẽ, đồ thị thì tên được đặt ở dưới
- Đối với bảng số liệu thì tên đặt ở trên.
CHƯƠNG 1: GIỚI THIỆU VỀ ĐỀ TÀI (tối thiểu 5 trang)
1.1. Giới thiệu về đề tài
Xây dựng ứng dụng quản lí kinh doanh là một đề tài cực kỳ hữu ích và
cần thiết trong thế giới kinh doanh hiện nay. Đây là một giải pháp ấn tượng,
hỗ trợ các doanh nghiệp quản lí và quản trị công việc hàng ngày của mình
một cách thông minh và hiệu quả hơn.
Ứng dụng quản lý kinh doanh không chỉ giúp cho các doanh nghiệp
quản lý thông tin về sản phẩm, khách hàng, nhà cung cấp, mà còn có thể tích
hợp các tính năng quản lí nhân sự, phân tích dữ liệu, báo cáo tài chính, quản
lí kho, quản lí đơn hàng và các tính năng quản lí khác. Tất cả các thông tin
được tổng hợp sẽ giúp cho các nhà quản lí dễ dàng theo dõi, phân tích và
đưa ra những quyết định đúng đắn và thiết thực trong quá trình kinh doanh.
Với sự phát triển ồ ạt của công nghệ trên toàn thế giới, việc xây dựng
và ứng dụng các ứng dụng quản lí kinh doanh sẽ trở nên ngày càng phổ biến
và cần thiết. Việc sử dụng ứng dụng này không chỉ giúp cho các doanh
nghiệp tiết kiệm thời gian và chi phí, mà còn đem lại hiệu quả kinh doanh
cao hơn, tăng cường tính cạnh tranh và phát triển bền vững.
1.2. Kế hoạch làm đề tài
Để xây dựng một ứng dụng quản lý kinh doanh hiệu quả, chúng ta cần phải
thực hiện các bước sau: -
Định nghĩa yêu cầu: Trước khi bắt đầu xây dựng ứng dụng, chúng ta phải
cố định phạm vi và yêu cầu của dự án. Những yêu cầu này có thể bao
gồm chức năng, giao diện, mức độ bảo mật, tốc độ xử lý, và nhiều yêu cầu khác nữa. -
Thiết kế cơ sở dữ liệu: Sau khi đã cố định các yêu cầu của dự án, ta cần
phải thiết kế cơ sở dữ liệu cho ứng dụng. Thông thường, cơ sở dữ liệu
của một ứng dụng quản lý kinh doanh bao gồm các bảng để lưu trữ
thông tin về sản phẩm, khách hàng, đơn đặt hàng, doanh thu, v.v. -
Xây dựng giao diện: Sau khi hoàn thiện thiết kế cơ sở dữ liệu, chúng ta
cần phải xây dựng giao diện cho ứng dụng. Giao diện này cần phải được
thiết kế sao cho dễ sử dụng, trực quan, bao gồm các tính năng chính để
quản lý kinh doanh như thêm, sửa, xóa, tìm kiếm, v.v. -
Lập trình: Sau khi đã hoàn thành thiết kế giao diện, chúng ta cần phải
xây dựng các chức năng cơ bản và tính năng phức tạp cho ứng dụng
bằng việc sử dụng các ngôn ngữ lập trình và các framework phù hợp
như Javascript, Node.js, React, v.v. -
Kiểm thử và triển khai: Sau khi hoàn thiện ứng dụng, chúng ta cần phải
thực hiện kiểm thử tính năng của ứng dụng để đảm bảo rằng nó hoạt
động tốt trước khi triển khai ứng dụng để sử dụng. -
Bảo trì và nâng cấp: Khi ứng dụng đã được triển khai, ta cần phải bảo trì,
cập nhật và nâng cấp ứng dụng để đảm bảo nó luôn hoạt động tốt và
đáp ứng được yêu cầu của người dùng. 1.3
Các công nghệ sử dụng. 1.3.1 Console App.
Console App (bản đồ theo dõi quá trình) là một ứng dụng chạy trên môi
trường dòng lệnh được phổ biến trong lập trình. Đây là một công cụ hữu ích để
hiển thị thông tin, ghi log, theo dõi tiến trình, đo lường thời gian thực hiện của một
chương trình và giúp developer dễ dàng tìm và fix lỗi trong quá trình phát triển.
Phần mềm Console App sử dụng giao diện người dùng dòng lệnh để hiển thị các
thông tin và được viết bằng các ngôn ngữ lập trình như C#, Java, Python ...
Trong Console App, nhà phát triển có thể sử dụng các câu lệnh để hiển thị
thông tin trên đầu ra console, chẳng hạn như lệnh Console.WriteLine() để hiển thị
một dòng văn bản lên console. Ngoài ra, Console App cũng cho phép đọc và xử lý
đầu vào từ người dùng, cũng như sử dụng các thư viện bên thứ ba để tăng cường
tính năng của ứng dụng.
Console App được sử dụng rộng rãi trong các lĩnh vực như phát triển game,
phần mềm server-side, hệ thống điều khiển, giám sát mạng, đồ họa máy tính, v.v.
Vì vậy, kiến thức về Console App là một phần quan trọng trong việc học và phát triển phần mềm.
Các lợi ích của Console App bao gồm khả năng theo dõi tiến trình, đo thời
gian thực hiện, debugging, profiling, cũng như đưa ra chỉ thị cho các công cụ khác
xử lý thông tin được truyền đến thông qua console input và output. Điều này giúp
developer dễ dàng điều chỉnh và xử lý các vấn đề trong quá trình phát triển phần mềm.
1.3.2 Windows Forms App (.NET Framework).
Windows Forms App là một loại ứng dụng desktop của Microsoft được viết
bằng ngôn ngữ lập trình C# hoặc VB.Net, cho phép tạo giao diện người dùng trên
nền tảng Windows. Windows Forms App cho phép tạo các ứng dụng đa dạng về
tính năng như đăng nhập, gửi email, chơi game, nhập xuất dữ liệu, v.v.
Windows Forms App cung cấp khả năng thiết kế giao diện người dùng với
các thành phần như button, label, textbox,... và các container như panel, form, etc..
Ngoài ra, Windows Forms App còn cung cấp các Controls một cách dễ dàng cho
việc tạo các ứng dụng trên desktop và cung cấp API để có thể kết nối và sử dụng
các tài nguyên của Windows như hệ thống tệp, bộ nhớ, thiết bị phần cứng...
Việc phát triển Windows Forms App đòi hỏi kiến thức về ngôn ngữ lập trình,
lập trình hướng đối tượng cũng như các kỹ năng thiết kế giao diện tốt. Bằng cách
sử dụng các công cụ như Visual Studio, nhà phát triển có thể dễ dàng tạo và phát
triển các ứng dụng Windows.
Các ứng dụng được tạo bằng Windows Forms App có thể triển khai trực tiếp
trên máy tính, hoặc có thể được đóng gói thành các file cài đặt để cung cấp cho
người dùng khác một cách dễ dàng. Windows Forms App cũng được sử dụng phổ
biến trong các lĩnh vực như bán lẻ, giáo dục, y tế, công nghiệp, v.v.
Tóm lại, Windows Forms App là một công cụ quan trọng giúp nhà phát triển
tạo ra các ứng dụng desktop trên Windows một cách hiệu quả. Điều này giúp đáp
ứng các yêu cầu của thị trường phần mềm đang ngày càng phát triển và đa dạng hóa. 1.3.3 SQL Server.
Microsoft SQL Server là một hệ thống quản lý cơ sở dữ liệu (DBMS) được
phát triển bởi Microsoft. SQL Server cung cấp một sự lựa chọn linh hoạt và mạnh
mẽ để lưu trữ và quản lý dữ liệu. SQL Server có thể được sử dụng để xây dựng các
ứng dụng doanh nghiệp quan trọng như hệ thống dành cho internet, quản lý các dữ
liệu cơ sở khách hàng, đối tác và nhà cung cấp, và các hệ thống quản lý kho và giao hàng.
SQL Server hỗ trợ nhiều ngôn ngữ truy vấn cơ sở dữ liệu, bao gồm SQL
(Structured Query Language), T-SQL (Transact-SQL), và PL/SQL. SQL Server
cũng cung cấp nhiều công cụ quản lý và xử lý dữ liệu, bao gồm các công cụ
backup và restore, quản lý quyền truy cập, phân tích dữ liệu, tối ưu hoá truy vấn,
và xử lý dữ liệu lớn.
SQL Server còn có nhiều tính năng khác như tích hợp với mạng và các hệ
thống máy chủ khác, cung cấp các kết nối lên đến hơn 64 phiên đồng thời, hỗ trợ
kết nối và truy vấn dữ liệu từ các ứng dụng khác, cũng như hiệu suất cao và tính
sẵn sàng cao. SQL Server được sử dụng rộng rãi trong các doanh nghiệp lớn và
các tổ chức khác nhau trên toàn thế giới. 1.2.
CHƯƠNG 2: MÔ HÌNH HỆ THỐNG
2.1. Các chức năng của hệ thống 2.2
Các giao diện có trong hệ thống STT Tên đối tượng Kiểu Ý nghĩa Ghi chú QuanLyDanhSach Chuyển sang trang 1 NhanVien Form quản lý nhân viên Chuyển sang trang 2 QuanLyKho Button quản lý kho QuanLyDanhSach Chuyển sang trang 3 NhapKho Button quản lý nhập kho QuanLyDanhSach Chuyển sang trang 4 XuatKho Button xuất kho Chuyển sang trang 5 QuanLyChucDanh Button chức danh
Giao diện from chức danh nhân viên:
Giao diện from danh sách nhân viên:
Giao diện from quản lí kho nhập:
Giao diện from quản lí kho: 2.3
Mô hình cơ sở dữ liệu
Lược đồ cơ sở dữ liệu quan hệ.
Mô hình cơ sở dữ liệu quan hệ
Khởi tạo cơ sở dữ liệu:
Khởi tạo bảng Animal Type:
CREATE TABLE [dbo].[AniamlType](
[ID] [int] IDENTITY(1,1) NOT NULL, [Name] [nvarchar]( ) 50 NULL,
[Describe] [nvarchar](500) NULL, [Price] [float] NULL,
CONSTRAINT [PK_AniamlType] PRIMARY KEY CLUSTERED ( [ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY] ) Khởi tại bảng Animal: CREATE TABLE [dbo].[Animal](
[ID] [int] IDENTITY(1,1) NOT NULL, [ID_Food] [int] NOT NULL, [ID_Stables] [int] NOT NULL, [Count] [int] NULL,
[Month_of_Birth] [datetime] NULL,
[Images] [varbinary](max) NULL, [Status] [nvarchar](500) NULL, [ID_Ani] [int] NULL,
CONSTRAINT [PK__Animal__3214EC27B747988E] PRIMARY KEY CLUSTERED ( [ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY] ) Khởi tạo bảng Bill: CREATE TABLE [dbo].[BILL](
[ID] [int] IDENTITY(1,1) NOT NULL, [ID_Cus] [int] NOT NULL, [ID_Sta] [int] NOT NULL, [Name] [nvarchar](100) NULL,
[Booking_date] [datetime] NULL,
[Delivery_date] [datetime] NULL, [total_money] [float] NULL,
CONSTRAINT [PK__BILL__3214EC271F22CD4C] PRIMARY KEY CLUSTERED ( [ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY] ) Khởi tạo bảng Bill_Info:
CREATE TABLE [dbo].[BILL_INFO](
[ID] [int] IDENTITY(1,1) NOT NULL, [ID_Animal] [int] NOT NULL, [ID_BILL] [int] NOT NULL, [Price] [float] NULL, [COUNT] [int] NULL, [Note] [nvarchar](100) NULL, PRIMARY KEY CLUSTERED ( [ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY] ) Khởi tạo bảng Customer: CREATE TABLE [dbo].[customer](
[ID] [int] IDENTITY(1,1) NOT NULL, [Name] [nvarchar](100) NULL, [Phone] [char]( ) 15 NULL, [Type] [bit] NULL,
CONSTRAINT [PK__customer__3214EC27CB8A6A62] PRIMARY KEY CLUSTERED ( [ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY] ) Khởi tạo bảng Food: CREATE TABLE [dbo].[Food](
[ID] [int] IDENTITY(1,1) NOT NULL, [ID_warehouse] [int] NOT NULL, [Name] [nvarchar](100) NULL, [Count] [int] NULL, [date_Expiry] [datetime] NULL, [Price] [float] NULL, [images] [image] NULL, [date_added] [datetime] NULL, [status] [nvarchar](500) NULL,
CONSTRAINT [PK__Food__3214EC27FD8BE60E] PRIMARY KEY CLUSTERED ( [ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY] )
CHƯƠNG 3: PHÁT TRIỂN HỆ THỐNG
(tối thiểu 15 trang) 3.1. Lớp GUI
Các form, mối quan hệ giữa các Form 3.2. Lớp BUS
Các class nghiệp vụ có trong hệ thống, như xử lý, báo cáo, thống kê. 3.3. Lớp DAL
Các lớp thực thể có trong hệ thống. 3.4. Các Procedured
------------Đăng nhập--------------- using System;
using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace BTN_Test {
public partial class DangNhap : Form { string taikhoan = "111"; string matkhau = "111"; public DangNhap() { InitializeComponent(); }
private void TaiKhoan_TextChanged(object sender, EventArgs e) { }
private void MatKhau_TextChanged(object sender, EventArgs e) { }
private void tbnDangNhap_Click(object sender, EventArgs e) {
if (kientradangnhap(TaiKhoan.Text, MatKhau.Text)) {
QuanLyKhachSan f = new QuanLyKhachSan(); f.Show(); this.Hide(); } else {
MessageBox.Show("Sai tên tài khoản hoặc mật khẩu! ", "Lỗi"); TaiKhoan.Focus(); } }
private void tbnThoat_Click(object sender, EventArgs e) { Application.Exit(); }
bool kientradangnhap(string TaiKhoan, string MatKhau) {
if (TaiKhoan == this.taikhoan && MatKhau == this.matkhau) { return true; } return false; }
private void DangNhap_Load(object sender, EventArgs e) { } } }
--------Trang chính Quản Lý Khách Sạn------ using System;
using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace BTN_Test {
public partial class QuanLyKhachSan : Form { bool isThoat = true; public QuanLyKhachSan() { InitializeComponent(); }
private Form currentFormChild;
private void OpenChildForm(Form childForm) { if (currentFormChild != null) { currentFormChild.Close(); } currentFormChild = childForm; childForm.TopLevel = false;
childForm.FormBorderStyle = FormBorderStyle.None;
childForm.Dock = DockStyle.Fill;
panel_Body.Controls.Add(childForm); panel_Body.Tag = childForm; childForm.BringToFront(); childForm.Show(); }
private void Thoat_Click(object sender, EventArgs e) { if(isThoat) Application.Exit(); }
private void DangXuat_Click(object sender, EventArgs e) { isThoat = false; this.Close(); DangNhap f = new DangNhap(); f.Show(); }
private void QuanLyPhong_Click(object sender, EventArgs e) {
OpenChildForm(new QuanLyPhong());
label1.Text = QuanLyPhong.Text; }
private void QuanLyKH_Click(object sender, EventArgs e) {
OpenChildForm(new FormQuanLyKH()); label1.Text = QuanLyKH.Text; }
private void DichVu_Click(object sender, EventArgs e) {
OpenChildForm(new FormDichVu()); label1.Text = DichVu.Text; }
private void ThanhToan_Click(object sender, EventArgs e) {
OpenChildForm(new FormThanhToan()); label1.Text = ThanhToan.Text; }
private void TrangChu_Click(object sender, EventArgs e) { if (currentFormChild != null) { currentFormChild.Close(); label1.Text = TrangChu.Text; } }
private void label1_Click(object sender, EventArgs e) { }
private void pictureBox2_Click(object sender, EventArgs e) { }
private void QuanLyKhachSan_Load(object sender, EventArgs e) { } } }
----------Quản Lý Phòng ---------- using System;
using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace BTN_Test {
public partial class QuanLyPhong : Form { public QuanLyPhong() { InitializeComponent(); }
private Form currentFormChild;
private void OpenChildForm(Form childForm) { if (currentFormChild != null) { currentFormChild.Close(); } currentFormChild = childForm; childForm.TopLevel = false;
childForm.FormBorderStyle = FormBorderStyle.None;
childForm.Dock = DockStyle.Fill;
panel_Body.Controls.Add(childForm); panel_Body.Tag = childForm; childForm.BringToFront(); childForm.Show(); }
private void QuanLyPhong_Load(object sender, EventArgs e) { }
private void DangKiPhong_Click(object sender, EventArgs e) {
OpenChildForm(new DangKiPhong());
label1.Text = DangKiPhong.Text; }
private void bt_TThai_Click(object sender, EventArgs e) { } } }
--------------Đăng Ký Phòng------------- using System;
using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Data.SqlClient; namespace BTN_Test {
public partial class DangKiPhong : Form {
string ChuoiKetNoi = @"Data Source=LAPTOP-A9PIIM1S\SQLEXPRESS;Initial
Catalog=LapTrinhMang;Integrated Security=True"; string Sql; SqlConnection KetNoi; SqlCommand ThucHien; SqlDataReader DocDuLieu; int i = 0; public void HienThi() { listView1.Items.Clear(); KetNoi.Open();
Sql = @"Select * From KhachHang";
ThucHien = new SqlCommand(Sql, KetNoi);
DocDuLieu = ThucHien.ExecuteReader(); i = 0; while (DocDuLieu.Read()) {
listView1.Items.Add(DocDuLieu[0].ToString());
listView1.Items[i].SubItems.Add(DocDuLieu[1].ToString());
listView1.Items[i].SubItems.Add(DocDuLieu[2].ToString());
listView1.Items[i].SubItems.Add(DocDuLieu[3].ToString());
listView1.Items[i].SubItems.Add(DocDuLieu[4].ToString());
listView1.Items[i].SubItems.Add(DocDuLieu[5].ToString());
listView1.Items[i].SubItems.Add(DocDuLieu[6].ToString());
listView1.Items[i].SubItems.Add(DocDuLieu[7].ToString()); i++; } KetNoi.Close(); } public DangKiPhong() { InitializeComponent(); }
private void dk_Luu_Click(object sender, EventArgs e) { listView1.Items.Clear(); KetNoi.Open(); Sql = @"Insert into
KhachHang(HoTen,GioiTinh,NgayThue,SDT,CMND,DiaChi,ID_Phong,ID_DichVu) values
(N'" + txtTen.Text + @"',N'" + txtGioiTinh.Text + @"','" + dt_NgayThue.Text +
@"','"+txtSDT.Text+@"','"+txtCMND.Text+@"',N'"+txtDiaChi.Text+@"','"+cb_Phong.T
ext+@"','"+cb_DichVu.Text+@"')";
ThucHien = new SqlCommand(Sql, KetNoi); ThucHien.ExecuteNonQuery(); KetNoi.Close(); HienThi(); }
private void DangKiPhong_Load(object sender, EventArgs e) {
// TODO: This line of code loads data into the 'dataSet1.Phong' table. You can move, or remove it, as needed.
this.phongTableAdapter.Fill(this.dataSet1.Phong);
// TODO: This line of code loads data into the 'dataSet1.DichVu' table. You can move, or remove it, as needed.
this.dichVuTableAdapter.Fill(this.dataSet1.DichVu);
KetNoi = new SqlConnection(ChuoiKetNoi); HienThi(); }
private void listView1_Click(object sender, EventArgs e) { }
private void listView1_SelectedIndexChanged(object sender, EventArgs e) { } } }
--------------Quản Lý Khách Hàng------------ using System;
using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Data.SqlClient; namespace BTN_Test {
public partial class FormQuanLyKH : Form {
string ChuoiKetNoi = @"Data Source=LAPTOP-A9PIIM1S\SQLEXPRESS;Initial
Catalog=LapTrinhMang;Integrated Security=True"; string Sql; SqlConnection KetNoi; SqlCommand ThucHien; SqlDataReader DocDuLieu; int i = 0; public void HienThi() { listView1.Items.Clear(); KetNoi.Open();
Sql = @"Select * From KhachHang";
ThucHien = new SqlCommand(Sql, KetNoi);
DocDuLieu = ThucHien.ExecuteReader(); i = 0; while (DocDuLieu.Read()) {
listView1.Items.Add(DocDuLieu[0].ToString());
listView1.Items[i].SubItems.Add(DocDuLieu[1].ToString());
listView1.Items[i].SubItems.Add(DocDuLieu[2].ToString());
listView1.Items[i].SubItems.Add(DocDuLieu[3].ToString());
listView1.Items[i].SubItems.Add(DocDuLieu[4].ToString());
listView1.Items[i].SubItems.Add(DocDuLieu[5].ToString());
listView1.Items[i].SubItems.Add(DocDuLieu[6].ToString());
listView1.Items[i].SubItems.Add(DocDuLieu[7].ToString()); i++; } KetNoi.Close(); } public FormQuanLyKH() { InitializeComponent(); }
private void FormQuanLyKH_Load(object sender, EventArgs e) {
KetNoi = new SqlConnection(ChuoiKetNoi); HienThi();
// TODO: This line of code loads data into the 'dataSet1.Phong' table. You can move, or remove it, as needed.
this.phongTableAdapter.Fill(this.dataSet1.Phong);
// TODO: This line of code loads data into the 'dataSet1.DichVu' table. You can move, or remove it, as needed.
this.dichVuTableAdapter.Fill(this.dataSet1.DichVu); }
private void listView1_Click(object sender, EventArgs e) {
txt_Ten.Text = listView1.SelectedItems[0].SubItems[0].Text;
txt_GioiTinh.Text = listView1.SelectedItems[0].SubItems[1].Text;
dt_Ngay.Text = listView1.SelectedItems[0].SubItems[2].Text;
txt_SDT.Text = listView1.SelectedItems[0].SubItems[3].Text;
txt_CMND.Text = listView1.SelectedItems[0].SubItems[4].Text;
txt_DiaChi.Text = listView1.SelectedItems[0].SubItems[5].Text;
cb_Phong.Text = listView1.SelectedItems[0].SubItems[6].Text;
cb_DichVu.Text = listView1.SelectedItems[0].SubItems[7].Text; }
private void click_Tim_Click(object sender, EventArgs e) { listView1.Items.Clear(); KetNoi.Open();
Sql = "select * from KhachHang where (HoTen like N'%" + txt_Ten.Text + "%')";
ThucHien = new SqlCommand(Sql, KetNoi);
DocDuLieu = ThucHien.ExecuteReader(); i = 0; while (DocDuLieu.Read()) {
listView1.Items.Add(DocDuLieu[0].ToString());
listView1.Items[i].SubItems.Add(DocDuLieu[1].ToString());
listView1.Items[i].SubItems.Add(DocDuLieu[2].ToString());
listView1.Items[i].SubItems.Add(DocDuLieu[3].ToString());
listView1.Items[i].SubItems.Add(DocDuLieu[4].ToString());
listView1.Items[i].SubItems.Add(DocDuLieu[5].ToString());
listView1.Items[i].SubItems.Add(DocDuLieu[6].ToString());
listView1.Items[i].SubItems.Add(DocDuLieu[7].ToString()); i++; } KetNoi.Close(); }
//HoTen,GioiTinh,NgayThue,SDT,CMND,DiaChi,ID_Phong,ID_DichVu
private void bt_Sua_Click(object sender, EventArgs e) { listView1.Items.Clear(); KetNoi.Open(); Sql = @"UPDATE KhachHang Set
HoTen = N'" + txt_Ten.Text + @"',
GioiTinh = N'" + txt_GioiTinh.Text + @"',
NgayThue = '" + dt_Ngay.Text + @"',
SDT = '" + txt_SDT.Text + @"',
CMND ='" + txt_CMND.Text + @"',
DiaChi = N'" + txt_DiaChi.Text + @"',
ID_Phong = '" + cb_Phong.Text + @"',
ID_DichVu= '" + cb_DichVu.Text + @"'
WHERE (HoTen = N'" + txt_Ten.Text + @"')";
ThucHien = new SqlCommand(Sql, KetNoi); ThucHien.ExecuteNonQuery(); KetNoi.Close(); HienThi(); }
private void bt_Xoa_Click(object sender, EventArgs e) { listView1.Items.Clear(); KetNoi.Open();
Sql = @"Delete from KhachHang where (HoTen = N'" + txt_Ten.Text + @"')";
ThucHien = new SqlCommand(Sql, KetNoi); ThucHien.ExecuteNonQuery(); KetNoi.Close(); HienThi(); }
private void panel1_Paint(object sender, PaintEventArgs e) { }
private void label2_Click(object sender, EventArgs e) { } } }
------------Quản Lý Dịch Vụ------------- using System;
using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Data.SqlClient; namespace BTN_Test {
public partial class FormDichVu : Form {
string ChuoiKetNoi = @"Data Source=LAPTOP-A9PIIM1S\SQLEXPRESS;Initial
Catalog=LapTrinhMang;Integrated Security=True"; string Sql; SqlConnection KetNoi; SqlCommand ThucHien; SqlDataReader DocDuLieu; int i = 0; public FormDichVu() { InitializeComponent(); } public void HienThi() { listView2.Items.Clear(); KetNoi.Open();
Sql = @"Select * From DichVu";
ThucHien = new SqlCommand(Sql, KetNoi);
DocDuLieu = ThucHien.ExecuteReader(); i = 0; while (DocDuLieu.Read()) {
listView2.Items.Add(DocDuLieu[0].ToString());
listView2.Items[i].SubItems.Add(DocDuLieu[1].ToString());
listView2.Items[i].SubItems.Add(DocDuLieu[2].ToString()); i++; } KetNoi.Close(); }
private void FormDichVu_Load(object sender, EventArgs e) {
KetNoi = new SqlConnection(ChuoiKetNoi); HienThi(); }
private void listView2_click(object sender, EventArgs e) {
txt_ID.Text = listView2.SelectedItems[0].SubItems[0].Text;
txt_NoiDung.Text = listView2.SelectedItems[0].SubItems[1].Text;
txt_Gia.Text = listView2.SelectedItems[0].SubItems[2].Text; }
private void bt_Them_Click(object sender, EventArgs e) { listView2.Items.Clear(); KetNoi.Open();
Sql = @"Insert into DichVu(ID_DichVu, Ten, Gia) values
('"+txt_ID.Text+@"',N'"+txt_NoiDung.Text+@"','"+txt_Gia.Text+@"')";
ThucHien = new SqlCommand(Sql, KetNoi); ThucHien.ExecuteNonQuery(); KetNoi.Close(); HienThi(); }
private void bt_Sua_Click(object sender, EventArgs e) { listView2.Items.Clear(); KetNoi.Open(); Sql = @"UPDATE DichVu Set
ID_DichVu = '"+txt_ID.Text+@"',Ten = N'"+txt_NoiDung.Text+@"',Gia = '"+txt_Gia.Text+@"'
WHERE (ID_DichVu = '"+txt_ID.Text+@"')";
ThucHien = new SqlCommand(Sql, KetNoi); ThucHien.ExecuteNonQuery(); KetNoi.Close(); HienThi(); }
private void bt_Xoa_Click(object sender, EventArgs e) { listView2.Items.Clear(); KetNoi.Open();
Sql = @"Delete from DichVu where (ID_DichVu = '" + txt_ID.Text + @"')";
ThucHien = new SqlCommand(Sql, KetNoi); ThucHien.ExecuteNonQuery(); KetNoi.Close(); HienThi(); }
private void groupBox2_Enter(object sender, EventArgs e) { }
private void listView1_SelectedIndexChanged(object sender, EventArgs e) { }
private void listView2_SelectedIndexChanged(object sender, EventArgs e) { } } }
---------------Thanh Toán ---------------- using System;
using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Data.SqlClient; namespace BTN_Test {
public partial class FormThanhToan : Form {
string ChuoiKetNoi = @"Data Source=LAPTOP-A9PIIM1S\SQLEXPRESS;Initial
Catalog=LapTrinhMang;Integrated Security=True"; string Sql; SqlConnection KetNoi; SqlCommand ThucHien; SqlDataReader DocDuLieu; int i = 0; public void HienThi() { listView1.Items.Clear(); KetNoi.Open();
Sql = @"Select * From KhachHang";
ThucHien = new SqlCommand(Sql, KetNoi);
DocDuLieu = ThucHien.ExecuteReader(); i = 0; while (DocDuLieu.Read()) {
listView1.Items.Add(DocDuLieu[0].ToString());
listView1.Items[i].SubItems.Add(DocDuLieu[1].ToString());
listView1.Items[i].SubItems.Add(DocDuLieu[2].ToString());
listView1.Items[i].SubItems.Add(DocDuLieu[3].ToString());
listView1.Items[i].SubItems.Add(DocDuLieu[4].ToString());
listView1.Items[i].SubItems.Add(DocDuLieu[5].ToString());
listView1.Items[i].SubItems.Add(DocDuLieu[6].ToString());
listView1.Items[i].SubItems.Add(DocDuLieu[7].ToString()); i++; } KetNoi.Close(); } public FormThanhToan() { InitializeComponent(); }
private void FormThanhToan_Load(object sender, EventArgs e) {
KetNoi = new SqlConnection(ChuoiKetNoi); HienThi(); }
private void bt_TimKiem_Click(object sender, EventArgs e) { listView1.Items.Clear(); KetNoi.Open();
Sql = "select * from KhachHang where (HoTen like N'%" + txt_Ten.Text + "%')";
ThucHien = new SqlCommand(Sql, KetNoi);
DocDuLieu = ThucHien.ExecuteReader(); i = 0; while (DocDuLieu.Read()) {
listView1.Items.Add(DocDuLieu[0].ToString());
listView1.Items[i].SubItems.Add(DocDuLieu[1].ToString());
listView1.Items[i].SubItems.Add(DocDuLieu[2].ToString());
listView1.Items[i].SubItems.Add(DocDuLieu[3].ToString());
listView1.Items[i].SubItems.Add(DocDuLieu[4].ToString());
listView1.Items[i].SubItems.Add(DocDuLieu[5].ToString());
listView1.Items[i].SubItems.Add(DocDuLieu[6].ToString());
listView1.Items[i].SubItems.Add(DocDuLieu[7].ToString()); i++; } KetNoi.Close(); }
private void listView1_SelectedIndexChanged(object sender, EventArgs e) { }
private void Listview1Click(object sender, EventArgs e) {
txt_Ten.Text = listView1.SelectedItems[0].SubItems[0].Text; }
private void button2_Click(object sender, EventArgs e) { KetNoi.Open();
Sql = @"Select KhachHang.ID_Phong,
KhachHang.HoTen, KhachHang.ID_DichVu,
DichVu.Gia, Datediff(Day , KhachHang.NgayThue , GETDATE()),
Datediff(Day , KhachHang.NgayThue , GETDATE()) * Phong.DonGia,
Datediff(Day , KhachHang.NgayThue , GETDATE()) * Phong.DonGia + DichVu.Gia
From KhachHang ,Phong , DichVu
Where (KhachHang.HoTen = N'" + txt_Ten.Text + @"') and
KhachHang.ID_Phong=Phong.ID_Phong and KhachHang.ID_DichVu = DichVu.ID_DichVu";
ThucHien = new SqlCommand(Sql, KetNoi);
DocDuLieu = ThucHien.ExecuteReader(); while (DocDuLieu.Read()) {
txtNgayO.Text = DocDuLieu[4].ToString();
txtTienDV.Text = DocDuLieu[3].ToString();
txtTienPhong.Text = DocDuLieu[5].ToString();
txtTong.Text = DocDuLieu[6].ToString(); } KetNoi.Close(); }
private void groupBox1_Enter(object sender, EventArgs e) { } } } 3.5. Kết chương KẾT LUẬN
Kết quả thu được
Biết cách xây dựng một hệ thống quản và cập nhật dữ liệu
Tuy còn nhiều thiếu xót nhưng nhìn chung cũng có thể xây dựng được cơ bạn một hệ thống
Hiểu cơ bản về lập trình hướng đối tượng
Hạn chế và hướng phát triển của đề tài
Còn nhiều thiếu xót trong quá trình phân tích hệ thống
Chưa đủ sáng tạo trong quá trình xây dựng hệ thống
Hướng phát triển: Nghiên cứu và hoàn thiện một hệ thống hoàn chỉnh
DANH MỤC TÀI LIỆU THAM KHẢO
Trang web abc.com [tham khảo ngày … tháng … năm]
Tên sách, tên tác giả, năm xuất bản, nn.