SlideShare a Scribd company logo
1 of 163
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƢỜNG ĐẠI HỌC DÂN LẬP HẢI PHÕNG
-----o0o-----
ĐỒ ÁN TỐT NGHIỆP
NGÀNH CÔNG NGHỆ THÔNG TIN
HẢI PHÕNG 2017
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƢỜNG ĐẠI HỌC DÂN LẬP HẢI PHÕNG
-----o0o-----
TÌM HIỂU VỀ LINQ TO SQL VÀ ỨNG
DỤNG
Ngành: Công nghệ Thông tin
Sinh viên thực hiện: Nguyễn Quốc Trung Anh
Mã số sinh viên: 1312101025
Cán bộ hƣớng dẫn: Th.S. Vũ Anh Hùng
HẢI PHÒNG - 2017
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 2
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
BỘ GIÁO DỤC VÀ ĐÀO TẠO CỘNG HÕA XÃ HỘI CHỦ NGHĨA VIỆT NAM
TRƢỜNG ĐẠI HỌC DÂN LẬP HẢI PHÕNG Độc lập - Tự do - Hạnh phúc
-----o0o-----
NHIỆM VỤ THIẾT KẾ TỐT NGHIỆP
Sinh viên: Nguyễn QUốc Trung Anh Mã sinh viên: 1312101025
Lớp: CT1701 Ngành: Công nghệ Thông tin
Tên đề tài: Tìm hiểu về LINQ TO SQL và ứng dụng
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 3
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
NHIỆM VỤ ĐỀ TÀI
1. Nội dung và các yêu cầu cần giải quyết trong nhiệm vụ đề tài tốt
nghiệp a. Nội dung
b. Các yêu cầu cần giải quyết
2. Các số liệu cần thiết để thiết kế, tính toán
3. Địa điểm thực tập
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 4
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
CÁN BỘ HƢỚNG DẪN ĐỀ TÀI TỐT NGHIỆP
Ngƣời hƣớng dẫn thứ nhất:
Họ và tên: Vũ Anh Hùng
Học hàm, học vị: Thạc Sĩ
Cơ quan công tác: Trƣờng Đại Học Dân Lập Hải
Phòng Nội dung hƣớng dẫn:
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
Ngƣời hƣớng dẫn thứ hai:
Họ và tên:
Học hàm, học vị:
Cơ quan công tác:
Nội dung hƣớng dẫn:
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
Đề tài tốt nghiệp đƣợc giao
Yêu cầu phải hoàn thành
trƣớc Đã nhận nhiệm vụ:
Đ.T.T.N Sinh viên
ngày
ngày
tháng năm 2017
tháng năm 2017
Đã nhận nhiệm vụ: Đ.T.T.N
Cán bộ hƣớng dẫn Đ.T.T.N
Th.S Vũ Anh Hùng
Hải Phòng, ngày ........ tháng ........ năm 2017
HIỆU TRƢỞNG
GS.TS.NGƯT Trần Hữu Nghị
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 5
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
PHẦN NHẬN XÉT TÓM TẮT CỦA CÁN BỘ HƢỚNG DẪN
1. Tinh thần thái độ của sinh viên trong quá trình làm đề tài tốt nghiệp:
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
2. Đánh giá chất lƣợng của đề tài tốt nghiệp (so với nội dung yêu cầu đã đề ra trong nhiệm vụ
đề tài tốt nghiệp)
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
3. Cho điểm của cán bộ hƣớng dẫn:
(Điểm ghi bằng số và chữ)
...........................................................................................................................................
...........................................................................................................................................
Ngày ........ tháng ........ năm 2017
Cán bộ hƣớng dẫn chính
(Ký, ghi rõ họ tên)
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 6
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
PHẦN NHẬN XÉT ĐÁNH GIÁ CỦA CÁN BỘ CHẤM PHẢN BIỆN ĐỀ TÀI
TỐT NGHIỆP
1. Đánh giá chất lƣợng đề tài tốt nghiệp (về các mặt nhƣ cơ sở lý luận, thuyết minh
chƣơng trình, giá trị thực tế, ...)
2. Cho điểm của cán bộ phản
biện (Điểm ghi bằng số và chữ)
...........................................................................................................................................
...........................................................................................................................................
Ngày ........ tháng ........ năm 2017
Cán bộ chấm phản biện
(Ký, ghi rõ họ tên)
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 7
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
LỜI CẢM ƠN
Để hoàn thành đồ án tốt nghiệp này, em xin tỏ lòng biết ơn sâu sắc đến Thầy
ThS. Vũ Anh Hùng – khoa Công nghệ thông tin, trƣờng Đại học Dân Lập Hải Phòng,
sự chỉ bảo dẫn dắt của thầy đã giúp em có những định hƣớng tốt việc triển khai và thực
hiện các yêu cầu trong quá trình làm đồ án tốt nghiệp.
Em chân thành cảm ơn quý Thầy, Cô trong khoa Công nghệ thông tin, Trƣờng
Đại học Dân Lập Hải Phòng đã tận tình truyền đạt kiến thức trong những năm em học
tập. Với vốn kiến thức đƣợc tiếp thu trong quá trình học không chỉ là nền tảng cho quá
trình nghiên cứu đồ án mà còn là hành trang quí báu để em bƣớc vào đời một cách
vững chắc và tự tin.
Cuối cùng em kính chúc quý Thầy, Cô dồi dào sức khỏe và thành công trong sự
nghiệp cao quý, đạt đƣợc nhiều thành công tốt đẹp trong công cuộc trồng ngƣời của
mình.
Em xin chân thành cảm ơn!
Hải Phòng, ngày 31 tháng 08 năm 2017
Sinh viên
Nguyễn Quốc Trung Anh
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
MỤC LỤC
DANH MỤC HÌNH............................................................................................................... 3
LỜI NÓI ĐẦU ....................................................................................................................... 6
CHƢƠNG I ............................................................................................................................ 8
TÌM HIỂU VỀ LINQ VÀ LINQ TO SQL ............................................................................ 8
1.1 LinQ là gì? ............................................................................................................ 8
1.1.1 Tại sao phải dùng tới LinQ? .......................................................................... 8
1.1.2 Sơ đồ và kiến trúc của LinQ .......................................................................... 9
1.2. LINQ to SQL ..................................................................................................... 10
1.2.1 Vì sao LinQ to SQL ra đời ........................................................................... 11
1.2.2 Vì sao nên sử dụng LinQ to SQL ................................................................ 12
a) Một công cụ hỗ trợ đắc lực ...................................................................... 12
b) Giao diện trực quan và tự động ........................................................... 13
c) LinQ nhƣng bản chất vẫn là SQL ............................................................ 14
1.3 Những hạn chế của LinQ to SQL ....................................................................... 15
1.4 Những khái niệm cơ bản của LINQ to SQL ................................................ 15
1.4.1 Object Model ........................................................................................ 15
1.4.2 ORM (Object Relations Mapping ) ...................................................... 16
1.4.3 O/R Designer ( Object Relations Designer) ........................................ 17
1.4.4 Entity Class ........................................................................................... 18
1.4.5 Association ........................................................................................... 18
1.4.6 DataContext .......................................................................................... 18
1.5 Mô hình ánh xạ của LinQ to SQL ...................................................................... 18
1.6 Tầng kiến trúc ..................................................................................................... 19
1.7 Các Action của LinQ to SQL ............................................................................. 20
CHƢƠNG II ........................................................................................................................ 23
XÂY DỰNG CHƢƠNG TRÌNH ỨNG DỤNG .................................................................. 23
2.1 Xây dựng ứng dụng ............................................................................................ 23
2.1.1 Phát biểu bài toán ......................................................................................... 23
2.1.2 Thiết kế cơ sở dữ liệu ................................................................................ 23
2.1.3 Tạo cơ sở dữ liệu băng SQL Server ............................................................. 25
2.2 Xây dựng chƣơng trình ....................................................................................... 28
2.2.1 Tạo giao diện và lập kết nối LINQ to SQL với SQL Server ....................... 28
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 1
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
2.2.2 Tạo Form Menu và các Form thành phần của chƣơng trình33
CHƢƠNG III ....................................................................................................................................................... 75
KẾT QUẢ CHƢƠNG TRÌNH THỰC NGHIỆM ............................................................................... 75
3.1 Kết quả chƣơng trình ứng dụng ............................................................................................. 75
3.1.1 Các giao diện ........................................................................................................................ 75
a) Giao diện Form Menu 75
b) Giao diện Form Sinh viên 75
c) Giao diện Form Lớp 80
d) Giao diện Form Ngành82
e) Giao diện Form Quản lý học phí 82
3.2 Nhận xét và đánh giá................................................................................................................ 86
KẾT LUẬN ........................................................................................................................................................... 87
TÀI LIỆU THAM KHẢO............................................................................................................................... 88
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 2
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
DANH MỤC HÌNH
Hình 1.1 Phân loại LINQ..............................................................................................................................10
Hình 1.2 File lƣu trữ của LinQ to SQL ...............................................................................................13
Hình 1.3 Giao diện trực quan và tự động của LinQ to SQL....................................................14
Hình 1.4 Mô hình ánh xạ từ mô hình CSDL.....................................................................................16
Hình 1.5 Mô hình của ORM.......................................................................................................................17
Hình 1.6 Mô hình ánh xạ của O/R Designer.....................................................................................17
Hình 1.7 Mô hình ánh xạ của LinQ to SQL......................................................................................19
Hình 1.8 Tầng kiến trúc của LinQ to SQL.........................................................................................19
Hình 2.1 Mô hình ER của bài toán .........................................................................................................24
Hình 2.2 Bảng “Sinh viên” trong cơ sở dữ liệu HOCPHI.........................................................25
Hình 2.3 Bảng “Lớp” trong cơ sở dữ liệu HOCPHI.....................................................................26
Hình 2.4 Bảng “Ngành” trong cơ sở dữ liệu HOCPHI...............................................................27
Hình 2.5 Bảng “Đã nộp” trong cơ sở dữ liệu HOCPHI..............................................................27
Hình 2.6 Mô hình quan hệ các bảng trong cơ sở dữ liệu HOCPHI.....................................28
Hình 2.7 Giao diện tạo Project làm việc trong Visual Studio 2013 ....................................29
Hình 2.8 Tạo Project làm việc...................................................................................................................29
Hình 2.9 Giao diện Project làm việc sau khi tạo xong................................................................30
Hình 2.10 Tạo kết nối LinQ........................................................................................................................30
Hình 2.11 Tạo kết nối LinQ to SQL......................................................................................................31
Hình 2.12 Giao diện khi tạo Form để kết nối LINQ to SQL thành công.........................31
Hình 2.13 Kết nối LINQ to SQL..............................................................................................................32
Hình 2.14 Kết nối LINQ to SQL thành công..................................................................................32
Hình 2.15 Các bảng và view sau khi kết nối LINQ to SQL thành công...........................33
Hình 2.16 Giao diện Form Menu.............................................................................................................34
Hình 2.17 Giao diện code của Form Menu........................................................................................35
Hình 2.18 Giao diện Sinh viên..................................................................................................................36
Hình 2.19 Tạo truy vấn cho Form sinh viên......................................................................................36
Hình 2.20 Tạo thủ tục Stored proceduces truy vấn theo tên sinh viên ..............................37
Hình 2.21 Tạo thủ tục Stored proceduces truy vấn theo tên sinh viên..............................38
Hình 2.22 Gọi thủ tục Stored Prceduces bằng câu lệnh LinQ to SQL...............................38
Hình 2.23 Code làm việc của bảng Data Grid View....................................................................39
Hình 2.24 Mã lệnh “ Thêm mới ”............................................................................................................40
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 3
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
Hình 2.25 Mã lệnh “ Lƣu thêm ” ............................................................................................................41
Hình 2.26 Mã lệnh “ Sửa ”..........................................................................................................................42
Hình 2.27 Mã lệnh “ Xóa ”..........................................................................................................................43
Hình 2.28 Mã lệnh “Tìm kiếm sinh viên theo mã sinh viên”..................................................44
Hình 2.29 Mã lệnh “Tìm kiếm sinh viên theo tên sinh viên”..................................................45
Hình 2.30 Mã lệnh “Thống kê các sinh viên đã nộp học phí theo lớp” ............................46
Hình 2.31Giao diện Form lớp. ..................................................................................................................47
Hình 2.32 Tạo truy vấn cho Form Lớp.................................................................................................48
Hình 2.33 Gọi thủ tục Stored Prceduces bằng câu lệnh LinQ to SQL...............................48
Hình 2.34 Code làm việc của bảng Data Grid View....................................................................49
Hình 2.35 Mã lệnh “ Thêm mới ”............................................................................................................50
Hình 2.36 Mã lệnh “ Lƣu thêm ” ............................................................................................................51
Hình 2.37 Mã lệnh “ Sửa ”..........................................................................................................................52
Hình 2.38 Mã lệnh “ Xóa ”..........................................................................................................................53
Hình 2.39 Mã lệnh “Tìm kiếm lớp theo mã lớp”..........................................................................54
Hình 2.40 Mã lệnh “Thống kê học phí của các sinh viên trong lớp theo mã lớp” ... 55
Hình 2.41 Giao diện Form ngành học. .................................................................................................56
Hình 2.42 Tạo truy vấn cho Form ngành học...................................................................................57
Hình 2.43 Gọi thủ tục Stored Prceduces bằng câu lệnh LinQ to SQL...............................57
Hình 2.44 Code làm việc của bảng Data Grid View....................................................................58
Hình 2.45 Mã lệnh “ Thêm mới ”............................................................................................................59
Hình 2.46 Mã lệnh “ Lƣu thêm ” ............................................................................................................60
Hình 2.47 Mã lệnh “ Sửa ”..........................................................................................................................61
Hình 2.48 Mã lệnh “ Xóa ”..........................................................................................................................62
Hình 2.49 Mã lệnh “Tìm kiếm ngành theo mã ngành”...............................................................63
Hình 2.50 Giao diện Form nộp học phí cho sinh viên................................................................63
Hình 2.51 Tạo truy vấn cho Form nộp học phí cho sinh viên ................................................64
Hình 2.52 Mã lệnh tra cứu tên của 1 sinh viên bất kì..................................................................65
Hình 2.53 Code làm việc của bảng Data Grid View....................................................................66
Hình 2.54 Mã lệnh “ Thêm mới ”............................................................................................................67
Hình 2.55 Mã lệnh “ Lƣu thêm ” ............................................................................................................68
Hình 2.56 Mã lệnh “ Sửa ”..........................................................................................................................69
Hình 2.57 Mã lệnh “ Xóa ”..........................................................................................................................70
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 4
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
Hình 2.58 Mã lệnh “Tìm kiếm khoản thu theo mã sinh viên”................................................71
Hình 2.59 Mã lệnh “ Thống kê sinh viên đã nộp theo ngày”..................................................72
Hình 2.60 Mã lệnh “Tìm kiếm khoản thu theo khoảng giá trị” .............................................74
Hình 3.1.Giao diện Menu.............................................................................................................................75
Hình 3.2 Giao diện Thêm, sửa, xóa, tìm kiếm và thống kê sinh viên................................76
Hình 3.3 Cập nhật sinh viên........................................................................................................................76
Hình 3.4 Tìm kiếm sinh viên theo tên sinh viên.............................................................................77
Hình 3.5 Tìm kiếm sinh viên theo mã sinh viên.............................................................................77
Hình 3.6 Thông tin từ ListBox..................................................................................................................78
Hình 3.7 Thống kê các sinh viên đã nộp tiền theo mã lớp........................................................78
Hình 3.8 Cập nhật lớp.....................................................................................................................................79
Hình 3.9 Tìm kiếm lớp theo mã lớp.......................................................................................................79
Hình 3.10 Thông tin từ ListBox ...............................................................................................................80
Hình 3.11 Thống kê các sinh viên trong lớp đã nộp tiền theo mã lớp...............................80
Hình 3.12.Cập nhật ngành ...........................................................................................................................81
Hình 3.13 Tìm kiếm ngành theo mã ngành........................................................................................81
Hình 3.14 Thông tin ngành từ ListBox ................................................................................................82
Hình 3.15 Giao diện Form nộp học phí................................................................................................82
Hình 3.16 Cập nhật sinh viên nộp học phí.........................................................................................83
Hình 3.17 Tra cứu tên sinh viên...............................................................................................................83
Hình 3.18 Giao diện Thêm, sửa, xóa, tìm kiếm và thống kê nộp học phí .......................84
Hình 3.19 Cập nhật phiếu thu....................................................................................................................84
Hình 3.20 Tìm kiếm phiếu thu bằng khoảng giá trị tiền nộp ..................................................85
Hình 3.21 Thống kê số sinh viên nộp tiền học phí theo ngày.................................................85
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 5
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
LỜI MỞ ĐẦU
Công tác quản lý là một công tác không thể thiếu của tất cả các tổ chức về
kinh tế. Với các lý do ấy thì phát triển Công nghệ thông tin đã trở thành một
ngành kinh tế quan trọng , đặc biệt là Công nghệ phần mềm. Sự ra đời của các
sản phẩm phần mềm đặc biệt là các phần mềm ứng dụng nhƣ quản lý trong vài
năm gần đây mang lại nhiều thuận lợi trong công tác quản lý hàng hóa, quản lý
nhận sự tránh sự nhầm lẫn, thất thu, mất mát. Tuy nhiên bên cạnh những tiện lợi
mà các chƣơng trình này mang lại, vẫn còn nhiều khó khăn, nhƣợc điểm cần
đƣợc khắc phục. Nhƣợc điểm của các chƣơng trình còn nhiều lý do nhƣ: Bản
thân các nhà lập trình còn hạn chế về trình độ cũng nhƣ kinh nghiệm làm phần
mềm.
Trong phát triển phần mềm, nhu cầu truy xuất và thao tác dữ liệu là vô
cùng cần thiết. Đặc biệt, với SQLExpress để truy vấn dữ liệu ta phải dùng đến
các câu lệnh – Query rất phức tạp, hơn nữa để dùng trong C# lại thêm một tầng
phức tạp nữa với các câu lệnh : ConnectionString khởi tạo kết nối tới Database,
tự khai báo các biến để chạy một lệnh - command, rồi còn phải tính toán đầu ra
của câu lệnh,…. Thật là quá phức tạp nếu nhƣ ta có một chƣơng trình khủng.
Vậy phải làm sao để giải quyết vấn đê này?
Một đề xuất là sử dụng LinQ to SQL.
Sự ra đời của LINQ to SQL giúp các lập trình viên .NET bớt đi gánh nặng
phụ thuộc bên thứ 3 (dùng SQL để truy vấn). LINQ to SQL đồng thời đồng bộ
hóa dữ liệu lấy ra và trả về khi truy xuất dữ liệu bằng việc các Data Model hứng
dữ liệu trả về đƣợc tạo tự động sao cho tƣơng thích với kiểu dữ liệu tƣơng ứng
của chúng khi ánh xạ vào cơ sở dữ liệu. Điều này làm tránh tình trạng mất hoặc
sai lệch dữ liệu khi truy xuất và thao tác với Database. Trên hết, một công cụ
đƣợc phát hành cho nền tảng duy nhất là .NET với những anh em trong gia đình
.NET sử dụng thì hiệu suất LINQ to SQL hằn là phải tốt hơn so với những công
cụ bên thứ 3.
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 6
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
Đề tài: “ Tìm hiểu về LinQ to SQL và ứng dụng”, với nội dung gồm 3
chƣơng:
Chƣơng 1: TÌM HIỂU VỀ LINQ TO SQL
Chƣơng 2: XÂY DỰNG CHƢƠNG TRÌNH ỨNG DỤNG
Chƣơng 3: KẾT QUẢ CHƢƠNG TRÌNH THỰC NGHIỆM
Đề tài đã giúp em vận dụng đƣợc những hiểu biết của mình về LinQ to
SQL để xây dựng đƣợc chƣơng trình ứng dụng thực tế cho bài toán thu học phí
của sinh viên trƣờng Đại học Dân lập Hải Phòng, đáp ứng đƣợc một số yêu cầu
công việc đặt ra hàng ngày.
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 7
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
Chƣơng 1
TÌM HIỂU VỀ LINQ TO SQL
1.1. LinQ là gì?
Dữ liệu, linh hồn của một phần mềm, và việc xử lý dữ liệu luôn là một trong
những vấn đề quan trọng nhất của mỗi phần mềm. Với những dữ liệu có cấu trúc,
ta thƣờng cài đặt các câu lệnh xử lý dữ liệu sao cho phù hợp với cấu trúc nhất.
Tuy nhiên mọi chuyện trở nên phức tạp hơn khi cấu trúc dữ liệu bị thay đổi,
có nhiều mảng muốn xử lý cùng lúc, đặc biệt là XML.
Rất may, Microsoft đã hiểu đƣợc tầm quan trọng của việc xử lý dữ liệu, và
đã tung ra LinQ ở phiên bản .NET Framework 3.5 vào tháng 11/2007.
LINQ (Language Integrated Query, tạm dịch là ngôn ngữ truy vấn tích
hợp) đƣa ra 1 mô hình bền vững để hoạt động với các dạng nguồn dữ liệu và định
dạng dữ liệu khác nhau.
Trong LINQ, bạn phải làm quen với chuyện làm việc với các đối tƣợng
(objects). LINQ cho phép dùng các đoạn code đơn giản để truy vấn và chuyển đổi
dữ liệu trong các tài liệu XML, cơ sở dữ liệu SQL, tập dữ liệu ADO.NET, các tập
hợp .NET, và bất kỳ định dạng nào mà LINQ provider hỗ trợ.
1.1.1. Tại sao phải dùng tới LinQ?
Để hiểu đƣợc tầm quan trọng của LinQ, hãy cùng xét 1 ví dụ nho nhỏ sau:
Có 1 mảng Student chứa thông tin tất cả các học sinh của 1 trƣờng, và 1 mảng
Classroom chứa thông tin phòng học.
Sẽ thật dễ dàng nếu yêu cầu “tìm tất cả sinh viên có độ tuổi lớn hơn 20”.
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 8
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
Nhƣng nếu vấn đề đặt ra là “tìm sinh viên tên Trung học ở trƣờng nào” thì
sao? Phải tạo 1 mảng mới, trộn các dữ liệu từ 2 Mangsinhvien và Mangtruong
và chạy vòng foreach? Tuy nhiên với LinQ, mọi thứ dƣờng nhƣ đơn giản hơn rất
nhiều:
Chỉ cần 1 câu lệnh “ JOIN ” của LinQ là xong. Rất đơn giản!!!
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 9
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
1.1.2. Kiến trúc và thành phần của LinQ
Hình 1.1 Kiến trúc và thành phần của LINQ

SQL Sever Databases: LinQ to Sql


+ Cho phép truy vấn các cơ sở dữ liệu quan hệ

XML documents: LinQ to XML


+ Sử dụng LinQ to XML với mục đích truy vấn file XML Documents

ADO.NET datasets : LINQ to Dataset


+ Cho phép truy vấn các Dataset hoặc DataTable

.NET collections, strings, files, …: LinQ to Objects


+ Cho phép truy vấn các đối tƣợng trong một tập các phần tử nguồn, các
kiểu đối tƣợng này phải thực thi giao diện Ienumrable hoặc Ienumrable<T>.

Entyti Framework : LinQ to Entities


+ Cho phép truy vấn các thực thể bên trong Entity Framework.
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 10
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
1.2. LinQ to SQL
LINQ to SQL là một phiên bản hiện thực hóa của O/RM (object relational
mapping) có bên trong .NET Framework bản “Orcas” (nay là .NET 3.5), nó cho
phép bạn mô hình hóa một cơ sở dữ liệu dùng các lớp .NET. Sau đó bạn có thể
truy vấn cơ sở dữ liệu (CSDL) dùng LINQ, cũng nhƣ cập nhật/thêm/xóa dữ liệu
từ đó.
LINQ to SQL hỗ trợ đầy đủ transaction, view và các stored procedure (SP).
Nó cũng cung cấp một cách dễ dàng để thêm khả năng kiểm tra tính hợp lệ của
dữ liệu và các quy tắc vào trong mô hình dữ liệu của bạn.
1.2.1.Vì sao LinQ to Sql ra đời?
Mục đích ra đời của LINQ hay LINQ to SQL là để phục vụ cho hệ quản trị cơ
sở dữ liệu SQL Server và nền tảng .NET nói chung hay ngôn ngữ lập trình
C#/VB.NET nói riêng chứ không phải mục đích đại trà cho các ngôn ngữ lập
trình hay các hệ quản trị cơ sở dữ liệu khác. Ta biết rằng:
 C# là một ngôn ngữ lập trình hƣớng đối tƣợng hoàn toàn.

 SQL Server là một hệ quản trị cơ sở dữ liệu (DBMS) theo mô hình
quan hệ, mô hình CSDL quan hệ ghi các dữ liệu theo dòng trong các bảng dữ
liệu.
Muốn dùng C# viết mã để lấy dữ liệu từ SQL Server nhƣng tổ chức mô
hình dữ liệu của C# và SQL Server là khác nhau. Để giải quyết tình trạng trên,
một kỹ thuật gọi là ORM (Object Relational Mapping) ra đời nhằm mục đích
chuyển đổi dữ liệu giữa các hệ thống khác (không phải là mô hình hƣớng đối
tƣợng) sang các đối tƣợng trong ngôn ngữ lập trình hƣớng đối tƣợng. Tiếp đó
LINQ to SQL ra đời dựa trên kỹ thuật ORM xóa bỏ khoảng cách giữa mô hình
lập trình hƣớng đối tƣợng C#/VB.NET với hệ quản trị cơ sở dữ liệu SQL Server
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 11
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
khi đã mô hình hóa theo hƣớng đối tƣợng các bảng trong Database thành các lớp
tƣơng ứng khi lập trình.
Sự ra đời của LINQ to SQL giúp các lập trình viên .NET bớt đi gánh nặng
phụ thuộc bên thứ 3 (dùng SQL để truy vấn). LINQ to SQL đồng thời đồng bộ
hóa dữ liệu lấy ra và trả về khi truy xuất dữ liệu bằng việc các Data Model hứng
dữ liệu trả về đƣợc tạo tự động sao cho tƣơng thích với kiểu dữ liệu tƣơng ứng
của chúng khi ánh xạ vào cơ sở dữ liệu. Điều này làm tránh tình trạng mất hoặc
sai lệch dữ liệu khi truy xuất và thao tác với Database. Trên hết, một công cụ
đƣợc phát hành cho nền tảng duy nhất là .NET với những thành viên trong gia
đình .NET sử dụng thì hiệu suất LINQ to SQL hằn là phải tốt hơn so với những
công cụ bên thứ 3.
1.2.2.Vì sao nên sử dụng LinQ to SQL?
a) Một công cụ hỗ trợ đắc lực
Khi sử dụng LINQ to SQL với hệ quản trị cơ sở dữ liệu SQL Server, em
không phải tạo các lớp Data Model để hứng dữ liệu trả về khi truy vấn dữ liệu vì
LINQ to SQL đã tạo sẵn những lớp này với đầy đủ các thuộc tính và kiểu dữ
liệu phù hợp với kiểu dữ liệu các cột bạn qui định trong Database (các thuộc
tính của mỗi lớp ánh xạ vào các cột của bảng tƣơng ứng trong CSDL).
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 12
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
Hình 1.2 File lƣu trữ của LinQ to SQL
Nhƣ với hình trên, sau khi lƣu trữ file QLHP.dbml, hệ thống sẽ tạo ra các
lớp sinhvien-lop-nganh-danop-v_danop, với đầy đủ các thuộc tính và kiểu dữ
liệu tƣơng thích với dữ liệu tƣơng ứng của chúng trong Database, tránh làm mất
hoặc hƣ dữ liệu sau khi truy xuất và thao tác với cơ sở dữ liệu.
b) Giao diện trực quan và tự động
LINQ to SQL cung cấp giao diện trực quan về mối quan hệ các bảng dữ
liệu sau khi đƣợc mô hình hóa. Các lớp DataContext sẽ đƣợc tạo ra tự động khi
bạn Import file LINQ to SQL vào Project. Các lớp DataContext nhận nhiệm vụ
mở kết nối đến cơ sở dữ liệu, thực hiện truy vấn hay thay đổi dữ liệu. Các lớp
thuộc tính đƣợc mô hình hóa từ các bảng dữ liệu trong hệ quản trị cơ sở dữ liệu
đƣợc truy cập thông qua các lớp DataContext. Lớp DataContext này gần nhƣ là
một lớp bao (Wrapper Class), những thay đổi từ các bảng dữ liệu trong cơ sở dữ
liệu thì lớp này sẽ cập nhật và thay đổi tƣơng ứng (chúng cũng sẽ cập nhật vào
các lớp Data Modal đƣợc tạo tự động). Điều này khiến cho việc thay đổi thuộc
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 13
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
tính dữ liệu trong database diễn ra dễ dàng và ngƣời lập trình không mất quá nhiều
công sức để chỉnh sửa lại code (những thay đổi đƣợc tự động cập nhật lại).
Hình 1.3 Giao diện trực quan và tự động của LinQ to SQL
c) LinQ nhƣng bản chất vẫn là SQL
Đúng nhƣ cái tên LINQ to SQL, các câu truy vấn LINQ sẽ đƣợc chuyển
sang câu truy vấn SQL trƣớc khi đƣa vào SQL Server để truy vấn dữ liệu
(LINQ to SQL giống nhƣ việc mang SQL vào và viết bằng C#, tuy vậy bản chất
vẫn là SQL).
LINQ to SQL là một công cụ tốt đối với những lập trình viên .NET. Cấu trúc,
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 14
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
câu lệnh của nó dễ học và quen thuộc (C#/VB.NET). LINQ to SQL rút ngắn thời
gian phát triển phần mềm trên nền tảng .NET khi muốn thao tác và truy xuất dữ
liệu từ cơ sở dữ liệu, hệ thống tạo vào hỗ trợ tất cả những thứ cơ bản nhƣ lớp
DataContext, các lớp Data Model để hứng dữ liệu, lập trình viên chỉ cần truy
xuất và thao tác với dữ liệu.
1.3. Những hạn chế của LinQ to SQL

Chỉ thao tác duy nhất với hệ quản trị cơ sở dữ liệu SQL server.



Chỉ có thể tự động tạo Data Model từ Database chứ không thể tạo

Database từ Data Model.
Chỉ cho phép ánh xạ 1:1 giữa các Table với các lớp Data Model ( tức là không thể
tạo 1 Data Model là kết quả kết hợp từ 2 bảng dữ liệu trở lên).
1.4. Những khái niệm cơ bản của LINQ to SQL
- Object Model
- ORM ( Object Relations Mapping )
- O/R Designer ( Object Relations Designer )
- Entity Class
- Association
- DataContext
1.4.1. Object Model
 Là mô hình đƣợc ánh xạ từ mô hình dữ liệu của cơ sở dữ liệu.

 Ngƣời lập trình sẽ làm việc với mô hình này nhƣ thể là đang lập
trình hƣớng đối tƣợng ( với các class đƣợc phát sinh ).
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 15
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
Hình 1.4 Mô hình ánh xạ từ mô hình CSDL
1.4.2. ORM (Object Relations Mapping)
 Chính là phƣơng pháp ánh xạ trực tiếp 1-1 giữa các đối tƣợng trong
cơ sở dữ liệu quan hệ với các class của .NET.

 Từ mô hình quan hệ Database Diagram chuyển thành LINQ to SQL
Mapping Diagram.

 Visual Studio IDE từ phiên bản 2008 có hỗ trợ 2 ORM là : LINQ to
SQL và ADO.NET ENTITY FRAME WORK ( có từ version 3.5 SP1).
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 16
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
Hình 1.5 Mô hình ánh xạ của ORM
1.4.3. O/R Designer ( Object Relations Designer )
 Là một công cụ trong Visual Studio IDE có từ phiên bản 2008, dùng để
hỗ trợ việc tạo ra Oblect Model.

 Phát sinh ra các ENTITY Class (Các Table, View từ cơ sở dữ liệu
đƣợc ánh xạ thành các class) trong các Object đang làm việc. Khi sử
dụng ENTITY Class sẽ ánh xạ đến một Table và một Property sẽ ánh
xạ đến một Column của Table.
Database Object LINQ Object
Database DataContext
Table Class and Collection
View Class and Collection
Column Property
Relationship Nested Collection
Stored Proceduce Method
Hình 1.6 Mô hình ánh xạ của O/R Designer
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 17
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
1.4.4. Entity Class
 Các Table, View từ CSDL đƣợc ánh xạ thành các Class đƣợc gọi
là Entity Class.

 Khi sử dụng. Entity Class sẽ ánh xạ đến một Table và một Property sẽ
ánh xạ đến một Column của một Table
1.4.5. Association
 Mối kết hợp, hay còn gọi là mối quan hệ giữa 2 ENTITY dựa trên
primary key ( khóa chính ) và foreign key
1.4.6. DataContext
 Là một trong .NET, dùng để hỗ trợ việc kết nối CSDL. Ngoài ra nó còn
quản lý các định danh ( IDENTITY ) của các đối tƣợng trong CSDL
nhƣ Table, View,…

 Có thể tạo ra một Strong-Typed DATACONTEXT cho riêng ứng dụng
-> đây là cách thông dụng nhất
1.5 Mô hình ánh xạ của LinQ to SQL
- Ánh xạ cơ sở dữ liệu theo hƣớng đối tƣợng
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 18
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
Hình 1.7 Mô hình ánh xạ của LinQ to SQL
1.6 Tầng kiến trúc
 Là cầu nối giao tiếp giữa Application và SQL Server
Hình 1.8 Tầng kiến trúc của LinQ to SQL
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 19
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
1.7 Các Actions của LinQ to SQL

Select Data : Là hành động truy vấn và lấy dữ liệu từ cơ sở dữ liệu bằng
câu lệnh LinQ to SQL.

Ví dụ:

Insert Data : Là hành động thêm mới cơ sở dữ liệu khi dữ liệu đƣợc nhập
từ phần mềm vào cơ sở dữ liệu bằng câu lệnh LinQ to SQL.

Ví dụ:

Update Data : Là hành động sửa chữa dữ liệu trong cơ sở dữ liệu bằng
câu lệnh LinQ to SQL.

Ví dụ:

Delete Data : Là hành động xóa dữ liệu trong cơ sở dữ liệu bằng câu lệnh
LinQ to SQL.

Ví dụ:
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 20
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng

Join : Là hành động liên kết các bảng trong cơ sở dữ liệu bằng câu lệnh LinQ
to SQL.

Ví dụ:

Using stored proceduce: là hành động lấy dữ liệu từ cơ sở dữ liệu bằng cách
gọi thủ tục đƣợc tạo ra trong cơ sở dữ liệu.

Ví dụ:
+ Tạo thủ tục stored proceduce trong cơ sở dữ liệu SQL Server
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 21
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
+ Đƣa thủ tục vào trong chƣơng trình:
+ Dùng câu lệnh LinQ to SQL để gọi thủ tục đã tạo
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 22
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
CHƢƠNG 2
XÂY DỰNG CHƢƠNG TRÌNH ỨNG DỤNG
2.1 Xây dựng chƣơng trình ứng dụng
2.1.1 Phát biểu bài toán
Hoạt động quản lí học phí của sinh viên đại học Dân lập Hải Phòng đƣợc mô
tả nhƣ sau :
a) Trong trƣờng có rất nhiều ngành học khác nhau, thông tin về mỗi ngành
học bao gồm: Mã ngành, Tên ngành. Trong đó Mã ngành xác định duy
nhất mỗi ngành.
b) Có rất nhiều lớp học khác nhau, mỗi lớp có một Mã lớp duy nhất. Nhiều
lớp học thuộc một ngành đào tạo.
c) Trong trƣờng có rất nhiều sinh viên, thông tin về mỗi sinh viên bao gồm:
Mã sinh viên, Họ tên sinh viên, Ngày sinh, Khóa học. Trong đó Mã sinh
viên xác định duy nhất mỗi sinh viên. Nhiều sinh viên thuộc một lớp.
d) Khi sinh viên nộp tiền học phí thì thông tin sẽ đƣợc ghi lại gồm: Số phiếu
nộp, Ngày nộp học phí, Số tiền sinh viên nộp. Trong đó Số phiếu nộp xác
định duy nhất. Mỗi lần sinh viên nộp học phí thì sẽ có một phiếu nộp duy
nhất đƣợc in ra.
2.1.2 Thiết kế cơ sở dữ liệu
a) Vẽ mô hình ER
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 23
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
Mã ngành Tên ngành Số phiếu nộp Ngày nộp
PHIẾU NỘP
NGÀNH
n
1 Số tiền
thuộc có
Ngày sinh
n
Khóa học
1
LỚP SINH VIÊN
n
1
Họ tên
Mã lớp
thuộc
Mã sinh viên
Hình 2.1 Mô hình ER của bài toán
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 24
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
b) Chuyển đổi mô hình ER thành các bảng quan hệ
Mô hình ER đƣợc chuyển đổi thành các bảng quan hệ nhƣ sau:
 Bảng NGÀNH để lƣu trữ các thông tin về ngành học gồm các cột:
Mã ngành, Tên ngành. Khóa chính là Mã ngành.

 Bảng LỚP để lƣu trữ các thông tin về lớp học gồm các cột: Mã lớp,
Mã ngành. Khóa chính là Mã lớp, khóa ngoài là Mã ngành.

 Bảng SINH VIÊN để lƣu trữ thông tin về sinh viên gồm các cột: Mã
sinh viên, Họ tên, Ngày sinh, Khóa học, Mã lớp. Khóa chính là Mã
sinh viên, khóa ngoài là Mã lớp

 Bảng PHIẾU NỘP để lƣu trữ thông tin về các phiếu thu của sinh
viên gồm các cột: Số phiếu, Ngày nộp, Số tiền, Mã sinh viên. Trong
đó Số phiếu là khóa chính, khóa ngoài là Mã sinh viên
2.1.3 Tạo cơ sở dữ liệu bằng SQL Server
Từ các bảng quan hệ trên, ta tạo đƣợc một DATABASE HOCPHI gồm
các bảng nhƣ sau:
1, Bảng SINH VIÊN
Hình 2.2 Bảng “Sinh viên” trong cơ sở dữ liệu HOCPHI
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 25
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
2, Bảng NGÀNH
Hình 2.3 Bảng “Ngành” trong cơ sở dữ liệu HOCPHI
3, Bảng LỚP
Hình 2.4 Bảng “Lớp” trong cơ sở dữ liệu HOCPHI
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 26
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
4, Bảng PHIẾU NỘP
Hình 2.5 Bảng nộp học phí trong cơ sở dữ liệu HOCPHI
5, Mô hình quan hệ các bảng trong cơ sở dữ liệu
Hình 2.6 Mô hình quan hệ các bảng trong cơ sở dữ liệu HOCPHI
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 27
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
2.2 Xây dựng chƣơng trình
2.2.1 Tạo chƣơng trình và lập kết nối LINQ to SQL với SQL SERVER
Bƣớc 1 : Tạo giao diện phần mềm làm
việc Chọn FILE NEWPROJECT
Hình 2.7 Giao diện tạo Project làm việc trong Visual Studio 2013
+ Chọn Installed Windows Windows Forms Application (
trên nền .NET Framework 3.5 )
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 28
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
Hình 2.8 Tạo Project làm việc
Hình 2.9 Giao diện Project làm việc sau khi tạo xong
Bƣớc 3: Tạo kết nối LINQ to SQL với SQL Server
+ Click chuột phải vào tên của Project Chọn ADD Chọn New
Item (Ctrl + Shift + A)
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 29
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
Hình 2.10 Tạo kết nối LinQ
+ Chọn Data Chọn LINQ to SQL Classes
Hình 2.11 Tạo kết nối LinQ to SQL
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 30
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
Hình 2.12 Giao diện khi tạo Form để kết nối LINQ to SQL thành công
+ Tạo kết nối LINQ to SQL với phần mềm Microsoft SQL server
2008 R2 bằng cách: Click vào Server Explorer Chọn Data
Connections Chọn Add Connection……
Hình 2.13 Kết nối LINQ to SQL
+ Kết nối với cơ sở dữ liệu HOCPHI và Test Connection thành công
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 31
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
Hình 2.14 Kết nối LINQ to SQL thành công
+ Các bảng và view sau khi kết nối thành công
Hình 2.15 Các bảng và view sau khi kết nối LINQ to SQL thành công
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 32
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
2.2.2 Tạo Form Menu và các Form thành phần của chƣơng trình

Giao diện Form Menu


+ Thay vì phải chạy các Form của chƣơng trình chúng ta sẽ viết một Form
Menu để khi chạy chƣơng trình chúng ta chỉ cần chạy Form này là sẽ gọi
đƣợc 4 Form còn lại.
+ Đổi tên Form 1 thành “PHẦN MỀM QUẢN LÝ HỌC PHÍ SINH VIÊN
TRƢỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG” bằng cách:
Click chuột phải vào khoảng trống trong form => Chọn Properties => Chọn
phần “Text” => Đổi tên.
+ Từ phần Toolbox => Chọn Menu & Toolbar => Chọn MenuStrip để làm
thanh Menu chọn các Form tƣơng ứng.
Hình 2.16 Giao diện Form Menu

Code chạy giao diện Menu

private void thôngTinCácSinhViênToolStripMenuItem_Click(object sender, EventArgs e)
{
Sinh_viên f = new Sinh_viên();
f.Show();
}
private void tra CácKhoảnNộpCủaSinhViênToolStripMenuItem_Click(object sender,
EventArgs e)
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 33
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
{
Nộp_học_phí c = new Nộp_học_phí ();
c.Show();
}
private void thôngTinNgànhHọcToolStripMenuItem_Click(object sender, EventArgs e)
{
Ngành_Học a = new Ngành_Học();
a.Show();
}
private void thôngTinNgànhHọcToolStripMenuItem_Click(object sender, EventArgs e)
{
Lớp_Học b = new Lớp_Học();
b.Show();
}
Hình 2.17 Giao diện code của Form Menu

Giao diện Form Sinh viên



+ Form sinh viên bao gồm nút có chức năng thêm, sửa, xóa, lƣu, tìm kiếm
và thống kê dữ liệu của bảng SINHVIEN trong cơ sở dữ liệu HOCPHI.
+ Ở đây em có tạo thêm 1 List Box để hỗ trợ tìm kiếm nhanh tên của các sinh
viên.
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 34
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
Hình 2.18 Giao diện Form Sinh viên

Tạo truy vấn cho Form sinh viên

private void F_Sinhvien_Load(object sender, EventArgs e)
{
//Sử dụng Action Select để liên kết giữa các bảng để lấy dữ liệu
var svnew = from bangsv in db.sinhviens
select bangsv;
foreach (var sv in svnew)
{
lb_timsinhvien.Items.Add(sv.Họ_tên);
}
//Tạo truy vấn dữ liệu
Table<lop> lp = db.GetTable<lop>();
Table<sinhvien> Sinhviens = db.GetTable<sinhvien>();
Table<nganh> ng = db.GetTable<nganh>();
//Sử dụng Action Join để liên kết giữa các bảng để lấy dữ liệu
var query = from k in lp
join sv in Sinhviens on k.Mã_lớp equals sv.Mã_lớp
join n in ng on k.Mã_ngành equals n.Mã_ngành
group sv by new { sv.Mã_SV, sv.Họ_tên, sv.Ngày_sinh,
sv.Khóa_học, sv.Mã_lớp, n.Tên_ngành } into nh
select new { nh.Key.Mã_SV, nh.Key.Họ_tên,
nh.Key.Ngày_sinh, nh.Key.Khóa_học, nh.Key.Mã_lớp, nh.Key.Tên_ngành };
dtg_ket_qua.DataSource = query;
}
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 35
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
Hình 2.19 Tạo truy vấn cho Form sinh viên

Tạo thủ tục Stored Prceduces để truy vấn dữ liệu cho List Box của

bảng sinh viên
Bƣớc 1: đăng nhập vào phần mềm quản trị cơ sở dữ liệu SQL Server,
chọn Database HOCPHI
Chọn Programmability => Click chuột phải vào Stored Prceduces
=> New Stored Prceduces
Hình 2.20 Tạo thủ tục Stored proceduces truy vấn theo tên sinh viên
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 36
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
Bƣớc 2: Viết câu lệnh truy vấn có tham số là họ tên sinh viên để tạo thủ
tục Stored Prceduces
Bƣớc 3: Tƣơng tự ta viết câu lệnh truy vấn có tham số là mã lớp và mã
ngành để tạo thủ tục Stored Prceduces cho Form Lớp và Form ngành.
Hình 2.21 Tạo thủ tục Stored proceduces truy vấn theo tên sinh viên

Đƣa thủ tục Stored Prceduces vào LinQ to SQL để truy vấn dữ liệu
theo tên Sinh viên của List Box


+ Tƣơng tự nhƣ đƣa các bảng và View vào trong LINQ to SQL, chúng
ta cũng đƣa các thủ tục Stored Prceduces vào để truy vấn dữ liệu.
+ Dùng Stored Prceduces để truy vấn dữ liệu trong LINQ to SQL để có thể
tăng tính bảo mật, tăng thời gian viết code, giảm thiểu tình trạng quá tải cho
phần mềm quản trị cơ sở dữ liệu
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 37
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
Hình 2.22 Đƣa thủ tục Stored Prceduces vào LinQ to SQL

Gọi thủ tục Stored Prceduces bằng câu lệnh LinQ to SQL


Đoạn code nhƣ sau:
private void lb_timsinhvien_SelectedIndexChanged(object sender, EventArgs e)
{
//gọi thủ tục để tìm thông tin các sinh viên đã nhập vào để có tên sinh viên đang
chọn
var kqtim = db.P_Quanlyhocphi(lb_timsinhvien.Text);
dtg_ket_qua.DataSource = kqtim;
}
Hình 2.23 Gọi thủ tục Stored Prceduces bằng câu lệnh LinQ to SQL
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 38
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng

Câu lệnh cho Data Grid View của Form sinh viên.


Đoạn code nhƣ sau:
private void dtg_ket_qua_CellContentClick(object sender, DataGridViewCellEventArgs
e)
{
int r = dtg_ket_qua.CurrentCell.RowIndex;
var masv_tim = dtg_ket_qua.Rows[r].Cells[0].Value.ToString();
var svtim = (from bangsv in db.sinhviens
where bangsv.Mã_SV == masv_tim
select bangsv);
foreach(var kq in svtim)
{
tb_tensv.Text = kq.Họ_tên;
tb_ngaysinh.Text = kq.Ngày_sinh.ToString();
tb_masv.Text = kq.Mã_SV;
tb_malop.Text = kq.Mã_lớp;
tb_khoahoc.Text = kq.Khóa_học.ToString();
}
}
+ Ở đây em sử dụng chức năng Select của LinQ to SQL
Hình 2.24 Code làm việc của bảng Data Grid View

Câu lệnh cho nút Thêm mới


Đoạn code nhƣ sau:
private void bt_themmoi_Click(object sender, EventArgs e)
{
tb_tensv.Text = null;
tb_ngaysinh.Text = null;
tb_masv.Text = null;
tb_malop.Text = null;
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 39
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
tb_khoahoc.Text = null;
}
Hình 2.25 Mã lệnh “ Thêm mới ”

Câu lệnh cho nút Lƣu thêm mới

Đoạn code nhƣ sau:
private void bt_luu_Click(object sender, EventArgs e)
{
if (tb_masv.Text != "")
{
sinhvien sv = new sinhvien();
sv.Mã_SV = tb_masv.Text;
sv.Họ_tên = tb_tensv.Text;
sv.Ngày_sinh = Convert.ToDateTime(tb_ngaysinh.Text);
sv.Mã_lớp = tb_malop.Text;
sv.Khóa_học = Convert.ToInt16(tb_khoahoc.Text)
db.sinhviens.InsertOnSubmit(sv);
db.SubmitChanges();
}
else
{
MessageBox.Show("Chƣa nhập thông tin Sinh viên cần lƣu", "Thông báo");
}
//hiển thị lại dữ liệu của bảng sinh viên sau khi đƣợc thêm
mới var svnew = from bangsv in db.sinhviens
select bangsv;
dtg_ket_qua.DataSource = svnew;
//sau khi lƣu lại thông tin vừa nhập mới vào bảng sinh viên thì reset lại các ô
nhập thông tin
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 40
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
tb_tensv.Text = null;
tb_ngaysinh.Text = null;
tb_masv.Text = null;
tb_malop.Text = null;
tb_khoahoc.Text = null;
}
+ Ở đây em sử dụng chức năng Insert của LinQ to SQL để đƣa các thông
tin thêm mới vào trong CSDL
Hình 2.26 Mã lệnh “ Lƣu thêm ”

Câu lệnh cho nút Sửa

Đoạn code nhƣ sau:
private void bt_sua_Click(object sender, EventArgs e)
{
//tìm sinh viên cần sửa có mã sinh viên được nhập vào từ bảng sinh
viên var svtim = (from bangsv in db.sinhviens
where bangsv.Mã_SV == tb_masv.Text
select bangsv);
//duyệt từng vật tư tìm được trong bảng sinh viên để thực hiện sửa
các thông tin theo yêu cầu
foreach(var sv in svtim)
{
sv.Họ_tên = tb_tensv.Text;
sv.Ngày_sinh = Convert.ToDateTime(tb_ngaysinh.Text);
sv.Mã_lớp = tb_malop.Text;
sv.Khóa_học = Convert.ToInt16(tb_khoahoc.Text);
}
db.SubmitChanges();
dtg_ket_qua.DataSource = db.sinhviens;
tb_tensv.Text = null;
tb_ngaysinh.Text = null;
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 41
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
tb_masv.Text = null;
tb_malop.Text = null;
tb_khoahoc.Text = null;
}
+ Ở đây em sử dụng chức năng Select và Update của LinQ to SQL
Hình 2.27 Mã lệnh “ Sửa ”

Câu lệnh cho nút Xóa

Đoạn code nhƣ sau:
private void bt_xoa_Click(object sender, EventArgs e)
{
var svtim = (from bangsv in db.sinhviens
where bangsv.Mã_SV == tb_masv.Text
select bangsv); //Chức năng SELECT
//duyệt sinh viên tìm đƣợc trong bảng sinh viên để xóa
foreach (var sv in svtim)
{
db.sinhviens.DeleteOnSubmit(sv); // Chức năng DELETE
}
db.SubmitChanges();
//hiển thị lại dữ liệu của bảng sinh viên sau khi xóa
var svnew = from bangsv in db.sinhviens
select bangsv;
dtg_ket_qua.DataSource = svnew;
tb_tensv.Text = null;
tb_ngaysinh.Text = null;
tb_masv.Text = null;
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 42
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
tb_malop.Text = null;
tb_khoahoc.Text = null;
}
2.28 Mã lệnh “ Xóa ”

Câu lệnh cho nút Tìm kiếm sinh viên theo mã sinh viên


+ Đoạn code nhƣ sau:
private void bt_tim_Click(object sender, EventArgs e)
{
//tạo truy vấn
Table<lop> lp = db.GetTable<lop>();
Table<sinhvien> Sinhviens = db.GetTable<sinhvien>();
Table<nganh> ng = db.GetTable<nganh>(); if
(tb_masv.Text != "")
{
var query = from k in lp
join sv in Sinhviens on k.Mã_lớp equals sv.Mã_lớp
join n in ng on k.Mã_ngành equals n.Mã_ngành
where sv.Mã_SV == tb_masv.Text
group k by new { k.Mã_lớp, sv.Mã_SV, sv.Họ_tên, sv.Khóa_học,
sv.Ngày_sinh, n.Tên_ngành } into nh
select new { nh.Key.Mã_SV, nh.Key.Họ_tên, nh.Key.Ngày_sinh,
nh.Key.Khóa_học, nh.Key.Mã_lớp, nh.Key.Tên_ngành };
dtg_ket_qua.DataSource = query;
}
else
{
MessageBox.Show("Chƣa nhập mã sinh viên ", "Thông báo");
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 43
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
}
tb_tensv.Text = null;
tb_ngaysinh.Text = null;
tb_masv.Text = null;
tb_malop.Text = null;
tb_khoahoc.Text = null;
}
+ Ở đây em sử dụng chức năng Join(liên kết giữa các bảng) của LinQ to SQL để
lấy ra các thông tin cần tìm kiếm.
Hình 2.29 Mã lệnh “Tìm kiếm sinh viên theo mã sinh viên”

Câu lệnh cho nút Tìm kiếm sinh viên theo tên sinh viên


+ Đoạn code nhƣ sau:
private void bt_timsV_Click(object sender, EventArgs e)
{
//tạo thủ tục tìm kiếm
Table<lop> lp = db.GetTable<lop>();
Table<sinhvien> Sinhviens =
db.GetTable<sinhvien>(); Table<nganh> ng =
db.GetTable<nganh>(); if (tb_tensv.Text != "")
{
var query = from k in lp
join sv in Sinhviens on k.Mã_lớp equals sv.Mã_lớp
join n in ng on k.Mã_ngành equals n.Mã_ngành
where sv.Họ_tên == tb_tensv.Text
group sv by new { k.Mã_lớp, sv.Mã_SV, sv.Họ_tên,
sv.Khóa_học, sv.Ngày_sinh, n.Tên_ngành } into nh
select new { nh.Key.Mã_SV, nh.Key.Họ_tên,
nh.Key.Ngày_sinh, nh.Key.Khóa_học, nh.Key.Mã_lớp, nh.Key.Tên_ngành };
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 44
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
dtg_ket_qua.DataSource = query;
tb_tensv.Text = null;
tb_ngaysinh.Text = null;
tb_masv.Text = null;
tb_malop.Text = null;
tb_khoahoc.Text = null;
}
else
{
MessageBox.Show("Chưa nhập tên Sinh viên ", "Thông báo");
}
tb_tensv.Text = null;
tb_ngaysinh.Text = null;
tb_masv.Text = null;
tb_malop.Text = null;
tb_khoahoc.Text = null;
}
+ Ở đây em sử dụng chức năng Join(liên kết giữa các bảng) của LinQ to
SQL để lấy ra các thông tin cần tìm kiếm.
Hình 2.30 Mã lệnh “Tìm kiếm sinh viên theo tên sinh viên”

Câu lệnh cho nút Thống kê các sinh viên đã nộp học phí theo lớp


+ Đoạn code nhƣ sau:
private void button1_Click(object sender, EventArgs e)
{
//tạo thủ tục tìm kiếm
Table<lop> lp = db.GetTable<lop>();
Table<sinhvien> Sinhviens =
db.GetTable<sinhvien>(); Table<danop> dn =
db.GetTable<danop>(); if(tb_malop.Text != "")
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 45
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
{
var query = from k in lp
join sv in Sinhviens on k.Mã_lớp equals sv.Mã_lớp
join a in dn on sv.Mã_SV equals a.Mã_SV where
k.Mã_lớp == tb_malop.Text
group a by new { k.Mã_lớp } into nh
select new { nh.Key.Mã_lớp , Số_sinh_viên_đã_nộp_tiền =
nh.Count() };
dtg_ket_qua.DataSource = query;
}
else
{
MessageBox.Show("Chưa nhập mã Lớp ", "Thông báo");
}
tb_tensv.Text = null;
tb_ngaysinh.Text = null;
tb_masv.Text = null;
tb_malop.Text = null;
tb_khoahoc.Text = null;
}
+ Ở đây em sử dụng chức năng Join(liên kết giữa các bảng) của LinQ to
SQL để lấy ra các thông tin cần tìm kiếm.
+ Dùng câu lệnh Count() của LinQ to SQL để thống kê ra số trong 1 lớp
đã nộp học phí
Hình 2.31 Mã lệnh “Thống kê các sinh viên đã nộp học phí theo lớp”

Giao diện Form Lớp học


+ Form Lớp bao gồm các nút Thêm mới, Lƣu, Xóa, Sửa, Tìm kiếm theo
Mã lớp va thống kê học phí của các sinh viên trong 1 lớp theo mã lớp
+ Ở đây em có tạo thêm 1 List Box để hỗ trợ tìm kiếm nhanh tên của các lớp.
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 46
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
Hình 2.32 Giao diện Form Lớp học

Tạo truy vấn cho Form Lớp


+ Đoạn code nhƣ sau:
private void F_lop_Load(object sender, EventArgs e)
{
var lopnew = from banglop in db.lops
select banglop;
foreach (var sv in lopnew)
{
lb_lop.Items.Add(sv.Mã_lớp);
}
// hiển thị toàn bộ sinh viên lên danh sách chọn để
tìm Table<lop> lp = db.GetTable<lop>();
Table<nganh> ng = db.GetTable<nganh>();
// tạo truy vấn
var query = from k in lp
join n in ng on k.Mã_ngành equals n.Mã_ngành
group k by new { k.Mã_lớp, k.Mã_ngành, n.Tên_ngành } into nh select
new { nh.Key.Mã_lớp, nh.Key.Mã_ngành, nh.Key.Tên_ngành };
dtg_ket_qua.DataSource = query;
// hiển thị toàn bộ danh sách sinh viên lên bảng Sinh viên để xem
}
+ Ở đây em sử dụng chức năng Select(chọn lọc) và Join(liên kết giữa các
bảng) của LinQ to SQL để lấy ra các thông tin cần tìm kiếm.
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 47
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
Hình 2.33 Tạo truy vấn cho Form lớp

Gọi thủ tục Stored Prceduces bằng câu lệnh LinQ to SQL


+ Đoạn code nhƣ sau:
private void lb_lop_SelectedIndexChanged(object sender, EventArgs e)
{
var kqtim = db.P_Quanlylop(lb_lop.Text);
dtg_ket_qua.DataSource = kqtim;
}

HìnhCâu2l.ệ34nhGọichothủDatatục StoredGridViewPrceducesủaFormbằng Lcâuớplệnh. LinQ to SQL


+ Đoạn code nhƣ sau:
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 48
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
private void dtg_ket_qua_CellContentClick(object sender, DataGridViewCellEventArgs
e) {
int r = dtg_ket_qua.CurrentCell.RowIndex;
var malop_tim = dtg_ket_qua.Rows[r].Cells[0].Value.ToString();
var timlop = (from banglop in db.lops
where banglop.Mã_lớp == malop_tim
select banglop);
foreach (var kq in timlop)
{
tb_malop.Text = kq.Mã_lớp;
tb_manganh.Text = kq.Mã_ngành;
}
}
+ Ở đây em sử dụng chức năng Select của LinQ to SQL
Hình 2.35 Code làm việc của bảng Data Grid View

Câu lệnh cho nút Thêm mới


+ Đoạn code nhƣ sau:
private void bt_thêm_Click(object sender, EventArgs e)
{
tb_malop.Text = null;
tb_manganh.Text = null;
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 49
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
}
Hình 2.36 Mã lệnh “ Thêm mới ”

Câu lệnh cho nút Lƣu thêm mới

Đoạn code nhƣ sau:
private void bt_lƣu_Click(object sender, EventArgs e)
{
if (tb_malop.Text != "")
{
lop lp = new lop();
lp.Mã_lớp = tb_malop.Text;
lp.Mã_ngành = tb_manganh.Text;
db.lops.InsertOnSubmit(lp);
db.SubmitChanges();
}
else
{
MessageBox.Show("Chƣa nhập thông tin Lớp cần lƣu", "Thông báo");
}
//hiển thị lại dữ liệu của bảng sinh viên sau khi đƣợc thêm
mới var svnew = from banglop in db.lops
select banglop;
dtg_ket_qua.DataSource = svnew;
//sau khi lƣu lại thông tin vừa nhập mới vào bảng sinh viên thì reset lại các ô nhập thông
tin
tb_malop.Text = null;
tb_manganh.Text = null;
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 50
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
}
+ Ở đây em sử dụng chức năng Insert của LinQ to SQL để đƣa các thông
tin thêm mới vào trong CSDL
Hình 2.37 Mã lệnh “ Lƣu thêm ”

Câu lệnh cho nút Sửa

Đoạn code nhƣ sau:
private void bt_sửa_Click(object sender, EventArgs e)
{
//tìm sinh viên cần sửa có mã sinh viên đƣợc nhập vào từ bảng sinh
viên var loptim = (from banglop in db.lops
where banglop.Mã_lớp == tb_malop.Text
select banglop);
//duyệt từng vật tƣ tìm đƣợc trong bảng sinh viên để thực hiện sửa các thông tin theo yêu
cầu
foreach (var sv in loptim)
{
sv.Mã_lớp = tb_malop.Text;
sv.Mã_ngành = tb_manganh.Text;
}
db.SubmitChanges();
dtg_ket_qua.DataSource = db.sinhviens;
tb_malop.Text = null;
tb_manganh.Text = null;
}
+ Ở đây em sử dụng chức năng Update của LinQ to SQL để đƣa các thông
tin đã sửa vào trong CSDL
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 51
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
Hình 2.38 Mã lệnh “ Sửa ”

Câu lệnh cho nút Xóa

Đoạn code nhƣ sau:
private void bt_xóa_Click(object sender, EventArgs e)
{
var loptim = (from banglop in db.lops
where banglop.Mã_lớp == tb_malop.Text
select banglop);
//duyệt sinh viên tìm đƣợc trong bảng sinh viên để xóa
foreach (var sv in loptim)
{
db.lops.DeleteOnSubmit(sv);
}
db.SubmitChanges();
//hiển thị lại dữ liệu của bảng sinh viên sau khi
xóa var lopnew = from banglop in db.lops
select banglop;
dtg_ket_qua.DataSource = lopnew;
}
+ Ở đây em sử dụng chức năng DELETE của LinQ to SQL để xóa các thông
tin thêm mới vào trong CSDL
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 52
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
Hình 2.39 Mã lệnh “ Xóa ”

Câu lệnh cho nút Tìm kiếm lớp theo mã lớp


+ Đoạn code nhƣ sau:
private void button1_Click(object sender, EventArgs e)
{
if (tb_malop.Text != "")
{
Table<lop> lp = db.GetTable<lop>();
Table<nganh> ng = db.GetTable<nganh>();
//tạo truy vấn
var query = from k in lp
join n in ng on k.Mã_ngành equals n.Mã_ngành
where k.Mã_lớp == tb_malop.Text
group k by new { k.Mã_lớp, n.Mã_ngành, n.Tên_ngành } into nh
select new { nh.Key.Mã_lớp, nh.Key.Mã_ngành, nh.Key.Tên_ngành
}; dtg_ket_qua.DataSource = query;
}
else
{
MessageBox.Show("Chƣa nhập mã Lớp ", "Thông báo");
}
tb_malop.Text = null;
tb_manganh.Text = null;
}
+ Ở đây em sử dụng chức năng Join(liên kết giữa các bảng) của LinQ to SQL
để lấy ra các thông tin cần tìm kiếm.
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 53
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
Hình 2.40 Mã lệnh “Tìm kiếm lớp theo mã lớp”

Câu lệnh cho nút Thống kê học phí của các sinh viên trong lớp theo mã
lớp


+ Đoạn code nhƣ sau:
private void button2_Click(object sender, EventArgs e)
{
Table<lop> lp = db.GetTable<lop>();
Table<sinhvien> Sinhviens = db.GetTable<sinhvien>();
Table<danop> dn = db.GetTable<danop>(); //tạo truy
vấn
if (tb_malop.Text != "")
{
var query = from k in lp
join sv in Sinhviens on k.Mã_lớp equals sv.Mã_lớp
join a in dn on sv.Mã_SV equals a.Mã_SV where
k.Mã_lớp == tb_malop.Text
group a by new { k.Mã_lớp, a.Ngày_nộp, a.Số_phiếu, a.Số_tiền,
sv.Họ_tên } into nh
select new { nh.Key.Mã_lớp, nh.Key.Họ_tên,
nh.Key.Số_phiếu, nh.Key.Ngày_nộp, nh.Key.Số_tiền };
dtg_ket_qua.DataSource = query;
}
else
{
MessageBox.Show("Chƣa nhập mã Lớp ", "Thông báo");
}
tb_malop.Text = null;
tb_manganh.Text = null;
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 54
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
}
+ Ở đây em sử dụng chức năng Join(liên kết giữa các bảng) của LinQ to
SQL để lấy ra các thông tin cần tìm kiếm.
Hình 2.41 Mã lệnh “Thống kê học phí của các sinh viên trong lớp theo mã lớp”

Giao diện Form Ngành học


+ Form Lớp bao gồm các nút chức năng Thêm, Sửa, Xóa, Lƣu, tìm kiếm và
thống kê dữ liệu của bảng NGÀNH trong cơ sở dữ liệu HOCPHI.
+ Ở đây em có tạo thêm 1 List Box để hỗ trợ tìm kiếm nhanh mã của
các Ngành.
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 55
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
Hình 2.42 Giao diện Form Ngành học

Tạo truy vấn cho Form Ngành


+ Đoạn code nhƣ sau:
private void F_Nganh_Load(object sender, EventArgs e)
{
//hiển thị toàn bộ sinh viên lên danh sách chọn để
tìm var nganhnew = from bangnganh in db.nganhs
select bangnganh;
foreach (var sv in nganhnew)
{
lb_nganh.Items.Add(sv.Mã_ngành);
}
//hiển thị toàn bộ danh sách sinh viên lên bảng Sinh viên để xem
dtg_ket_qua.DataSource = db.nganhs;
}
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 56
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
Hình 2.43 Tạo truy vấn cho Form Ngành

Gọi thủ tục Stored Prceduces bằng câu lệnh LinQ to SQL


+ Đoạn code nhƣ sau:
private void lb_nganh_SelectedIndexChanged(object sender, EventArgs e)
{
var kqtim = db.P_Quanlynganh(lb_nganh.Text);
dtg_ket_qua.DataSource = kqtim;
}
Hình 2.44 Gọi thủ tục Stored Prceduces bằng câu lệnh LinQ to SQL
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 57
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng

Câu lệnh cho Data Grid View của Form Lớp


+ Đoạn code nhƣ sau:
private void dtg_ket_qua_CellContentClick(object sender, DataGridViewCellEventArgs
e)
{
int r = dtg_ket_qua.CurrentCell.RowIndex;
var manganh_tim = dtg_ket_qua.Rows[r].Cells[0].Value.ToString();
var nganhtim = (from bangnganh in db.nganhs
where bangnganh.Mã_ngành == manganh_tim
select bangnganh);
foreach (var kq in nganhtim)
{
tb_manganh.Text = kq.Mã_ngành;
tb_tennganh.Text = kq.Tên_ngành;
}
}
Hình 2.45 Code làm việc của bảng Data Grid View

Câu lệnh cho nút Thêm mới


+ Đoạn code nhƣ sau:
private void bt_themmoi_Click(object sender, EventArgs e)
{
tb_manganh.Text = null;
tb_tennganh.Text = null;
}
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 58
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
Hình 2.46 Mã lệnh “ Thêm mới ”

Câu lệnh cho nút Lƣu thêm mới


+ Đoạn code nhƣ sau:
private void bt_luu_Click(object sender, EventArgs e)
{
if (tb_manganh.Text != "")
{
nganh ng = new nganh();
ng.Mã_ngành = tb_manganh.Text;
ng.Tên_ngành = tb_tennganh.Text;
db.nganhs.InsertOnSubmit(ng);
db.SubmitChanges();
}
else
{
MessageBox.Show("Chƣa nhập thông tin Ngành cần lƣu", "Thông báo");
}
//hiển thị lại dữ liệu của bảng sinh viên sau khi đƣợc thêm
mới var nganhnew = from bangnganh in db.nganhs
select bangnganh;
dtg_ket_qua.DataSource = nganhnew;
tb_manganh.Text = null;
tb_tennganh.Text = null;
}
+ Ở đây em sử dụng chức năng Insert của LinQ to SQL để đƣa các thông
tin thêm mới vào trong CSDL
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 59
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
Hình 2.47 Mã lệnh “ Lƣu thêm ”

Câu lệnh cho nút Sửa


+ Đoạn code nhƣ sau:
private void bt_sua_Click(object sender, EventArgs e)
{
var nganhtim = (from bangnganh in db.nganhs
where bangnganh.Mã_ngành ==
tb_manganh.Text select bangnganh);
//duyệt từng vật tƣ tìm đƣợc trong bảng sinh viên để thực hiện sửa các thông
tin theo yêu cầu
foreach (var sv in nganhtim)
{
sv.Mã_ngành = tb_manganh.Text;
sv.Tên_ngành = tb_tennganh.Text;
}
db.SubmitChanges();
dtg_ket_qua.DataSource = db.nganhs;
tb_manganh.Text = null;
tb_tennganh.Text = null;
}
+ Ở đây em sử dụng chức năng Update của LinQ to SQL để đƣa các thông
tin đã sửa vào trong CSDL
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 60
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
Hình 2.48 Mã lệnh “ Sửa ”

Câu lệnh cho nút Xóa


+ Đoạn code nhƣ sau:
private void bt_xoa_Click(object sender, EventArgs e)
{
var nganhtim = (from bangnganh in db.nganhs
where bangnganh.Mã_ngành ==
tb_manganh.Text select bangnganh);
//duyệt sinh viên tìm đƣợc trong bảng sinh viên để
xóa foreach (var sv in nganhtim) {
db.nganhs.DeleteOnSubmit(sv);
}
db.SubmitChanges();
//hiển thị lại dữ liệu của bảng sinh viên sau khi xóa
var nganhnew = from bangnganh in db.nganhs
select bangnganh;
dtg_ket_qua.DataSource = nganhnew;
tb_manganh.Text = null;
tb_tennganh.Text = null;
}
+ Ở đây em sử dụng chức năng DELETE của LinQ to SQL để xóa các thông
tin thêm mới vào trong CSDL
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 61
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
Hình 2.49 Mã lệnh “ Xóa ”

Câu lệnh cho nút Tìm kiếm ngành theo mã ngành


+ Đoạn code nhƣ sau:
private void bt_tim_Click(object sender, EventArgs e)
{
if (tb_manganh.Text != "")
{
var nganhtim = (from bangnganh in db.nganhs
where bangnganh.Mã_ngành ==
tb_manganh.Text select bangnganh);
dtg_ket_qua.DataSource = nganhtim;
tb_manganh.Text = null;
tb_tennganh.Text = null;
}
else
{
MessageBox.Show("Chƣa nhập mã Ngành ", "Thông báo");
}
tb_manganh.Text = null;
tb_tennganh.Text = null;
}
+ Ở đây em sử dụng chức năng Join(liên kết giữa các bảng) của LinQ to SQL
để lấy ra các thông tin cần tìm kiếm.
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 62
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng
Hình 2.50 Mã lệnh “Tìm kiếm lớp theo mã ngành”

Giao diện bảng Nộp học phí của sinh viên


+ Form Lớp bao gồm các nút Thêm mới, Lƣu, Xóa, Sửa, Tìm kiếm theo tên
và mã sinh viên, thống kê học phí của các sinh viên trong 1 lớp theo khoảng
giá trị.
2.51 Giao diện bảng nộp học phí của sinh viên
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 63
Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM
Tải tài liệu tại kết bạn zalo : 0917.193.864
Tìm hiểu về LINQ to SQL và ứng dụng

Tạo truy vấn cho Form Nộp học phí của sinh viên


+ Đoạn code nhƣ sau:
private void F_Nophocphi_Load(object sender, EventArgs e)
{
//hiển thị toàn bộ sinh viên lên danh sách chọn để
tìm var svnew = from bangnop in db.danops
select bangnop;
Table<lop> lp = db.GetTable<lop>();
Table<sinhvien> Sinhviens = db.GetTable<sinhvien>();
Table<danop> dn = db.GetTable<danop>(); //tạo truy
vấn
var query = from k in lp
join sv in Sinhviens on k.Mã_lớp equals sv.Mã_lớp
join n in dn on sv.Mã_SV equals n.Mã_SV
group n by new { n.Số_phiếu, n.Mã_SV, n.Ngày_nộp, n.Số_tiền, sv.Họ_tên
} into nh
select new { nh.Key.Số_phiếu, nh.Key.Mã_SV,
nh.Key.Họ_tên, nh.Key.Ngày_nộp, nh.Key.Số_tiền };
//hiển thị toàn bộ danh sách sinh viên lên bảng Sinh viên để
xem dtg_ket_qua.DataSource = query; }
+ Ở đây em sử dụng chức năng Select(chọn lọc) và Join(liên kết giữa các
bảng) của LinQ to SQL để lấy ra các thông tin cần tìm kiếm.
Hình 2.52 Tạo truy vấn cho Form Nộp học phí của sinh viên
Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 64
Luận Văn Công Nghệ Thông Tin Tìm Hiểu Về Linq To Sql Và Ứng Dụng.doc
Luận Văn Công Nghệ Thông Tin Tìm Hiểu Về Linq To Sql Và Ứng Dụng.doc
Luận Văn Công Nghệ Thông Tin Tìm Hiểu Về Linq To Sql Và Ứng Dụng.doc
Luận Văn Công Nghệ Thông Tin Tìm Hiểu Về Linq To Sql Và Ứng Dụng.doc
Luận Văn Công Nghệ Thông Tin Tìm Hiểu Về Linq To Sql Và Ứng Dụng.doc
Luận Văn Công Nghệ Thông Tin Tìm Hiểu Về Linq To Sql Và Ứng Dụng.doc
Luận Văn Công Nghệ Thông Tin Tìm Hiểu Về Linq To Sql Và Ứng Dụng.doc
Luận Văn Công Nghệ Thông Tin Tìm Hiểu Về Linq To Sql Và Ứng Dụng.doc
Luận Văn Công Nghệ Thông Tin Tìm Hiểu Về Linq To Sql Và Ứng Dụng.doc
Luận Văn Công Nghệ Thông Tin Tìm Hiểu Về Linq To Sql Và Ứng Dụng.doc
Luận Văn Công Nghệ Thông Tin Tìm Hiểu Về Linq To Sql Và Ứng Dụng.doc
Luận Văn Công Nghệ Thông Tin Tìm Hiểu Về Linq To Sql Và Ứng Dụng.doc
Luận Văn Công Nghệ Thông Tin Tìm Hiểu Về Linq To Sql Và Ứng Dụng.doc
Luận Văn Công Nghệ Thông Tin Tìm Hiểu Về Linq To Sql Và Ứng Dụng.doc
Luận Văn Công Nghệ Thông Tin Tìm Hiểu Về Linq To Sql Và Ứng Dụng.doc
Luận Văn Công Nghệ Thông Tin Tìm Hiểu Về Linq To Sql Và Ứng Dụng.doc
Luận Văn Công Nghệ Thông Tin Tìm Hiểu Về Linq To Sql Và Ứng Dụng.doc
Luận Văn Công Nghệ Thông Tin Tìm Hiểu Về Linq To Sql Và Ứng Dụng.doc
Luận Văn Công Nghệ Thông Tin Tìm Hiểu Về Linq To Sql Và Ứng Dụng.doc
Luận Văn Công Nghệ Thông Tin Tìm Hiểu Về Linq To Sql Và Ứng Dụng.doc
Luận Văn Công Nghệ Thông Tin Tìm Hiểu Về Linq To Sql Và Ứng Dụng.doc
Luận Văn Công Nghệ Thông Tin Tìm Hiểu Về Linq To Sql Và Ứng Dụng.doc
Luận Văn Công Nghệ Thông Tin Tìm Hiểu Về Linq To Sql Và Ứng Dụng.doc
Luận Văn Công Nghệ Thông Tin Tìm Hiểu Về Linq To Sql Và Ứng Dụng.doc
Luận Văn Công Nghệ Thông Tin Tìm Hiểu Về Linq To Sql Và Ứng Dụng.doc
Luận Văn Công Nghệ Thông Tin Tìm Hiểu Về Linq To Sql Và Ứng Dụng.doc
Luận Văn Công Nghệ Thông Tin Tìm Hiểu Về Linq To Sql Và Ứng Dụng.doc
Luận Văn Công Nghệ Thông Tin Tìm Hiểu Về Linq To Sql Và Ứng Dụng.doc
Luận Văn Công Nghệ Thông Tin Tìm Hiểu Về Linq To Sql Và Ứng Dụng.doc
Luận Văn Công Nghệ Thông Tin Tìm Hiểu Về Linq To Sql Và Ứng Dụng.doc
Luận Văn Công Nghệ Thông Tin Tìm Hiểu Về Linq To Sql Và Ứng Dụng.doc
Luận Văn Công Nghệ Thông Tin Tìm Hiểu Về Linq To Sql Và Ứng Dụng.doc
Luận Văn Công Nghệ Thông Tin Tìm Hiểu Về Linq To Sql Và Ứng Dụng.doc
Luận Văn Công Nghệ Thông Tin Tìm Hiểu Về Linq To Sql Và Ứng Dụng.doc
Luận Văn Công Nghệ Thông Tin Tìm Hiểu Về Linq To Sql Và Ứng Dụng.doc
Luận Văn Công Nghệ Thông Tin Tìm Hiểu Về Linq To Sql Và Ứng Dụng.doc
Luận Văn Công Nghệ Thông Tin Tìm Hiểu Về Linq To Sql Và Ứng Dụng.doc
Luận Văn Công Nghệ Thông Tin Tìm Hiểu Về Linq To Sql Và Ứng Dụng.doc

More Related Content

Similar to Luận Văn Công Nghệ Thông Tin Tìm Hiểu Về Linq To Sql Và Ứng Dụng.doc

Luận Văn Xây Dựng Chương Trình Quản Lý Bán Lẻ Cho Siêu Thị Mini Huong Mart Ở ...
Luận Văn Xây Dựng Chương Trình Quản Lý Bán Lẻ Cho Siêu Thị Mini Huong Mart Ở ...Luận Văn Xây Dựng Chương Trình Quản Lý Bán Lẻ Cho Siêu Thị Mini Huong Mart Ở ...
Luận Văn Xây Dựng Chương Trình Quản Lý Bán Lẻ Cho Siêu Thị Mini Huong Mart Ở ...sividocz
 
Luận Văn Xây Dựng Chương Trình Quản Lý Vật Tư Công Ty Tnhh Khánh Linh.doc
Luận Văn Xây Dựng Chương Trình Quản Lý Vật Tư Công Ty Tnhh Khánh Linh.docLuận Văn Xây Dựng Chương Trình Quản Lý Vật Tư Công Ty Tnhh Khánh Linh.doc
Luận Văn Xây Dựng Chương Trình Quản Lý Vật Tư Công Ty Tnhh Khánh Linh.docsividocz
 
Khóa Luận Công Tác Đào Tạo Và Phát Triển Nguồn Nhân Lực Công Ty Cổ Phần Vận T...
Khóa Luận Công Tác Đào Tạo Và Phát Triển Nguồn Nhân Lực Công Ty Cổ Phần Vận T...Khóa Luận Công Tác Đào Tạo Và Phát Triển Nguồn Nhân Lực Công Ty Cổ Phần Vận T...
Khóa Luận Công Tác Đào Tạo Và Phát Triển Nguồn Nhân Lực Công Ty Cổ Phần Vận T...sividocz
 
Luận Văn Xây Dựng Website Quản Lý Trả Chứng Chỉ Icdl.doc
Luận Văn Xây Dựng Website Quản Lý Trả Chứng Chỉ Icdl.docLuận Văn Xây Dựng Website Quản Lý Trả Chứng Chỉ Icdl.doc
Luận Văn Xây Dựng Website Quản Lý Trả Chứng Chỉ Icdl.docsividocz
 
Khóa Luận Phân Tích Tình Hình Sử Dụng Vốn Lưu Động Với Việc Nâng Cao Hiệu Quả...
Khóa Luận Phân Tích Tình Hình Sử Dụng Vốn Lưu Động Với Việc Nâng Cao Hiệu Quả...Khóa Luận Phân Tích Tình Hình Sử Dụng Vốn Lưu Động Với Việc Nâng Cao Hiệu Quả...
Khóa Luận Phân Tích Tình Hình Sử Dụng Vốn Lưu Động Với Việc Nâng Cao Hiệu Quả...sividocz
 
Luận văn xây dựng website hỗ trợ đăng ký Xét Tuyển Vào Đại Học.doc
Luận văn xây dựng website hỗ trợ đăng ký Xét Tuyển Vào Đại Học.docLuận văn xây dựng website hỗ trợ đăng ký Xét Tuyển Vào Đại Học.doc
Luận văn xây dựng website hỗ trợ đăng ký Xét Tuyển Vào Đại Học.docsividocz
 
Đồ Án Tốt Nghiệp công Nghệ Thông Tin.doc
Đồ Án Tốt Nghiệp công Nghệ Thông Tin.docĐồ Án Tốt Nghiệp công Nghệ Thông Tin.doc
Đồ Án Tốt Nghiệp công Nghệ Thông Tin.docsividocz
 
Khóa Luận Công Tác Đào Tạo Và Phát Triển Nguồn Nhân Lực Công Ty Cổ Phần Vận T...
Khóa Luận Công Tác Đào Tạo Và Phát Triển Nguồn Nhân Lực Công Ty Cổ Phần Vận T...Khóa Luận Công Tác Đào Tạo Và Phát Triển Nguồn Nhân Lực Công Ty Cổ Phần Vận T...
Khóa Luận Công Tác Đào Tạo Và Phát Triển Nguồn Nhân Lực Công Ty Cổ Phần Vận T...sividocz
 
Luận Văn Công Cuộc Xóa Đói Giảm Nghèo Ở Huyện Bảo Lạc Tỉnh Cao Bằng (2000 - 2...
Luận Văn Công Cuộc Xóa Đói Giảm Nghèo Ở Huyện Bảo Lạc Tỉnh Cao Bằng (2000 - 2...Luận Văn Công Cuộc Xóa Đói Giảm Nghèo Ở Huyện Bảo Lạc Tỉnh Cao Bằng (2000 - 2...
Luận Văn Công Cuộc Xóa Đói Giảm Nghèo Ở Huyện Bảo Lạc Tỉnh Cao Bằng (2000 - 2...sividocz
 
Luận Văn Trường Thpt Bắc Đông Quan - Thái Bình.doc
Luận Văn Trường Thpt Bắc Đông Quan - Thái Bình.docLuận Văn Trường Thpt Bắc Đông Quan - Thái Bình.doc
Luận Văn Trường Thpt Bắc Đông Quan - Thái Bình.docsividocz
 
Khóa Luận Biện Pháp Nâng Cao Hiệu Quả Sử Dụng Vốn Tại Công Ty Cp Cảng Hải Phò...
Khóa Luận Biện Pháp Nâng Cao Hiệu Quả Sử Dụng Vốn Tại Công Ty Cp Cảng Hải Phò...Khóa Luận Biện Pháp Nâng Cao Hiệu Quả Sử Dụng Vốn Tại Công Ty Cp Cảng Hải Phò...
Khóa Luận Biện Pháp Nâng Cao Hiệu Quả Sử Dụng Vốn Tại Công Ty Cp Cảng Hải Phò...sividocz
 
Luận Văn Xây Dựng Chương Trình Hỗ Trợ Báo Cáo Công Việc Hàng Tuần Trên Nền We...
Luận Văn Xây Dựng Chương Trình Hỗ Trợ Báo Cáo Công Việc Hàng Tuần Trên Nền We...Luận Văn Xây Dựng Chương Trình Hỗ Trợ Báo Cáo Công Việc Hàng Tuần Trên Nền We...
Luận Văn Xây Dựng Chương Trình Hỗ Trợ Báo Cáo Công Việc Hàng Tuần Trên Nền We...sividocz
 
Luận văn Xây Dựng Ứng Dụng Quản Lý Bàn Ăn Trên Thiết Bị Di Động Android.doc
Luận văn Xây Dựng Ứng Dụng Quản Lý Bàn Ăn Trên Thiết Bị Di Động Android.docLuận văn Xây Dựng Ứng Dụng Quản Lý Bàn Ăn Trên Thiết Bị Di Động Android.doc
Luận văn Xây Dựng Ứng Dụng Quản Lý Bàn Ăn Trên Thiết Bị Di Động Android.docsividocz
 
Luận Văn Trung Tâm Hội Chợ Triển Lãm Thăng Long - Hà Nội.doc
Luận Văn Trung Tâm Hội Chợ Triển Lãm Thăng Long - Hà Nội.docLuận Văn Trung Tâm Hội Chợ Triển Lãm Thăng Long - Hà Nội.doc
Luận Văn Trung Tâm Hội Chợ Triển Lãm Thăng Long - Hà Nội.docsividocz
 
Luận Văn Biện Pháp Hoàn Thiện Công Tác Quản Trị Nhân Lực Tại Trường Cao Đẳng ...
Luận Văn Biện Pháp Hoàn Thiện Công Tác Quản Trị Nhân Lực Tại Trường Cao Đẳng ...Luận Văn Biện Pháp Hoàn Thiện Công Tác Quản Trị Nhân Lực Tại Trường Cao Đẳng ...
Luận Văn Biện Pháp Hoàn Thiện Công Tác Quản Trị Nhân Lực Tại Trường Cao Đẳng ...sividocz
 
Đánh giá hiện trạng môi trường Khu công nghiệp Nomura-Hải Phòng.docx
Đánh giá hiện trạng môi trường Khu công nghiệp Nomura-Hải Phòng.docxĐánh giá hiện trạng môi trường Khu công nghiệp Nomura-Hải Phòng.docx
Đánh giá hiện trạng môi trường Khu công nghiệp Nomura-Hải Phòng.docxsividocz
 
Luận Văn Thiết Kế Cung Cấp Điện Cho Trường Thpt Nguyễn Du.doc
Luận Văn Thiết Kế Cung Cấp Điện Cho Trường Thpt Nguyễn Du.docLuận Văn Thiết Kế Cung Cấp Điện Cho Trường Thpt Nguyễn Du.doc
Luận Văn Thiết Kế Cung Cấp Điện Cho Trường Thpt Nguyễn Du.docsividocz
 
Khóa Luận Quản Lý Nhân Sự Tại Công Ty Cổ Phần Chế Biến Dịch Vụ Thủy Sản Cát H...
Khóa Luận Quản Lý Nhân Sự Tại Công Ty Cổ Phần Chế Biến Dịch Vụ Thủy Sản Cát H...Khóa Luận Quản Lý Nhân Sự Tại Công Ty Cổ Phần Chế Biến Dịch Vụ Thủy Sản Cát H...
Khóa Luận Quản Lý Nhân Sự Tại Công Ty Cổ Phần Chế Biến Dịch Vụ Thủy Sản Cát H...sividocz
 
Luận Văn Công Nghệ Thông Tin Quản Lý Giao Việc Theo Sự Kiện.doc
Luận Văn Công Nghệ Thông Tin Quản Lý Giao Việc Theo Sự Kiện.docLuận Văn Công Nghệ Thông Tin Quản Lý Giao Việc Theo Sự Kiện.doc
Luận Văn Công Nghệ Thông Tin Quản Lý Giao Việc Theo Sự Kiện.docsividocz
 

Similar to Luận Văn Công Nghệ Thông Tin Tìm Hiểu Về Linq To Sql Và Ứng Dụng.doc (20)

Hệ thống theo dõi học tập và giảng dạy trong trường Mầm non, HOT
Hệ thống theo dõi học tập và giảng dạy trong trường Mầm non, HOTHệ thống theo dõi học tập và giảng dạy trong trường Mầm non, HOT
Hệ thống theo dõi học tập và giảng dạy trong trường Mầm non, HOT
 
Luận Văn Xây Dựng Chương Trình Quản Lý Bán Lẻ Cho Siêu Thị Mini Huong Mart Ở ...
Luận Văn Xây Dựng Chương Trình Quản Lý Bán Lẻ Cho Siêu Thị Mini Huong Mart Ở ...Luận Văn Xây Dựng Chương Trình Quản Lý Bán Lẻ Cho Siêu Thị Mini Huong Mart Ở ...
Luận Văn Xây Dựng Chương Trình Quản Lý Bán Lẻ Cho Siêu Thị Mini Huong Mart Ở ...
 
Luận Văn Xây Dựng Chương Trình Quản Lý Vật Tư Công Ty Tnhh Khánh Linh.doc
Luận Văn Xây Dựng Chương Trình Quản Lý Vật Tư Công Ty Tnhh Khánh Linh.docLuận Văn Xây Dựng Chương Trình Quản Lý Vật Tư Công Ty Tnhh Khánh Linh.doc
Luận Văn Xây Dựng Chương Trình Quản Lý Vật Tư Công Ty Tnhh Khánh Linh.doc
 
Khóa Luận Công Tác Đào Tạo Và Phát Triển Nguồn Nhân Lực Công Ty Cổ Phần Vận T...
Khóa Luận Công Tác Đào Tạo Và Phát Triển Nguồn Nhân Lực Công Ty Cổ Phần Vận T...Khóa Luận Công Tác Đào Tạo Và Phát Triển Nguồn Nhân Lực Công Ty Cổ Phần Vận T...
Khóa Luận Công Tác Đào Tạo Và Phát Triển Nguồn Nhân Lực Công Ty Cổ Phần Vận T...
 
Luận Văn Xây Dựng Website Quản Lý Trả Chứng Chỉ Icdl.doc
Luận Văn Xây Dựng Website Quản Lý Trả Chứng Chỉ Icdl.docLuận Văn Xây Dựng Website Quản Lý Trả Chứng Chỉ Icdl.doc
Luận Văn Xây Dựng Website Quản Lý Trả Chứng Chỉ Icdl.doc
 
Khóa Luận Phân Tích Tình Hình Sử Dụng Vốn Lưu Động Với Việc Nâng Cao Hiệu Quả...
Khóa Luận Phân Tích Tình Hình Sử Dụng Vốn Lưu Động Với Việc Nâng Cao Hiệu Quả...Khóa Luận Phân Tích Tình Hình Sử Dụng Vốn Lưu Động Với Việc Nâng Cao Hiệu Quả...
Khóa Luận Phân Tích Tình Hình Sử Dụng Vốn Lưu Động Với Việc Nâng Cao Hiệu Quả...
 
Luận văn xây dựng website hỗ trợ đăng ký Xét Tuyển Vào Đại Học.doc
Luận văn xây dựng website hỗ trợ đăng ký Xét Tuyển Vào Đại Học.docLuận văn xây dựng website hỗ trợ đăng ký Xét Tuyển Vào Đại Học.doc
Luận văn xây dựng website hỗ trợ đăng ký Xét Tuyển Vào Đại Học.doc
 
Đồ Án Tốt Nghiệp công Nghệ Thông Tin.doc
Đồ Án Tốt Nghiệp công Nghệ Thông Tin.docĐồ Án Tốt Nghiệp công Nghệ Thông Tin.doc
Đồ Án Tốt Nghiệp công Nghệ Thông Tin.doc
 
Khóa Luận Công Tác Đào Tạo Và Phát Triển Nguồn Nhân Lực Công Ty Cổ Phần Vận T...
Khóa Luận Công Tác Đào Tạo Và Phát Triển Nguồn Nhân Lực Công Ty Cổ Phần Vận T...Khóa Luận Công Tác Đào Tạo Và Phát Triển Nguồn Nhân Lực Công Ty Cổ Phần Vận T...
Khóa Luận Công Tác Đào Tạo Và Phát Triển Nguồn Nhân Lực Công Ty Cổ Phần Vận T...
 
Luận Văn Công Cuộc Xóa Đói Giảm Nghèo Ở Huyện Bảo Lạc Tỉnh Cao Bằng (2000 - 2...
Luận Văn Công Cuộc Xóa Đói Giảm Nghèo Ở Huyện Bảo Lạc Tỉnh Cao Bằng (2000 - 2...Luận Văn Công Cuộc Xóa Đói Giảm Nghèo Ở Huyện Bảo Lạc Tỉnh Cao Bằng (2000 - 2...
Luận Văn Công Cuộc Xóa Đói Giảm Nghèo Ở Huyện Bảo Lạc Tỉnh Cao Bằng (2000 - 2...
 
Luận Văn Trường Thpt Bắc Đông Quan - Thái Bình.doc
Luận Văn Trường Thpt Bắc Đông Quan - Thái Bình.docLuận Văn Trường Thpt Bắc Đông Quan - Thái Bình.doc
Luận Văn Trường Thpt Bắc Đông Quan - Thái Bình.doc
 
Khóa Luận Biện Pháp Nâng Cao Hiệu Quả Sử Dụng Vốn Tại Công Ty Cp Cảng Hải Phò...
Khóa Luận Biện Pháp Nâng Cao Hiệu Quả Sử Dụng Vốn Tại Công Ty Cp Cảng Hải Phò...Khóa Luận Biện Pháp Nâng Cao Hiệu Quả Sử Dụng Vốn Tại Công Ty Cp Cảng Hải Phò...
Khóa Luận Biện Pháp Nâng Cao Hiệu Quả Sử Dụng Vốn Tại Công Ty Cp Cảng Hải Phò...
 
Luận Văn Xây Dựng Chương Trình Hỗ Trợ Báo Cáo Công Việc Hàng Tuần Trên Nền We...
Luận Văn Xây Dựng Chương Trình Hỗ Trợ Báo Cáo Công Việc Hàng Tuần Trên Nền We...Luận Văn Xây Dựng Chương Trình Hỗ Trợ Báo Cáo Công Việc Hàng Tuần Trên Nền We...
Luận Văn Xây Dựng Chương Trình Hỗ Trợ Báo Cáo Công Việc Hàng Tuần Trên Nền We...
 
Luận văn Xây Dựng Ứng Dụng Quản Lý Bàn Ăn Trên Thiết Bị Di Động Android.doc
Luận văn Xây Dựng Ứng Dụng Quản Lý Bàn Ăn Trên Thiết Bị Di Động Android.docLuận văn Xây Dựng Ứng Dụng Quản Lý Bàn Ăn Trên Thiết Bị Di Động Android.doc
Luận văn Xây Dựng Ứng Dụng Quản Lý Bàn Ăn Trên Thiết Bị Di Động Android.doc
 
Luận Văn Trung Tâm Hội Chợ Triển Lãm Thăng Long - Hà Nội.doc
Luận Văn Trung Tâm Hội Chợ Triển Lãm Thăng Long - Hà Nội.docLuận Văn Trung Tâm Hội Chợ Triển Lãm Thăng Long - Hà Nội.doc
Luận Văn Trung Tâm Hội Chợ Triển Lãm Thăng Long - Hà Nội.doc
 
Luận Văn Biện Pháp Hoàn Thiện Công Tác Quản Trị Nhân Lực Tại Trường Cao Đẳng ...
Luận Văn Biện Pháp Hoàn Thiện Công Tác Quản Trị Nhân Lực Tại Trường Cao Đẳng ...Luận Văn Biện Pháp Hoàn Thiện Công Tác Quản Trị Nhân Lực Tại Trường Cao Đẳng ...
Luận Văn Biện Pháp Hoàn Thiện Công Tác Quản Trị Nhân Lực Tại Trường Cao Đẳng ...
 
Đánh giá hiện trạng môi trường Khu công nghiệp Nomura-Hải Phòng.docx
Đánh giá hiện trạng môi trường Khu công nghiệp Nomura-Hải Phòng.docxĐánh giá hiện trạng môi trường Khu công nghiệp Nomura-Hải Phòng.docx
Đánh giá hiện trạng môi trường Khu công nghiệp Nomura-Hải Phòng.docx
 
Luận Văn Thiết Kế Cung Cấp Điện Cho Trường Thpt Nguyễn Du.doc
Luận Văn Thiết Kế Cung Cấp Điện Cho Trường Thpt Nguyễn Du.docLuận Văn Thiết Kế Cung Cấp Điện Cho Trường Thpt Nguyễn Du.doc
Luận Văn Thiết Kế Cung Cấp Điện Cho Trường Thpt Nguyễn Du.doc
 
Khóa Luận Quản Lý Nhân Sự Tại Công Ty Cổ Phần Chế Biến Dịch Vụ Thủy Sản Cát H...
Khóa Luận Quản Lý Nhân Sự Tại Công Ty Cổ Phần Chế Biến Dịch Vụ Thủy Sản Cát H...Khóa Luận Quản Lý Nhân Sự Tại Công Ty Cổ Phần Chế Biến Dịch Vụ Thủy Sản Cát H...
Khóa Luận Quản Lý Nhân Sự Tại Công Ty Cổ Phần Chế Biến Dịch Vụ Thủy Sản Cát H...
 
Luận Văn Công Nghệ Thông Tin Quản Lý Giao Việc Theo Sự Kiện.doc
Luận Văn Công Nghệ Thông Tin Quản Lý Giao Việc Theo Sự Kiện.docLuận Văn Công Nghệ Thông Tin Quản Lý Giao Việc Theo Sự Kiện.doc
Luận Văn Công Nghệ Thông Tin Quản Lý Giao Việc Theo Sự Kiện.doc
 

More from sividocz

Luận Văn Xác Định Hành Vi Xâm Phạm Quyền Sở Hữu Công Nghiệp Đối Với Kiểu Dáng...
Luận Văn Xác Định Hành Vi Xâm Phạm Quyền Sở Hữu Công Nghiệp Đối Với Kiểu Dáng...Luận Văn Xác Định Hành Vi Xâm Phạm Quyền Sở Hữu Công Nghiệp Đối Với Kiểu Dáng...
Luận Văn Xác Định Hành Vi Xâm Phạm Quyền Sở Hữu Công Nghiệp Đối Với Kiểu Dáng...sividocz
 
Luận Vănkế Toán Vốn Bằng Tiền Lương Tại Xí Nghiệp Xây Dựng 492.doc
Luận Vănkế Toán Vốn Bằng Tiền Lương Tại Xí Nghiệp Xây Dựng 492.docLuận Vănkế Toán Vốn Bằng Tiền Lương Tại Xí Nghiệp Xây Dựng 492.doc
Luận Vănkế Toán Vốn Bằng Tiền Lương Tại Xí Nghiệp Xây Dựng 492.docsividocz
 
Luận Văn Pháp Luật Quốc Tế Và Pháp Luật Nƣớc Ngoài Về Giải Quyết Tranh Chấp D...
Luận Văn Pháp Luật Quốc Tế Và Pháp Luật Nƣớc Ngoài Về Giải Quyết Tranh Chấp D...Luận Văn Pháp Luật Quốc Tế Và Pháp Luật Nƣớc Ngoài Về Giải Quyết Tranh Chấp D...
Luận Văn Pháp Luật Quốc Tế Và Pháp Luật Nƣớc Ngoài Về Giải Quyết Tranh Chấp D...sividocz
 
Luận văn Vấn đề giao dịch bảo đảm bằng tàu bay trong pháp luật quốc tế hiện đ...
Luận văn Vấn đề giao dịch bảo đảm bằng tàu bay trong pháp luật quốc tế hiện đ...Luận văn Vấn đề giao dịch bảo đảm bằng tàu bay trong pháp luật quốc tế hiện đ...
Luận văn Vấn đề giao dịch bảo đảm bằng tàu bay trong pháp luật quốc tế hiện đ...sividocz
 
Luận Văn Trợ Giúp Pháp Lý Cho Đồng Bào Dân Tộc Thiểu Số Trên Địa Bàn Tỉnh Tha...
Luận Văn Trợ Giúp Pháp Lý Cho Đồng Bào Dân Tộc Thiểu Số Trên Địa Bàn Tỉnh Tha...Luận Văn Trợ Giúp Pháp Lý Cho Đồng Bào Dân Tộc Thiểu Số Trên Địa Bàn Tỉnh Tha...
Luận Văn Trợ Giúp Pháp Lý Cho Đồng Bào Dân Tộc Thiểu Số Trên Địa Bàn Tỉnh Tha...sividocz
 
Luận Văn Quản Lý Nhà Nƣớc Về Công Tác Dân Tộc - Qua Thực Tiễn Tỉnh Quảng Ninh...
Luận Văn Quản Lý Nhà Nƣớc Về Công Tác Dân Tộc - Qua Thực Tiễn Tỉnh Quảng Ninh...Luận Văn Quản Lý Nhà Nƣớc Về Công Tác Dân Tộc - Qua Thực Tiễn Tỉnh Quảng Ninh...
Luận Văn Quản Lý Nhà Nƣớc Về Công Tác Dân Tộc - Qua Thực Tiễn Tỉnh Quảng Ninh...sividocz
 
Luận Vănđảng Lãnh Đạo Xây Dựng Và Phát Triển Quan Hệ Việt Nam - Asean Từ Năm ...
Luận Vănđảng Lãnh Đạo Xây Dựng Và Phát Triển Quan Hệ Việt Nam - Asean Từ Năm ...Luận Vănđảng Lãnh Đạo Xây Dựng Và Phát Triển Quan Hệ Việt Nam - Asean Từ Năm ...
Luận Vănđảng Lãnh Đạo Xây Dựng Và Phát Triển Quan Hệ Việt Nam - Asean Từ Năm ...sividocz
 
Luận Văn Thực Trạng Hoạt Động Cho Vay Tiêu Dùng Tại Hội Sở Chính Ngân.doc
Luận Văn Thực Trạng Hoạt Động Cho Vay Tiêu Dùng Tại Hội Sở Chính Ngân.docLuận Văn Thực Trạng Hoạt Động Cho Vay Tiêu Dùng Tại Hội Sở Chính Ngân.doc
Luận Văn Thực Trạng Hoạt Động Cho Vay Tiêu Dùng Tại Hội Sở Chính Ngân.docsividocz
 
Luận Văn Tranh Chấp Và Giải Quyết Tranh Chấp Hợp Đồng Nhƣợng Quyền Thƣơng Mại...
Luận Văn Tranh Chấp Và Giải Quyết Tranh Chấp Hợp Đồng Nhƣợng Quyền Thƣơng Mại...Luận Văn Tranh Chấp Và Giải Quyết Tranh Chấp Hợp Đồng Nhƣợng Quyền Thƣơng Mại...
Luận Văn Tranh Chấp Và Giải Quyết Tranh Chấp Hợp Đồng Nhƣợng Quyền Thƣơng Mại...sividocz
 
Luận Văn Phương Pháp Hạch Toán Vốn Bằng Tiền Tại Công Ty Lương Thực Đà Nẵng.doc
Luận Văn Phương Pháp Hạch Toán Vốn Bằng Tiền Tại Công Ty Lương Thực Đà Nẵng.docLuận Văn Phương Pháp Hạch Toán Vốn Bằng Tiền Tại Công Ty Lương Thực Đà Nẵng.doc
Luận Văn Phương Pháp Hạch Toán Vốn Bằng Tiền Tại Công Ty Lương Thực Đà Nẵng.docsividocz
 
Luận Văn Pháp Luật Quốc Tế Và Pháp Luật Việt Nam Về Xóa Bỏ Lao Động Cưỡng Bức...
Luận Văn Pháp Luật Quốc Tế Và Pháp Luật Việt Nam Về Xóa Bỏ Lao Động Cưỡng Bức...Luận Văn Pháp Luật Quốc Tế Và Pháp Luật Việt Nam Về Xóa Bỏ Lao Động Cưỡng Bức...
Luận Văn Pháp Luật Quốc Tế Và Pháp Luật Việt Nam Về Xóa Bỏ Lao Động Cưỡng Bức...sividocz
 
Luân Văn Thực Trạng Và Giải Pháp Hoạt Động Marketing Dịch Vụ Vận Tải Biển Của...
Luân Văn Thực Trạng Và Giải Pháp Hoạt Động Marketing Dịch Vụ Vận Tải Biển Của...Luân Văn Thực Trạng Và Giải Pháp Hoạt Động Marketing Dịch Vụ Vận Tải Biển Của...
Luân Văn Thực Trạng Và Giải Pháp Hoạt Động Marketing Dịch Vụ Vận Tải Biển Của...sividocz
 
Luận Văn Rào Cản Thực Hiện Hệ Thống Quản Trị Chất Lượng Toàn Diện Đối Với Doa...
Luận Văn Rào Cản Thực Hiện Hệ Thống Quản Trị Chất Lượng Toàn Diện Đối Với Doa...Luận Văn Rào Cản Thực Hiện Hệ Thống Quản Trị Chất Lượng Toàn Diện Đối Với Doa...
Luận Văn Rào Cản Thực Hiện Hệ Thống Quản Trị Chất Lượng Toàn Diện Đối Với Doa...sividocz
 
Luận Văn Quản Trị Cung Ứng Giống Cây Cà Phê Tại Doanh Nghiệp Tƣ Nhân Dịch Vụ ...
Luận Văn Quản Trị Cung Ứng Giống Cây Cà Phê Tại Doanh Nghiệp Tƣ Nhân Dịch Vụ ...Luận Văn Quản Trị Cung Ứng Giống Cây Cà Phê Tại Doanh Nghiệp Tƣ Nhân Dịch Vụ ...
Luận Văn Quản Trị Cung Ứng Giống Cây Cà Phê Tại Doanh Nghiệp Tƣ Nhân Dịch Vụ ...sividocz
 
Luận Văn Quản Lý Nhà Nƣớc Về Giảm Nghèo Cho Đồng Bào Dân Tộc Thiểu Số Trên Đị...
Luận Văn Quản Lý Nhà Nƣớc Về Giảm Nghèo Cho Đồng Bào Dân Tộc Thiểu Số Trên Đị...Luận Văn Quản Lý Nhà Nƣớc Về Giảm Nghèo Cho Đồng Bào Dân Tộc Thiểu Số Trên Đị...
Luận Văn Quản Lý Nhà Nƣớc Về Giảm Nghèo Cho Đồng Bào Dân Tộc Thiểu Số Trên Đị...sividocz
 
Quản Lý Nhà Nước Về Thu Hút Các Dự Án Đầu Tư Vào Khu Kinh Tế Mở Chu Lai, Tỉnh...
Quản Lý Nhà Nước Về Thu Hút Các Dự Án Đầu Tư Vào Khu Kinh Tế Mở Chu Lai, Tỉnh...Quản Lý Nhà Nước Về Thu Hút Các Dự Án Đầu Tư Vào Khu Kinh Tế Mở Chu Lai, Tỉnh...
Quản Lý Nhà Nước Về Thu Hút Các Dự Án Đầu Tư Vào Khu Kinh Tế Mở Chu Lai, Tỉnh...sividocz
 
Mô Tả Ngắn Gọn Lịch Sử Hình Thành Và Chức Năng Hoạt Động Của Đơn Vị Thực Tập ...
Mô Tả Ngắn Gọn Lịch Sử Hình Thành Và Chức Năng Hoạt Động Của Đơn Vị Thực Tập ...Mô Tả Ngắn Gọn Lịch Sử Hình Thành Và Chức Năng Hoạt Động Của Đơn Vị Thực Tập ...
Mô Tả Ngắn Gọn Lịch Sử Hình Thành Và Chức Năng Hoạt Động Của Đơn Vị Thực Tập ...sividocz
 
Luận Văn Phân Tích Năng Lực Cạnh Tranh Của Cụm Ngành TômTỉnh.doc
Luận Văn Phân Tích Năng Lực Cạnh Tranh Của Cụm Ngành TômTỉnh.docLuận Văn Phân Tích Năng Lực Cạnh Tranh Của Cụm Ngành TômTỉnh.doc
Luận Văn Phân Tích Năng Lực Cạnh Tranh Của Cụm Ngành TômTỉnh.docsividocz
 
Luận Văn Những Yếu Tố Văn Học Dân Gian Trong Một Số Trò Rối Nước Cổ Truyền.doc
Luận Văn Những Yếu Tố Văn Học Dân Gian Trong Một Số Trò Rối Nước Cổ Truyền.docLuận Văn Những Yếu Tố Văn Học Dân Gian Trong Một Số Trò Rối Nước Cổ Truyền.doc
Luận Văn Những Yếu Tố Văn Học Dân Gian Trong Một Số Trò Rối Nước Cổ Truyền.docsividocz
 
Luận Văn Nguồn Lực Và Vấn Đề Nghèo Đói Của Hộ Nông Dân Huyện Võ Nhai Tỉnh Thá...
Luận Văn Nguồn Lực Và Vấn Đề Nghèo Đói Của Hộ Nông Dân Huyện Võ Nhai Tỉnh Thá...Luận Văn Nguồn Lực Và Vấn Đề Nghèo Đói Của Hộ Nông Dân Huyện Võ Nhai Tỉnh Thá...
Luận Văn Nguồn Lực Và Vấn Đề Nghèo Đói Của Hộ Nông Dân Huyện Võ Nhai Tỉnh Thá...sividocz
 

More from sividocz (20)

Luận Văn Xác Định Hành Vi Xâm Phạm Quyền Sở Hữu Công Nghiệp Đối Với Kiểu Dáng...
Luận Văn Xác Định Hành Vi Xâm Phạm Quyền Sở Hữu Công Nghiệp Đối Với Kiểu Dáng...Luận Văn Xác Định Hành Vi Xâm Phạm Quyền Sở Hữu Công Nghiệp Đối Với Kiểu Dáng...
Luận Văn Xác Định Hành Vi Xâm Phạm Quyền Sở Hữu Công Nghiệp Đối Với Kiểu Dáng...
 
Luận Vănkế Toán Vốn Bằng Tiền Lương Tại Xí Nghiệp Xây Dựng 492.doc
Luận Vănkế Toán Vốn Bằng Tiền Lương Tại Xí Nghiệp Xây Dựng 492.docLuận Vănkế Toán Vốn Bằng Tiền Lương Tại Xí Nghiệp Xây Dựng 492.doc
Luận Vănkế Toán Vốn Bằng Tiền Lương Tại Xí Nghiệp Xây Dựng 492.doc
 
Luận Văn Pháp Luật Quốc Tế Và Pháp Luật Nƣớc Ngoài Về Giải Quyết Tranh Chấp D...
Luận Văn Pháp Luật Quốc Tế Và Pháp Luật Nƣớc Ngoài Về Giải Quyết Tranh Chấp D...Luận Văn Pháp Luật Quốc Tế Và Pháp Luật Nƣớc Ngoài Về Giải Quyết Tranh Chấp D...
Luận Văn Pháp Luật Quốc Tế Và Pháp Luật Nƣớc Ngoài Về Giải Quyết Tranh Chấp D...
 
Luận văn Vấn đề giao dịch bảo đảm bằng tàu bay trong pháp luật quốc tế hiện đ...
Luận văn Vấn đề giao dịch bảo đảm bằng tàu bay trong pháp luật quốc tế hiện đ...Luận văn Vấn đề giao dịch bảo đảm bằng tàu bay trong pháp luật quốc tế hiện đ...
Luận văn Vấn đề giao dịch bảo đảm bằng tàu bay trong pháp luật quốc tế hiện đ...
 
Luận Văn Trợ Giúp Pháp Lý Cho Đồng Bào Dân Tộc Thiểu Số Trên Địa Bàn Tỉnh Tha...
Luận Văn Trợ Giúp Pháp Lý Cho Đồng Bào Dân Tộc Thiểu Số Trên Địa Bàn Tỉnh Tha...Luận Văn Trợ Giúp Pháp Lý Cho Đồng Bào Dân Tộc Thiểu Số Trên Địa Bàn Tỉnh Tha...
Luận Văn Trợ Giúp Pháp Lý Cho Đồng Bào Dân Tộc Thiểu Số Trên Địa Bàn Tỉnh Tha...
 
Luận Văn Quản Lý Nhà Nƣớc Về Công Tác Dân Tộc - Qua Thực Tiễn Tỉnh Quảng Ninh...
Luận Văn Quản Lý Nhà Nƣớc Về Công Tác Dân Tộc - Qua Thực Tiễn Tỉnh Quảng Ninh...Luận Văn Quản Lý Nhà Nƣớc Về Công Tác Dân Tộc - Qua Thực Tiễn Tỉnh Quảng Ninh...
Luận Văn Quản Lý Nhà Nƣớc Về Công Tác Dân Tộc - Qua Thực Tiễn Tỉnh Quảng Ninh...
 
Luận Vănđảng Lãnh Đạo Xây Dựng Và Phát Triển Quan Hệ Việt Nam - Asean Từ Năm ...
Luận Vănđảng Lãnh Đạo Xây Dựng Và Phát Triển Quan Hệ Việt Nam - Asean Từ Năm ...Luận Vănđảng Lãnh Đạo Xây Dựng Và Phát Triển Quan Hệ Việt Nam - Asean Từ Năm ...
Luận Vănđảng Lãnh Đạo Xây Dựng Và Phát Triển Quan Hệ Việt Nam - Asean Từ Năm ...
 
Luận Văn Thực Trạng Hoạt Động Cho Vay Tiêu Dùng Tại Hội Sở Chính Ngân.doc
Luận Văn Thực Trạng Hoạt Động Cho Vay Tiêu Dùng Tại Hội Sở Chính Ngân.docLuận Văn Thực Trạng Hoạt Động Cho Vay Tiêu Dùng Tại Hội Sở Chính Ngân.doc
Luận Văn Thực Trạng Hoạt Động Cho Vay Tiêu Dùng Tại Hội Sở Chính Ngân.doc
 
Luận Văn Tranh Chấp Và Giải Quyết Tranh Chấp Hợp Đồng Nhƣợng Quyền Thƣơng Mại...
Luận Văn Tranh Chấp Và Giải Quyết Tranh Chấp Hợp Đồng Nhƣợng Quyền Thƣơng Mại...Luận Văn Tranh Chấp Và Giải Quyết Tranh Chấp Hợp Đồng Nhƣợng Quyền Thƣơng Mại...
Luận Văn Tranh Chấp Và Giải Quyết Tranh Chấp Hợp Đồng Nhƣợng Quyền Thƣơng Mại...
 
Luận Văn Phương Pháp Hạch Toán Vốn Bằng Tiền Tại Công Ty Lương Thực Đà Nẵng.doc
Luận Văn Phương Pháp Hạch Toán Vốn Bằng Tiền Tại Công Ty Lương Thực Đà Nẵng.docLuận Văn Phương Pháp Hạch Toán Vốn Bằng Tiền Tại Công Ty Lương Thực Đà Nẵng.doc
Luận Văn Phương Pháp Hạch Toán Vốn Bằng Tiền Tại Công Ty Lương Thực Đà Nẵng.doc
 
Luận Văn Pháp Luật Quốc Tế Và Pháp Luật Việt Nam Về Xóa Bỏ Lao Động Cưỡng Bức...
Luận Văn Pháp Luật Quốc Tế Và Pháp Luật Việt Nam Về Xóa Bỏ Lao Động Cưỡng Bức...Luận Văn Pháp Luật Quốc Tế Và Pháp Luật Việt Nam Về Xóa Bỏ Lao Động Cưỡng Bức...
Luận Văn Pháp Luật Quốc Tế Và Pháp Luật Việt Nam Về Xóa Bỏ Lao Động Cưỡng Bức...
 
Luân Văn Thực Trạng Và Giải Pháp Hoạt Động Marketing Dịch Vụ Vận Tải Biển Của...
Luân Văn Thực Trạng Và Giải Pháp Hoạt Động Marketing Dịch Vụ Vận Tải Biển Của...Luân Văn Thực Trạng Và Giải Pháp Hoạt Động Marketing Dịch Vụ Vận Tải Biển Của...
Luân Văn Thực Trạng Và Giải Pháp Hoạt Động Marketing Dịch Vụ Vận Tải Biển Của...
 
Luận Văn Rào Cản Thực Hiện Hệ Thống Quản Trị Chất Lượng Toàn Diện Đối Với Doa...
Luận Văn Rào Cản Thực Hiện Hệ Thống Quản Trị Chất Lượng Toàn Diện Đối Với Doa...Luận Văn Rào Cản Thực Hiện Hệ Thống Quản Trị Chất Lượng Toàn Diện Đối Với Doa...
Luận Văn Rào Cản Thực Hiện Hệ Thống Quản Trị Chất Lượng Toàn Diện Đối Với Doa...
 
Luận Văn Quản Trị Cung Ứng Giống Cây Cà Phê Tại Doanh Nghiệp Tƣ Nhân Dịch Vụ ...
Luận Văn Quản Trị Cung Ứng Giống Cây Cà Phê Tại Doanh Nghiệp Tƣ Nhân Dịch Vụ ...Luận Văn Quản Trị Cung Ứng Giống Cây Cà Phê Tại Doanh Nghiệp Tƣ Nhân Dịch Vụ ...
Luận Văn Quản Trị Cung Ứng Giống Cây Cà Phê Tại Doanh Nghiệp Tƣ Nhân Dịch Vụ ...
 
Luận Văn Quản Lý Nhà Nƣớc Về Giảm Nghèo Cho Đồng Bào Dân Tộc Thiểu Số Trên Đị...
Luận Văn Quản Lý Nhà Nƣớc Về Giảm Nghèo Cho Đồng Bào Dân Tộc Thiểu Số Trên Đị...Luận Văn Quản Lý Nhà Nƣớc Về Giảm Nghèo Cho Đồng Bào Dân Tộc Thiểu Số Trên Đị...
Luận Văn Quản Lý Nhà Nƣớc Về Giảm Nghèo Cho Đồng Bào Dân Tộc Thiểu Số Trên Đị...
 
Quản Lý Nhà Nước Về Thu Hút Các Dự Án Đầu Tư Vào Khu Kinh Tế Mở Chu Lai, Tỉnh...
Quản Lý Nhà Nước Về Thu Hút Các Dự Án Đầu Tư Vào Khu Kinh Tế Mở Chu Lai, Tỉnh...Quản Lý Nhà Nước Về Thu Hút Các Dự Án Đầu Tư Vào Khu Kinh Tế Mở Chu Lai, Tỉnh...
Quản Lý Nhà Nước Về Thu Hút Các Dự Án Đầu Tư Vào Khu Kinh Tế Mở Chu Lai, Tỉnh...
 
Mô Tả Ngắn Gọn Lịch Sử Hình Thành Và Chức Năng Hoạt Động Của Đơn Vị Thực Tập ...
Mô Tả Ngắn Gọn Lịch Sử Hình Thành Và Chức Năng Hoạt Động Của Đơn Vị Thực Tập ...Mô Tả Ngắn Gọn Lịch Sử Hình Thành Và Chức Năng Hoạt Động Của Đơn Vị Thực Tập ...
Mô Tả Ngắn Gọn Lịch Sử Hình Thành Và Chức Năng Hoạt Động Của Đơn Vị Thực Tập ...
 
Luận Văn Phân Tích Năng Lực Cạnh Tranh Của Cụm Ngành TômTỉnh.doc
Luận Văn Phân Tích Năng Lực Cạnh Tranh Của Cụm Ngành TômTỉnh.docLuận Văn Phân Tích Năng Lực Cạnh Tranh Của Cụm Ngành TômTỉnh.doc
Luận Văn Phân Tích Năng Lực Cạnh Tranh Của Cụm Ngành TômTỉnh.doc
 
Luận Văn Những Yếu Tố Văn Học Dân Gian Trong Một Số Trò Rối Nước Cổ Truyền.doc
Luận Văn Những Yếu Tố Văn Học Dân Gian Trong Một Số Trò Rối Nước Cổ Truyền.docLuận Văn Những Yếu Tố Văn Học Dân Gian Trong Một Số Trò Rối Nước Cổ Truyền.doc
Luận Văn Những Yếu Tố Văn Học Dân Gian Trong Một Số Trò Rối Nước Cổ Truyền.doc
 
Luận Văn Nguồn Lực Và Vấn Đề Nghèo Đói Của Hộ Nông Dân Huyện Võ Nhai Tỉnh Thá...
Luận Văn Nguồn Lực Và Vấn Đề Nghèo Đói Của Hộ Nông Dân Huyện Võ Nhai Tỉnh Thá...Luận Văn Nguồn Lực Và Vấn Đề Nghèo Đói Của Hộ Nông Dân Huyện Võ Nhai Tỉnh Thá...
Luận Văn Nguồn Lực Và Vấn Đề Nghèo Đói Của Hộ Nông Dân Huyện Võ Nhai Tỉnh Thá...
 

Recently uploaded

TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...Nguyen Thanh Tu Collection
 
Tẩy trắng răng - dental bleaching slideshare
Tẩy trắng răng - dental bleaching slideshareTẩy trắng răng - dental bleaching slideshare
Tẩy trắng răng - dental bleaching slideshareHuyBo25
 
VẤN ĐỀ 12 VI PHẠM HÀNH CHÍNH VÀ.pptx
VẤN ĐỀ 12 VI PHẠM HÀNH CHÍNH VÀ.pptxVẤN ĐỀ 12 VI PHẠM HÀNH CHÍNH VÀ.pptx
VẤN ĐỀ 12 VI PHẠM HÀNH CHÍNH VÀ.pptxGingvin36HC
 
QUẢN LÝ TRUNG TÂM GIÁO DỤC NGHỀ NGHIỆP – GIÁO DỤC THƯỜNG XUYÊN HUYỆN LẬP THẠC...
QUẢN LÝ TRUNG TÂM GIÁO DỤC NGHỀ NGHIỆP – GIÁO DỤC THƯỜNG XUYÊN HUYỆN LẬP THẠC...QUẢN LÝ TRUNG TÂM GIÁO DỤC NGHỀ NGHIỆP – GIÁO DỤC THƯỜNG XUYÊN HUYỆN LẬP THẠC...
QUẢN LÝ TRUNG TÂM GIÁO DỤC NGHỀ NGHIỆP – GIÁO DỤC THƯỜNG XUYÊN HUYỆN LẬP THẠC...lamluanvan.net Viết thuê luận văn
 
Bài tập lớn môn Văn hóa kinh doanh và tinh thần khởi nghiệp Trình bày về triế...
Bài tập lớn môn Văn hóa kinh doanh và tinh thần khởi nghiệp Trình bày về triế...Bài tập lớn môn Văn hóa kinh doanh và tinh thần khởi nghiệp Trình bày về triế...
Bài tập lớn môn Văn hóa kinh doanh và tinh thần khởi nghiệp Trình bày về triế...lamluanvan.net Viết thuê luận văn
 
Báo cáo tốt nghiệp Kế toán tiền gửi ngân hàng tại công ty TNHH Một Thành Viên...
Báo cáo tốt nghiệp Kế toán tiền gửi ngân hàng tại công ty TNHH Một Thành Viên...Báo cáo tốt nghiệp Kế toán tiền gửi ngân hàng tại công ty TNHH Một Thành Viên...
Báo cáo tốt nghiệp Kế toán tiền gửi ngân hàng tại công ty TNHH Một Thành Viên...lamluanvan.net Viết thuê luận văn
 
XÂY DỰNG KẾ HOẠCH KINH DOANH CHO CÔNG TY KHÁCH SẠN SÀI GÒN CENTER ĐẾN NĂM 2025
XÂY DỰNG KẾ HOẠCH KINH DOANH CHO CÔNG TY KHÁCH SẠN SÀI GÒN CENTER ĐẾN NĂM 2025XÂY DỰNG KẾ HOẠCH KINH DOANH CHO CÔNG TY KHÁCH SẠN SÀI GÒN CENTER ĐẾN NĂM 2025
XÂY DỰNG KẾ HOẠCH KINH DOANH CHO CÔNG TY KHÁCH SẠN SÀI GÒN CENTER ĐẾN NĂM 2025lamluanvan.net Viết thuê luận văn
 
Nhân vật người mang lốt cóc trong truyện cổ tích thần kỳ Việt Nam
Nhân vật người mang lốt cóc trong truyện cổ tích thần kỳ Việt NamNhân vật người mang lốt cóc trong truyện cổ tích thần kỳ Việt Nam
Nhân vật người mang lốt cóc trong truyện cổ tích thần kỳ Việt Namlamluanvan.net Viết thuê luận văn
 
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT VẬT LÝ 2024 - TỪ CÁC TRƯỜNG, TRƯ...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT VẬT LÝ 2024 - TỪ CÁC TRƯỜNG, TRƯ...TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT VẬT LÝ 2024 - TỪ CÁC TRƯỜNG, TRƯ...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT VẬT LÝ 2024 - TỪ CÁC TRƯỜNG, TRƯ...Nguyen Thanh Tu Collection
 
40 ĐỀ LUYỆN THI ĐÁNH GIÁ NĂNG LỰC ĐẠI HỌC QUỐC GIA HÀ NỘI NĂM 2024 (ĐỀ 31-39)...
40 ĐỀ LUYỆN THI ĐÁNH GIÁ NĂNG LỰC ĐẠI HỌC QUỐC GIA HÀ NỘI NĂM 2024 (ĐỀ 31-39)...40 ĐỀ LUYỆN THI ĐÁNH GIÁ NĂNG LỰC ĐẠI HỌC QUỐC GIA HÀ NỘI NĂM 2024 (ĐỀ 31-39)...
40 ĐỀ LUYỆN THI ĐÁNH GIÁ NĂNG LỰC ĐẠI HỌC QUỐC GIA HÀ NỘI NĂM 2024 (ĐỀ 31-39)...Nguyen Thanh Tu Collection
 
Báo cáo thực tập tốt nghiệp Kế toán tiền mặt tại Công ty trách nhiệm hữu hạn ...
Báo cáo thực tập tốt nghiệp Kế toán tiền mặt tại Công ty trách nhiệm hữu hạn ...Báo cáo thực tập tốt nghiệp Kế toán tiền mặt tại Công ty trách nhiệm hữu hạn ...
Báo cáo thực tập tốt nghiệp Kế toán tiền mặt tại Công ty trách nhiệm hữu hạn ...lamluanvan.net Viết thuê luận văn
 
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TIẾNG ANH 2024 - TỪ CÁC TRƯỜNG, ...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TIẾNG ANH 2024 - TỪ CÁC TRƯỜNG, ...TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TIẾNG ANH 2024 - TỪ CÁC TRƯỜNG, ...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TIẾNG ANH 2024 - TỪ CÁC TRƯỜNG, ...Nguyen Thanh Tu Collection
 
Báo cáo tốt nghiệp Đánh giá thực trạng an toàn vệ sinh lao động và rủi ro lao...
Báo cáo tốt nghiệp Đánh giá thực trạng an toàn vệ sinh lao động và rủi ro lao...Báo cáo tốt nghiệp Đánh giá thực trạng an toàn vệ sinh lao động và rủi ro lao...
Báo cáo tốt nghiệp Đánh giá thực trạng an toàn vệ sinh lao động và rủi ro lao...lamluanvan.net Viết thuê luận văn
 
CÁC NHÂN TỐ ẢNH HƯỞNG ĐẾN HIỆU QUẢ HOẠT ĐỘNG CỦA NGÂN HÀNG THƯƠNG MẠI CỔ PHẦN...
CÁC NHÂN TỐ ẢNH HƯỞNG ĐẾN HIỆU QUẢ HOẠT ĐỘNG CỦA NGÂN HÀNG THƯƠNG MẠI CỔ PHẦN...CÁC NHÂN TỐ ẢNH HƯỞNG ĐẾN HIỆU QUẢ HOẠT ĐỘNG CỦA NGÂN HÀNG THƯƠNG MẠI CỔ PHẦN...
CÁC NHÂN TỐ ẢNH HƯỞNG ĐẾN HIỆU QUẢ HOẠT ĐỘNG CỦA NGÂN HÀNG THƯƠNG MẠI CỔ PHẦN...lamluanvan.net Viết thuê luận văn
 
22 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÁI BÌNH NĂM HỌC 2023-2...
22 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÁI BÌNH NĂM HỌC 2023-2...22 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÁI BÌNH NĂM HỌC 2023-2...
22 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÁI BÌNH NĂM HỌC 2023-2...Nguyen Thanh Tu Collection
 
CÁC NHÂN TỐ ẢNH HƯỞNG ĐẾN HIỆU QUẢ HOẠT ĐỘNG CỦA NGÂN HÀNG THƯƠNG MẠI CỔ PHẦN...
CÁC NHÂN TỐ ẢNH HƯỞNG ĐẾN HIỆU QUẢ HOẠT ĐỘNG CỦA NGÂN HÀNG THƯƠNG MẠI CỔ PHẦN...CÁC NHÂN TỐ ẢNH HƯỞNG ĐẾN HIỆU QUẢ HOẠT ĐỘNG CỦA NGÂN HÀNG THƯƠNG MẠI CỔ PHẦN...
CÁC NHÂN TỐ ẢNH HƯỞNG ĐẾN HIỆU QUẢ HOẠT ĐỘNG CỦA NGÂN HÀNG THƯƠNG MẠI CỔ PHẦN...lamluanvan.net Viết thuê luận văn
 
Tiểu luận tổng quan về Mối quan hệ giữa chu kỳ kinh tế và đầu tư trong nền ki...
Tiểu luận tổng quan về Mối quan hệ giữa chu kỳ kinh tế và đầu tư trong nền ki...Tiểu luận tổng quan về Mối quan hệ giữa chu kỳ kinh tế và đầu tư trong nền ki...
Tiểu luận tổng quan về Mối quan hệ giữa chu kỳ kinh tế và đầu tư trong nền ki...lamluanvan.net Viết thuê luận văn
 
Báo cáo bài tập lớn E - Marketing Xây dựng kế hoạch marketing điện tử cho nhã...
Báo cáo bài tập lớn E - Marketing Xây dựng kế hoạch marketing điện tử cho nhã...Báo cáo bài tập lớn E - Marketing Xây dựng kế hoạch marketing điện tử cho nhã...
Báo cáo bài tập lớn E - Marketing Xây dựng kế hoạch marketing điện tử cho nhã...lamluanvan.net Viết thuê luận văn
 
GIỮ GÌN VÀ PHÁT HUY GIÁ TRỊ MỘT SỐ BÀI HÁT DÂN CA CÁC DÂN TỘC BẢN ĐỊA CHO HỌC...
GIỮ GÌN VÀ PHÁT HUY GIÁ TRỊ MỘT SỐ BÀI HÁT DÂN CA CÁC DÂN TỘC BẢN ĐỊA CHO HỌC...GIỮ GÌN VÀ PHÁT HUY GIÁ TRỊ MỘT SỐ BÀI HÁT DÂN CA CÁC DÂN TỘC BẢN ĐỊA CHO HỌC...
GIỮ GÌN VÀ PHÁT HUY GIÁ TRỊ MỘT SỐ BÀI HÁT DÂN CA CÁC DÂN TỘC BẢN ĐỊA CHO HỌC...lamluanvan.net Viết thuê luận văn
 

Recently uploaded (20)

TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
 
Tẩy trắng răng - dental bleaching slideshare
Tẩy trắng răng - dental bleaching slideshareTẩy trắng răng - dental bleaching slideshare
Tẩy trắng răng - dental bleaching slideshare
 
VẤN ĐỀ 12 VI PHẠM HÀNH CHÍNH VÀ.pptx
VẤN ĐỀ 12 VI PHẠM HÀNH CHÍNH VÀ.pptxVẤN ĐỀ 12 VI PHẠM HÀNH CHÍNH VÀ.pptx
VẤN ĐỀ 12 VI PHẠM HÀNH CHÍNH VÀ.pptx
 
TIỂU LUẬN MÔN PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC
TIỂU LUẬN MÔN PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌCTIỂU LUẬN MÔN PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC
TIỂU LUẬN MÔN PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC
 
QUẢN LÝ TRUNG TÂM GIÁO DỤC NGHỀ NGHIỆP – GIÁO DỤC THƯỜNG XUYÊN HUYỆN LẬP THẠC...
QUẢN LÝ TRUNG TÂM GIÁO DỤC NGHỀ NGHIỆP – GIÁO DỤC THƯỜNG XUYÊN HUYỆN LẬP THẠC...QUẢN LÝ TRUNG TÂM GIÁO DỤC NGHỀ NGHIỆP – GIÁO DỤC THƯỜNG XUYÊN HUYỆN LẬP THẠC...
QUẢN LÝ TRUNG TÂM GIÁO DỤC NGHỀ NGHIỆP – GIÁO DỤC THƯỜNG XUYÊN HUYỆN LẬP THẠC...
 
Bài tập lớn môn Văn hóa kinh doanh và tinh thần khởi nghiệp Trình bày về triế...
Bài tập lớn môn Văn hóa kinh doanh và tinh thần khởi nghiệp Trình bày về triế...Bài tập lớn môn Văn hóa kinh doanh và tinh thần khởi nghiệp Trình bày về triế...
Bài tập lớn môn Văn hóa kinh doanh và tinh thần khởi nghiệp Trình bày về triế...
 
Báo cáo tốt nghiệp Kế toán tiền gửi ngân hàng tại công ty TNHH Một Thành Viên...
Báo cáo tốt nghiệp Kế toán tiền gửi ngân hàng tại công ty TNHH Một Thành Viên...Báo cáo tốt nghiệp Kế toán tiền gửi ngân hàng tại công ty TNHH Một Thành Viên...
Báo cáo tốt nghiệp Kế toán tiền gửi ngân hàng tại công ty TNHH Một Thành Viên...
 
XÂY DỰNG KẾ HOẠCH KINH DOANH CHO CÔNG TY KHÁCH SẠN SÀI GÒN CENTER ĐẾN NĂM 2025
XÂY DỰNG KẾ HOẠCH KINH DOANH CHO CÔNG TY KHÁCH SẠN SÀI GÒN CENTER ĐẾN NĂM 2025XÂY DỰNG KẾ HOẠCH KINH DOANH CHO CÔNG TY KHÁCH SẠN SÀI GÒN CENTER ĐẾN NĂM 2025
XÂY DỰNG KẾ HOẠCH KINH DOANH CHO CÔNG TY KHÁCH SẠN SÀI GÒN CENTER ĐẾN NĂM 2025
 
Nhân vật người mang lốt cóc trong truyện cổ tích thần kỳ Việt Nam
Nhân vật người mang lốt cóc trong truyện cổ tích thần kỳ Việt NamNhân vật người mang lốt cóc trong truyện cổ tích thần kỳ Việt Nam
Nhân vật người mang lốt cóc trong truyện cổ tích thần kỳ Việt Nam
 
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT VẬT LÝ 2024 - TỪ CÁC TRƯỜNG, TRƯ...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT VẬT LÝ 2024 - TỪ CÁC TRƯỜNG, TRƯ...TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT VẬT LÝ 2024 - TỪ CÁC TRƯỜNG, TRƯ...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT VẬT LÝ 2024 - TỪ CÁC TRƯỜNG, TRƯ...
 
40 ĐỀ LUYỆN THI ĐÁNH GIÁ NĂNG LỰC ĐẠI HỌC QUỐC GIA HÀ NỘI NĂM 2024 (ĐỀ 31-39)...
40 ĐỀ LUYỆN THI ĐÁNH GIÁ NĂNG LỰC ĐẠI HỌC QUỐC GIA HÀ NỘI NĂM 2024 (ĐỀ 31-39)...40 ĐỀ LUYỆN THI ĐÁNH GIÁ NĂNG LỰC ĐẠI HỌC QUỐC GIA HÀ NỘI NĂM 2024 (ĐỀ 31-39)...
40 ĐỀ LUYỆN THI ĐÁNH GIÁ NĂNG LỰC ĐẠI HỌC QUỐC GIA HÀ NỘI NĂM 2024 (ĐỀ 31-39)...
 
Báo cáo thực tập tốt nghiệp Kế toán tiền mặt tại Công ty trách nhiệm hữu hạn ...
Báo cáo thực tập tốt nghiệp Kế toán tiền mặt tại Công ty trách nhiệm hữu hạn ...Báo cáo thực tập tốt nghiệp Kế toán tiền mặt tại Công ty trách nhiệm hữu hạn ...
Báo cáo thực tập tốt nghiệp Kế toán tiền mặt tại Công ty trách nhiệm hữu hạn ...
 
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TIẾNG ANH 2024 - TỪ CÁC TRƯỜNG, ...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TIẾNG ANH 2024 - TỪ CÁC TRƯỜNG, ...TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TIẾNG ANH 2024 - TỪ CÁC TRƯỜNG, ...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TIẾNG ANH 2024 - TỪ CÁC TRƯỜNG, ...
 
Báo cáo tốt nghiệp Đánh giá thực trạng an toàn vệ sinh lao động và rủi ro lao...
Báo cáo tốt nghiệp Đánh giá thực trạng an toàn vệ sinh lao động và rủi ro lao...Báo cáo tốt nghiệp Đánh giá thực trạng an toàn vệ sinh lao động và rủi ro lao...
Báo cáo tốt nghiệp Đánh giá thực trạng an toàn vệ sinh lao động và rủi ro lao...
 
CÁC NHÂN TỐ ẢNH HƯỞNG ĐẾN HIỆU QUẢ HOẠT ĐỘNG CỦA NGÂN HÀNG THƯƠNG MẠI CỔ PHẦN...
CÁC NHÂN TỐ ẢNH HƯỞNG ĐẾN HIỆU QUẢ HOẠT ĐỘNG CỦA NGÂN HÀNG THƯƠNG MẠI CỔ PHẦN...CÁC NHÂN TỐ ẢNH HƯỞNG ĐẾN HIỆU QUẢ HOẠT ĐỘNG CỦA NGÂN HÀNG THƯƠNG MẠI CỔ PHẦN...
CÁC NHÂN TỐ ẢNH HƯỞNG ĐẾN HIỆU QUẢ HOẠT ĐỘNG CỦA NGÂN HÀNG THƯƠNG MẠI CỔ PHẦN...
 
22 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÁI BÌNH NĂM HỌC 2023-2...
22 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÁI BÌNH NĂM HỌC 2023-2...22 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÁI BÌNH NĂM HỌC 2023-2...
22 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÁI BÌNH NĂM HỌC 2023-2...
 
CÁC NHÂN TỐ ẢNH HƯỞNG ĐẾN HIỆU QUẢ HOẠT ĐỘNG CỦA NGÂN HÀNG THƯƠNG MẠI CỔ PHẦN...
CÁC NHÂN TỐ ẢNH HƯỞNG ĐẾN HIỆU QUẢ HOẠT ĐỘNG CỦA NGÂN HÀNG THƯƠNG MẠI CỔ PHẦN...CÁC NHÂN TỐ ẢNH HƯỞNG ĐẾN HIỆU QUẢ HOẠT ĐỘNG CỦA NGÂN HÀNG THƯƠNG MẠI CỔ PHẦN...
CÁC NHÂN TỐ ẢNH HƯỞNG ĐẾN HIỆU QUẢ HOẠT ĐỘNG CỦA NGÂN HÀNG THƯƠNG MẠI CỔ PHẦN...
 
Tiểu luận tổng quan về Mối quan hệ giữa chu kỳ kinh tế và đầu tư trong nền ki...
Tiểu luận tổng quan về Mối quan hệ giữa chu kỳ kinh tế và đầu tư trong nền ki...Tiểu luận tổng quan về Mối quan hệ giữa chu kỳ kinh tế và đầu tư trong nền ki...
Tiểu luận tổng quan về Mối quan hệ giữa chu kỳ kinh tế và đầu tư trong nền ki...
 
Báo cáo bài tập lớn E - Marketing Xây dựng kế hoạch marketing điện tử cho nhã...
Báo cáo bài tập lớn E - Marketing Xây dựng kế hoạch marketing điện tử cho nhã...Báo cáo bài tập lớn E - Marketing Xây dựng kế hoạch marketing điện tử cho nhã...
Báo cáo bài tập lớn E - Marketing Xây dựng kế hoạch marketing điện tử cho nhã...
 
GIỮ GÌN VÀ PHÁT HUY GIÁ TRỊ MỘT SỐ BÀI HÁT DÂN CA CÁC DÂN TỘC BẢN ĐỊA CHO HỌC...
GIỮ GÌN VÀ PHÁT HUY GIÁ TRỊ MỘT SỐ BÀI HÁT DÂN CA CÁC DÂN TỘC BẢN ĐỊA CHO HỌC...GIỮ GÌN VÀ PHÁT HUY GIÁ TRỊ MỘT SỐ BÀI HÁT DÂN CA CÁC DÂN TỘC BẢN ĐỊA CHO HỌC...
GIỮ GÌN VÀ PHÁT HUY GIÁ TRỊ MỘT SỐ BÀI HÁT DÂN CA CÁC DÂN TỘC BẢN ĐỊA CHO HỌC...
 

Luận Văn Công Nghệ Thông Tin Tìm Hiểu Về Linq To Sql Và Ứng Dụng.doc

  • 1. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC DÂN LẬP HẢI PHÕNG -----o0o----- ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ THÔNG TIN HẢI PHÕNG 2017
  • 2. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC DÂN LẬP HẢI PHÕNG -----o0o----- TÌM HIỂU VỀ LINQ TO SQL VÀ ỨNG DỤNG Ngành: Công nghệ Thông tin Sinh viên thực hiện: Nguyễn Quốc Trung Anh Mã số sinh viên: 1312101025 Cán bộ hƣớng dẫn: Th.S. Vũ Anh Hùng HẢI PHÒNG - 2017
  • 3. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 2
  • 4. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 BỘ GIÁO DỤC VÀ ĐÀO TẠO CỘNG HÕA XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƢỜNG ĐẠI HỌC DÂN LẬP HẢI PHÕNG Độc lập - Tự do - Hạnh phúc -----o0o----- NHIỆM VỤ THIẾT KẾ TỐT NGHIỆP Sinh viên: Nguyễn QUốc Trung Anh Mã sinh viên: 1312101025 Lớp: CT1701 Ngành: Công nghệ Thông tin Tên đề tài: Tìm hiểu về LINQ TO SQL và ứng dụng
  • 5. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 3
  • 6. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 NHIỆM VỤ ĐỀ TÀI 1. Nội dung và các yêu cầu cần giải quyết trong nhiệm vụ đề tài tốt nghiệp a. Nội dung b. Các yêu cầu cần giải quyết 2. Các số liệu cần thiết để thiết kế, tính toán 3. Địa điểm thực tập
  • 7. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 4
  • 8. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 CÁN BỘ HƢỚNG DẪN ĐỀ TÀI TỐT NGHIỆP Ngƣời hƣớng dẫn thứ nhất: Họ và tên: Vũ Anh Hùng Học hàm, học vị: Thạc Sĩ Cơ quan công tác: Trƣờng Đại Học Dân Lập Hải Phòng Nội dung hƣớng dẫn: ....................................................................................................................................................... ....................................................................................................................................................... ....................................................................................................................................................... ....................................................................................................................................................... Ngƣời hƣớng dẫn thứ hai: Họ và tên: Học hàm, học vị: Cơ quan công tác: Nội dung hƣớng dẫn: ....................................................................................................................................................... ....................................................................................................................................................... ....................................................................................................................................................... ....................................................................................................................................................... Đề tài tốt nghiệp đƣợc giao Yêu cầu phải hoàn thành trƣớc Đã nhận nhiệm vụ: Đ.T.T.N Sinh viên ngày ngày tháng năm 2017 tháng năm 2017 Đã nhận nhiệm vụ: Đ.T.T.N Cán bộ hƣớng dẫn Đ.T.T.N Th.S Vũ Anh Hùng Hải Phòng, ngày ........ tháng ........ năm 2017 HIỆU TRƢỞNG GS.TS.NGƯT Trần Hữu Nghị
  • 9. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 5
  • 10. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 PHẦN NHẬN XÉT TÓM TẮT CỦA CÁN BỘ HƢỚNG DẪN 1. Tinh thần thái độ của sinh viên trong quá trình làm đề tài tốt nghiệp: ........................................................................................................................................... ........................................................................................................................................... ........................................................................................................................................... ........................................................................................................................................... ........................................................................................................................................... ........................................................................................................................................... 2. Đánh giá chất lƣợng của đề tài tốt nghiệp (so với nội dung yêu cầu đã đề ra trong nhiệm vụ đề tài tốt nghiệp) ........................................................................................................................................... ........................................................................................................................................... ........................................................................................................................................... ........................................................................................................................................... ........................................................................................................................................... ........................................................................................................................................... ........................................................................................................................................... 3. Cho điểm của cán bộ hƣớng dẫn: (Điểm ghi bằng số và chữ) ........................................................................................................................................... ........................................................................................................................................... Ngày ........ tháng ........ năm 2017 Cán bộ hƣớng dẫn chính (Ký, ghi rõ họ tên)
  • 11. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 6
  • 12. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 PHẦN NHẬN XÉT ĐÁNH GIÁ CỦA CÁN BỘ CHẤM PHẢN BIỆN ĐỀ TÀI TỐT NGHIỆP 1. Đánh giá chất lƣợng đề tài tốt nghiệp (về các mặt nhƣ cơ sở lý luận, thuyết minh chƣơng trình, giá trị thực tế, ...) 2. Cho điểm của cán bộ phản biện (Điểm ghi bằng số và chữ) ........................................................................................................................................... ........................................................................................................................................... Ngày ........ tháng ........ năm 2017 Cán bộ chấm phản biện (Ký, ghi rõ họ tên)
  • 13. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 7
  • 14. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 LỜI CẢM ƠN Để hoàn thành đồ án tốt nghiệp này, em xin tỏ lòng biết ơn sâu sắc đến Thầy ThS. Vũ Anh Hùng – khoa Công nghệ thông tin, trƣờng Đại học Dân Lập Hải Phòng, sự chỉ bảo dẫn dắt của thầy đã giúp em có những định hƣớng tốt việc triển khai và thực hiện các yêu cầu trong quá trình làm đồ án tốt nghiệp. Em chân thành cảm ơn quý Thầy, Cô trong khoa Công nghệ thông tin, Trƣờng Đại học Dân Lập Hải Phòng đã tận tình truyền đạt kiến thức trong những năm em học tập. Với vốn kiến thức đƣợc tiếp thu trong quá trình học không chỉ là nền tảng cho quá trình nghiên cứu đồ án mà còn là hành trang quí báu để em bƣớc vào đời một cách vững chắc và tự tin. Cuối cùng em kính chúc quý Thầy, Cô dồi dào sức khỏe và thành công trong sự nghiệp cao quý, đạt đƣợc nhiều thành công tốt đẹp trong công cuộc trồng ngƣời của mình. Em xin chân thành cảm ơn! Hải Phòng, ngày 31 tháng 08 năm 2017 Sinh viên Nguyễn Quốc Trung Anh
  • 15. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng MỤC LỤC DANH MỤC HÌNH............................................................................................................... 3 LỜI NÓI ĐẦU ....................................................................................................................... 6 CHƢƠNG I ............................................................................................................................ 8 TÌM HIỂU VỀ LINQ VÀ LINQ TO SQL ............................................................................ 8 1.1 LinQ là gì? ............................................................................................................ 8 1.1.1 Tại sao phải dùng tới LinQ? .......................................................................... 8 1.1.2 Sơ đồ và kiến trúc của LinQ .......................................................................... 9 1.2. LINQ to SQL ..................................................................................................... 10 1.2.1 Vì sao LinQ to SQL ra đời ........................................................................... 11 1.2.2 Vì sao nên sử dụng LinQ to SQL ................................................................ 12 a) Một công cụ hỗ trợ đắc lực ...................................................................... 12 b) Giao diện trực quan và tự động ........................................................... 13 c) LinQ nhƣng bản chất vẫn là SQL ............................................................ 14 1.3 Những hạn chế của LinQ to SQL ....................................................................... 15 1.4 Những khái niệm cơ bản của LINQ to SQL ................................................ 15 1.4.1 Object Model ........................................................................................ 15 1.4.2 ORM (Object Relations Mapping ) ...................................................... 16 1.4.3 O/R Designer ( Object Relations Designer) ........................................ 17 1.4.4 Entity Class ........................................................................................... 18 1.4.5 Association ........................................................................................... 18 1.4.6 DataContext .......................................................................................... 18 1.5 Mô hình ánh xạ của LinQ to SQL ...................................................................... 18 1.6 Tầng kiến trúc ..................................................................................................... 19 1.7 Các Action của LinQ to SQL ............................................................................. 20 CHƢƠNG II ........................................................................................................................ 23 XÂY DỰNG CHƢƠNG TRÌNH ỨNG DỤNG .................................................................. 23 2.1 Xây dựng ứng dụng ............................................................................................ 23 2.1.1 Phát biểu bài toán ......................................................................................... 23 2.1.2 Thiết kế cơ sở dữ liệu ................................................................................ 23 2.1.3 Tạo cơ sở dữ liệu băng SQL Server ............................................................. 25 2.2 Xây dựng chƣơng trình ....................................................................................... 28 2.2.1 Tạo giao diện và lập kết nối LINQ to SQL với SQL Server ....................... 28
  • 16. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 1
  • 17. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng 2.2.2 Tạo Form Menu và các Form thành phần của chƣơng trình33 CHƢƠNG III ....................................................................................................................................................... 75 KẾT QUẢ CHƢƠNG TRÌNH THỰC NGHIỆM ............................................................................... 75 3.1 Kết quả chƣơng trình ứng dụng ............................................................................................. 75 3.1.1 Các giao diện ........................................................................................................................ 75 a) Giao diện Form Menu 75 b) Giao diện Form Sinh viên 75 c) Giao diện Form Lớp 80 d) Giao diện Form Ngành82 e) Giao diện Form Quản lý học phí 82 3.2 Nhận xét và đánh giá................................................................................................................ 86 KẾT LUẬN ........................................................................................................................................................... 87 TÀI LIỆU THAM KHẢO............................................................................................................................... 88
  • 18. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 2
  • 19. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng DANH MỤC HÌNH Hình 1.1 Phân loại LINQ..............................................................................................................................10 Hình 1.2 File lƣu trữ của LinQ to SQL ...............................................................................................13 Hình 1.3 Giao diện trực quan và tự động của LinQ to SQL....................................................14 Hình 1.4 Mô hình ánh xạ từ mô hình CSDL.....................................................................................16 Hình 1.5 Mô hình của ORM.......................................................................................................................17 Hình 1.6 Mô hình ánh xạ của O/R Designer.....................................................................................17 Hình 1.7 Mô hình ánh xạ của LinQ to SQL......................................................................................19 Hình 1.8 Tầng kiến trúc của LinQ to SQL.........................................................................................19 Hình 2.1 Mô hình ER của bài toán .........................................................................................................24 Hình 2.2 Bảng “Sinh viên” trong cơ sở dữ liệu HOCPHI.........................................................25 Hình 2.3 Bảng “Lớp” trong cơ sở dữ liệu HOCPHI.....................................................................26 Hình 2.4 Bảng “Ngành” trong cơ sở dữ liệu HOCPHI...............................................................27 Hình 2.5 Bảng “Đã nộp” trong cơ sở dữ liệu HOCPHI..............................................................27 Hình 2.6 Mô hình quan hệ các bảng trong cơ sở dữ liệu HOCPHI.....................................28 Hình 2.7 Giao diện tạo Project làm việc trong Visual Studio 2013 ....................................29 Hình 2.8 Tạo Project làm việc...................................................................................................................29 Hình 2.9 Giao diện Project làm việc sau khi tạo xong................................................................30 Hình 2.10 Tạo kết nối LinQ........................................................................................................................30 Hình 2.11 Tạo kết nối LinQ to SQL......................................................................................................31 Hình 2.12 Giao diện khi tạo Form để kết nối LINQ to SQL thành công.........................31 Hình 2.13 Kết nối LINQ to SQL..............................................................................................................32 Hình 2.14 Kết nối LINQ to SQL thành công..................................................................................32 Hình 2.15 Các bảng và view sau khi kết nối LINQ to SQL thành công...........................33 Hình 2.16 Giao diện Form Menu.............................................................................................................34 Hình 2.17 Giao diện code của Form Menu........................................................................................35 Hình 2.18 Giao diện Sinh viên..................................................................................................................36 Hình 2.19 Tạo truy vấn cho Form sinh viên......................................................................................36 Hình 2.20 Tạo thủ tục Stored proceduces truy vấn theo tên sinh viên ..............................37 Hình 2.21 Tạo thủ tục Stored proceduces truy vấn theo tên sinh viên..............................38 Hình 2.22 Gọi thủ tục Stored Prceduces bằng câu lệnh LinQ to SQL...............................38 Hình 2.23 Code làm việc của bảng Data Grid View....................................................................39 Hình 2.24 Mã lệnh “ Thêm mới ”............................................................................................................40
  • 20. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 3
  • 21. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng Hình 2.25 Mã lệnh “ Lƣu thêm ” ............................................................................................................41 Hình 2.26 Mã lệnh “ Sửa ”..........................................................................................................................42 Hình 2.27 Mã lệnh “ Xóa ”..........................................................................................................................43 Hình 2.28 Mã lệnh “Tìm kiếm sinh viên theo mã sinh viên”..................................................44 Hình 2.29 Mã lệnh “Tìm kiếm sinh viên theo tên sinh viên”..................................................45 Hình 2.30 Mã lệnh “Thống kê các sinh viên đã nộp học phí theo lớp” ............................46 Hình 2.31Giao diện Form lớp. ..................................................................................................................47 Hình 2.32 Tạo truy vấn cho Form Lớp.................................................................................................48 Hình 2.33 Gọi thủ tục Stored Prceduces bằng câu lệnh LinQ to SQL...............................48 Hình 2.34 Code làm việc của bảng Data Grid View....................................................................49 Hình 2.35 Mã lệnh “ Thêm mới ”............................................................................................................50 Hình 2.36 Mã lệnh “ Lƣu thêm ” ............................................................................................................51 Hình 2.37 Mã lệnh “ Sửa ”..........................................................................................................................52 Hình 2.38 Mã lệnh “ Xóa ”..........................................................................................................................53 Hình 2.39 Mã lệnh “Tìm kiếm lớp theo mã lớp”..........................................................................54 Hình 2.40 Mã lệnh “Thống kê học phí của các sinh viên trong lớp theo mã lớp” ... 55 Hình 2.41 Giao diện Form ngành học. .................................................................................................56 Hình 2.42 Tạo truy vấn cho Form ngành học...................................................................................57 Hình 2.43 Gọi thủ tục Stored Prceduces bằng câu lệnh LinQ to SQL...............................57 Hình 2.44 Code làm việc của bảng Data Grid View....................................................................58 Hình 2.45 Mã lệnh “ Thêm mới ”............................................................................................................59 Hình 2.46 Mã lệnh “ Lƣu thêm ” ............................................................................................................60 Hình 2.47 Mã lệnh “ Sửa ”..........................................................................................................................61 Hình 2.48 Mã lệnh “ Xóa ”..........................................................................................................................62 Hình 2.49 Mã lệnh “Tìm kiếm ngành theo mã ngành”...............................................................63 Hình 2.50 Giao diện Form nộp học phí cho sinh viên................................................................63 Hình 2.51 Tạo truy vấn cho Form nộp học phí cho sinh viên ................................................64 Hình 2.52 Mã lệnh tra cứu tên của 1 sinh viên bất kì..................................................................65 Hình 2.53 Code làm việc của bảng Data Grid View....................................................................66 Hình 2.54 Mã lệnh “ Thêm mới ”............................................................................................................67 Hình 2.55 Mã lệnh “ Lƣu thêm ” ............................................................................................................68 Hình 2.56 Mã lệnh “ Sửa ”..........................................................................................................................69 Hình 2.57 Mã lệnh “ Xóa ”..........................................................................................................................70
  • 22. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 4
  • 23. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng Hình 2.58 Mã lệnh “Tìm kiếm khoản thu theo mã sinh viên”................................................71 Hình 2.59 Mã lệnh “ Thống kê sinh viên đã nộp theo ngày”..................................................72 Hình 2.60 Mã lệnh “Tìm kiếm khoản thu theo khoảng giá trị” .............................................74 Hình 3.1.Giao diện Menu.............................................................................................................................75 Hình 3.2 Giao diện Thêm, sửa, xóa, tìm kiếm và thống kê sinh viên................................76 Hình 3.3 Cập nhật sinh viên........................................................................................................................76 Hình 3.4 Tìm kiếm sinh viên theo tên sinh viên.............................................................................77 Hình 3.5 Tìm kiếm sinh viên theo mã sinh viên.............................................................................77 Hình 3.6 Thông tin từ ListBox..................................................................................................................78 Hình 3.7 Thống kê các sinh viên đã nộp tiền theo mã lớp........................................................78 Hình 3.8 Cập nhật lớp.....................................................................................................................................79 Hình 3.9 Tìm kiếm lớp theo mã lớp.......................................................................................................79 Hình 3.10 Thông tin từ ListBox ...............................................................................................................80 Hình 3.11 Thống kê các sinh viên trong lớp đã nộp tiền theo mã lớp...............................80 Hình 3.12.Cập nhật ngành ...........................................................................................................................81 Hình 3.13 Tìm kiếm ngành theo mã ngành........................................................................................81 Hình 3.14 Thông tin ngành từ ListBox ................................................................................................82 Hình 3.15 Giao diện Form nộp học phí................................................................................................82 Hình 3.16 Cập nhật sinh viên nộp học phí.........................................................................................83 Hình 3.17 Tra cứu tên sinh viên...............................................................................................................83 Hình 3.18 Giao diện Thêm, sửa, xóa, tìm kiếm và thống kê nộp học phí .......................84 Hình 3.19 Cập nhật phiếu thu....................................................................................................................84 Hình 3.20 Tìm kiếm phiếu thu bằng khoảng giá trị tiền nộp ..................................................85 Hình 3.21 Thống kê số sinh viên nộp tiền học phí theo ngày.................................................85
  • 24. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 5
  • 25. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng LỜI MỞ ĐẦU Công tác quản lý là một công tác không thể thiếu của tất cả các tổ chức về kinh tế. Với các lý do ấy thì phát triển Công nghệ thông tin đã trở thành một ngành kinh tế quan trọng , đặc biệt là Công nghệ phần mềm. Sự ra đời của các sản phẩm phần mềm đặc biệt là các phần mềm ứng dụng nhƣ quản lý trong vài năm gần đây mang lại nhiều thuận lợi trong công tác quản lý hàng hóa, quản lý nhận sự tránh sự nhầm lẫn, thất thu, mất mát. Tuy nhiên bên cạnh những tiện lợi mà các chƣơng trình này mang lại, vẫn còn nhiều khó khăn, nhƣợc điểm cần đƣợc khắc phục. Nhƣợc điểm của các chƣơng trình còn nhiều lý do nhƣ: Bản thân các nhà lập trình còn hạn chế về trình độ cũng nhƣ kinh nghiệm làm phần mềm. Trong phát triển phần mềm, nhu cầu truy xuất và thao tác dữ liệu là vô cùng cần thiết. Đặc biệt, với SQLExpress để truy vấn dữ liệu ta phải dùng đến các câu lệnh – Query rất phức tạp, hơn nữa để dùng trong C# lại thêm một tầng phức tạp nữa với các câu lệnh : ConnectionString khởi tạo kết nối tới Database, tự khai báo các biến để chạy một lệnh - command, rồi còn phải tính toán đầu ra của câu lệnh,…. Thật là quá phức tạp nếu nhƣ ta có một chƣơng trình khủng. Vậy phải làm sao để giải quyết vấn đê này? Một đề xuất là sử dụng LinQ to SQL. Sự ra đời của LINQ to SQL giúp các lập trình viên .NET bớt đi gánh nặng phụ thuộc bên thứ 3 (dùng SQL để truy vấn). LINQ to SQL đồng thời đồng bộ hóa dữ liệu lấy ra và trả về khi truy xuất dữ liệu bằng việc các Data Model hứng dữ liệu trả về đƣợc tạo tự động sao cho tƣơng thích với kiểu dữ liệu tƣơng ứng của chúng khi ánh xạ vào cơ sở dữ liệu. Điều này làm tránh tình trạng mất hoặc sai lệch dữ liệu khi truy xuất và thao tác với Database. Trên hết, một công cụ đƣợc phát hành cho nền tảng duy nhất là .NET với những anh em trong gia đình .NET sử dụng thì hiệu suất LINQ to SQL hằn là phải tốt hơn so với những công cụ bên thứ 3.
  • 26. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 6
  • 27. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng Đề tài: “ Tìm hiểu về LinQ to SQL và ứng dụng”, với nội dung gồm 3 chƣơng: Chƣơng 1: TÌM HIỂU VỀ LINQ TO SQL Chƣơng 2: XÂY DỰNG CHƢƠNG TRÌNH ỨNG DỤNG Chƣơng 3: KẾT QUẢ CHƢƠNG TRÌNH THỰC NGHIỆM Đề tài đã giúp em vận dụng đƣợc những hiểu biết của mình về LinQ to SQL để xây dựng đƣợc chƣơng trình ứng dụng thực tế cho bài toán thu học phí của sinh viên trƣờng Đại học Dân lập Hải Phòng, đáp ứng đƣợc một số yêu cầu công việc đặt ra hàng ngày.
  • 28. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 7
  • 29. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng Chƣơng 1 TÌM HIỂU VỀ LINQ TO SQL 1.1. LinQ là gì? Dữ liệu, linh hồn của một phần mềm, và việc xử lý dữ liệu luôn là một trong những vấn đề quan trọng nhất của mỗi phần mềm. Với những dữ liệu có cấu trúc, ta thƣờng cài đặt các câu lệnh xử lý dữ liệu sao cho phù hợp với cấu trúc nhất. Tuy nhiên mọi chuyện trở nên phức tạp hơn khi cấu trúc dữ liệu bị thay đổi, có nhiều mảng muốn xử lý cùng lúc, đặc biệt là XML. Rất may, Microsoft đã hiểu đƣợc tầm quan trọng của việc xử lý dữ liệu, và đã tung ra LinQ ở phiên bản .NET Framework 3.5 vào tháng 11/2007. LINQ (Language Integrated Query, tạm dịch là ngôn ngữ truy vấn tích hợp) đƣa ra 1 mô hình bền vững để hoạt động với các dạng nguồn dữ liệu và định dạng dữ liệu khác nhau. Trong LINQ, bạn phải làm quen với chuyện làm việc với các đối tƣợng (objects). LINQ cho phép dùng các đoạn code đơn giản để truy vấn và chuyển đổi dữ liệu trong các tài liệu XML, cơ sở dữ liệu SQL, tập dữ liệu ADO.NET, các tập hợp .NET, và bất kỳ định dạng nào mà LINQ provider hỗ trợ. 1.1.1. Tại sao phải dùng tới LinQ? Để hiểu đƣợc tầm quan trọng của LinQ, hãy cùng xét 1 ví dụ nho nhỏ sau: Có 1 mảng Student chứa thông tin tất cả các học sinh của 1 trƣờng, và 1 mảng Classroom chứa thông tin phòng học. Sẽ thật dễ dàng nếu yêu cầu “tìm tất cả sinh viên có độ tuổi lớn hơn 20”.
  • 30. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 8
  • 31. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng Nhƣng nếu vấn đề đặt ra là “tìm sinh viên tên Trung học ở trƣờng nào” thì sao? Phải tạo 1 mảng mới, trộn các dữ liệu từ 2 Mangsinhvien và Mangtruong và chạy vòng foreach? Tuy nhiên với LinQ, mọi thứ dƣờng nhƣ đơn giản hơn rất nhiều: Chỉ cần 1 câu lệnh “ JOIN ” của LinQ là xong. Rất đơn giản!!!
  • 32. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 9
  • 33. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng 1.1.2. Kiến trúc và thành phần của LinQ Hình 1.1 Kiến trúc và thành phần của LINQ  SQL Sever Databases: LinQ to Sql   + Cho phép truy vấn các cơ sở dữ liệu quan hệ  XML documents: LinQ to XML   + Sử dụng LinQ to XML với mục đích truy vấn file XML Documents  ADO.NET datasets : LINQ to Dataset   + Cho phép truy vấn các Dataset hoặc DataTable  .NET collections, strings, files, …: LinQ to Objects   + Cho phép truy vấn các đối tƣợng trong một tập các phần tử nguồn, các kiểu đối tƣợng này phải thực thi giao diện Ienumrable hoặc Ienumrable<T>.  Entyti Framework : LinQ to Entities   + Cho phép truy vấn các thực thể bên trong Entity Framework. Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 10
  • 34. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng 1.2. LinQ to SQL LINQ to SQL là một phiên bản hiện thực hóa của O/RM (object relational mapping) có bên trong .NET Framework bản “Orcas” (nay là .NET 3.5), nó cho phép bạn mô hình hóa một cơ sở dữ liệu dùng các lớp .NET. Sau đó bạn có thể truy vấn cơ sở dữ liệu (CSDL) dùng LINQ, cũng nhƣ cập nhật/thêm/xóa dữ liệu từ đó. LINQ to SQL hỗ trợ đầy đủ transaction, view và các stored procedure (SP). Nó cũng cung cấp một cách dễ dàng để thêm khả năng kiểm tra tính hợp lệ của dữ liệu và các quy tắc vào trong mô hình dữ liệu của bạn. 1.2.1.Vì sao LinQ to Sql ra đời? Mục đích ra đời của LINQ hay LINQ to SQL là để phục vụ cho hệ quản trị cơ sở dữ liệu SQL Server và nền tảng .NET nói chung hay ngôn ngữ lập trình C#/VB.NET nói riêng chứ không phải mục đích đại trà cho các ngôn ngữ lập trình hay các hệ quản trị cơ sở dữ liệu khác. Ta biết rằng:  C# là một ngôn ngữ lập trình hƣớng đối tƣợng hoàn toàn.   SQL Server là một hệ quản trị cơ sở dữ liệu (DBMS) theo mô hình quan hệ, mô hình CSDL quan hệ ghi các dữ liệu theo dòng trong các bảng dữ liệu. Muốn dùng C# viết mã để lấy dữ liệu từ SQL Server nhƣng tổ chức mô hình dữ liệu của C# và SQL Server là khác nhau. Để giải quyết tình trạng trên, một kỹ thuật gọi là ORM (Object Relational Mapping) ra đời nhằm mục đích chuyển đổi dữ liệu giữa các hệ thống khác (không phải là mô hình hƣớng đối tƣợng) sang các đối tƣợng trong ngôn ngữ lập trình hƣớng đối tƣợng. Tiếp đó LINQ to SQL ra đời dựa trên kỹ thuật ORM xóa bỏ khoảng cách giữa mô hình lập trình hƣớng đối tƣợng C#/VB.NET với hệ quản trị cơ sở dữ liệu SQL Server
  • 35. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 11
  • 36. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng khi đã mô hình hóa theo hƣớng đối tƣợng các bảng trong Database thành các lớp tƣơng ứng khi lập trình. Sự ra đời của LINQ to SQL giúp các lập trình viên .NET bớt đi gánh nặng phụ thuộc bên thứ 3 (dùng SQL để truy vấn). LINQ to SQL đồng thời đồng bộ hóa dữ liệu lấy ra và trả về khi truy xuất dữ liệu bằng việc các Data Model hứng dữ liệu trả về đƣợc tạo tự động sao cho tƣơng thích với kiểu dữ liệu tƣơng ứng của chúng khi ánh xạ vào cơ sở dữ liệu. Điều này làm tránh tình trạng mất hoặc sai lệch dữ liệu khi truy xuất và thao tác với Database. Trên hết, một công cụ đƣợc phát hành cho nền tảng duy nhất là .NET với những thành viên trong gia đình .NET sử dụng thì hiệu suất LINQ to SQL hằn là phải tốt hơn so với những công cụ bên thứ 3. 1.2.2.Vì sao nên sử dụng LinQ to SQL? a) Một công cụ hỗ trợ đắc lực Khi sử dụng LINQ to SQL với hệ quản trị cơ sở dữ liệu SQL Server, em không phải tạo các lớp Data Model để hứng dữ liệu trả về khi truy vấn dữ liệu vì LINQ to SQL đã tạo sẵn những lớp này với đầy đủ các thuộc tính và kiểu dữ liệu phù hợp với kiểu dữ liệu các cột bạn qui định trong Database (các thuộc tính của mỗi lớp ánh xạ vào các cột của bảng tƣơng ứng trong CSDL).
  • 37. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 12
  • 38. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng Hình 1.2 File lƣu trữ của LinQ to SQL Nhƣ với hình trên, sau khi lƣu trữ file QLHP.dbml, hệ thống sẽ tạo ra các lớp sinhvien-lop-nganh-danop-v_danop, với đầy đủ các thuộc tính và kiểu dữ liệu tƣơng thích với dữ liệu tƣơng ứng của chúng trong Database, tránh làm mất hoặc hƣ dữ liệu sau khi truy xuất và thao tác với cơ sở dữ liệu. b) Giao diện trực quan và tự động LINQ to SQL cung cấp giao diện trực quan về mối quan hệ các bảng dữ liệu sau khi đƣợc mô hình hóa. Các lớp DataContext sẽ đƣợc tạo ra tự động khi bạn Import file LINQ to SQL vào Project. Các lớp DataContext nhận nhiệm vụ mở kết nối đến cơ sở dữ liệu, thực hiện truy vấn hay thay đổi dữ liệu. Các lớp thuộc tính đƣợc mô hình hóa từ các bảng dữ liệu trong hệ quản trị cơ sở dữ liệu đƣợc truy cập thông qua các lớp DataContext. Lớp DataContext này gần nhƣ là một lớp bao (Wrapper Class), những thay đổi từ các bảng dữ liệu trong cơ sở dữ liệu thì lớp này sẽ cập nhật và thay đổi tƣơng ứng (chúng cũng sẽ cập nhật vào các lớp Data Modal đƣợc tạo tự động). Điều này khiến cho việc thay đổi thuộc
  • 39. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 13
  • 40. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng tính dữ liệu trong database diễn ra dễ dàng và ngƣời lập trình không mất quá nhiều công sức để chỉnh sửa lại code (những thay đổi đƣợc tự động cập nhật lại). Hình 1.3 Giao diện trực quan và tự động của LinQ to SQL c) LinQ nhƣng bản chất vẫn là SQL Đúng nhƣ cái tên LINQ to SQL, các câu truy vấn LINQ sẽ đƣợc chuyển sang câu truy vấn SQL trƣớc khi đƣa vào SQL Server để truy vấn dữ liệu (LINQ to SQL giống nhƣ việc mang SQL vào và viết bằng C#, tuy vậy bản chất vẫn là SQL). LINQ to SQL là một công cụ tốt đối với những lập trình viên .NET. Cấu trúc,
  • 41. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 14
  • 42. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng câu lệnh của nó dễ học và quen thuộc (C#/VB.NET). LINQ to SQL rút ngắn thời gian phát triển phần mềm trên nền tảng .NET khi muốn thao tác và truy xuất dữ liệu từ cơ sở dữ liệu, hệ thống tạo vào hỗ trợ tất cả những thứ cơ bản nhƣ lớp DataContext, các lớp Data Model để hứng dữ liệu, lập trình viên chỉ cần truy xuất và thao tác với dữ liệu. 1.3. Những hạn chế của LinQ to SQL  Chỉ thao tác duy nhất với hệ quản trị cơ sở dữ liệu SQL server.    Chỉ có thể tự động tạo Data Model từ Database chứ không thể tạo  Database từ Data Model. Chỉ cho phép ánh xạ 1:1 giữa các Table với các lớp Data Model ( tức là không thể tạo 1 Data Model là kết quả kết hợp từ 2 bảng dữ liệu trở lên). 1.4. Những khái niệm cơ bản của LINQ to SQL - Object Model - ORM ( Object Relations Mapping ) - O/R Designer ( Object Relations Designer ) - Entity Class - Association - DataContext 1.4.1. Object Model  Là mô hình đƣợc ánh xạ từ mô hình dữ liệu của cơ sở dữ liệu.   Ngƣời lập trình sẽ làm việc với mô hình này nhƣ thể là đang lập trình hƣớng đối tƣợng ( với các class đƣợc phát sinh ).
  • 43. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 15
  • 44. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng Hình 1.4 Mô hình ánh xạ từ mô hình CSDL 1.4.2. ORM (Object Relations Mapping)  Chính là phƣơng pháp ánh xạ trực tiếp 1-1 giữa các đối tƣợng trong cơ sở dữ liệu quan hệ với các class của .NET.   Từ mô hình quan hệ Database Diagram chuyển thành LINQ to SQL Mapping Diagram.   Visual Studio IDE từ phiên bản 2008 có hỗ trợ 2 ORM là : LINQ to SQL và ADO.NET ENTITY FRAME WORK ( có từ version 3.5 SP1).
  • 45. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 16
  • 46. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng Hình 1.5 Mô hình ánh xạ của ORM 1.4.3. O/R Designer ( Object Relations Designer )  Là một công cụ trong Visual Studio IDE có từ phiên bản 2008, dùng để hỗ trợ việc tạo ra Oblect Model.   Phát sinh ra các ENTITY Class (Các Table, View từ cơ sở dữ liệu đƣợc ánh xạ thành các class) trong các Object đang làm việc. Khi sử dụng ENTITY Class sẽ ánh xạ đến một Table và một Property sẽ ánh xạ đến một Column của Table. Database Object LINQ Object Database DataContext Table Class and Collection View Class and Collection Column Property Relationship Nested Collection Stored Proceduce Method Hình 1.6 Mô hình ánh xạ của O/R Designer
  • 47. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 17
  • 48. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng 1.4.4. Entity Class  Các Table, View từ CSDL đƣợc ánh xạ thành các Class đƣợc gọi là Entity Class.   Khi sử dụng. Entity Class sẽ ánh xạ đến một Table và một Property sẽ ánh xạ đến một Column của một Table 1.4.5. Association  Mối kết hợp, hay còn gọi là mối quan hệ giữa 2 ENTITY dựa trên primary key ( khóa chính ) và foreign key 1.4.6. DataContext  Là một trong .NET, dùng để hỗ trợ việc kết nối CSDL. Ngoài ra nó còn quản lý các định danh ( IDENTITY ) của các đối tƣợng trong CSDL nhƣ Table, View,…   Có thể tạo ra một Strong-Typed DATACONTEXT cho riêng ứng dụng -> đây là cách thông dụng nhất 1.5 Mô hình ánh xạ của LinQ to SQL - Ánh xạ cơ sở dữ liệu theo hƣớng đối tƣợng Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 18
  • 49. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng Hình 1.7 Mô hình ánh xạ của LinQ to SQL 1.6 Tầng kiến trúc  Là cầu nối giao tiếp giữa Application và SQL Server Hình 1.8 Tầng kiến trúc của LinQ to SQL
  • 50. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 19
  • 51. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng 1.7 Các Actions của LinQ to SQL  Select Data : Là hành động truy vấn và lấy dữ liệu từ cơ sở dữ liệu bằng câu lệnh LinQ to SQL.  Ví dụ:  Insert Data : Là hành động thêm mới cơ sở dữ liệu khi dữ liệu đƣợc nhập từ phần mềm vào cơ sở dữ liệu bằng câu lệnh LinQ to SQL.  Ví dụ:  Update Data : Là hành động sửa chữa dữ liệu trong cơ sở dữ liệu bằng câu lệnh LinQ to SQL.  Ví dụ:  Delete Data : Là hành động xóa dữ liệu trong cơ sở dữ liệu bằng câu lệnh LinQ to SQL.  Ví dụ:
  • 52. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 20
  • 53. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng  Join : Là hành động liên kết các bảng trong cơ sở dữ liệu bằng câu lệnh LinQ to SQL.  Ví dụ:  Using stored proceduce: là hành động lấy dữ liệu từ cơ sở dữ liệu bằng cách gọi thủ tục đƣợc tạo ra trong cơ sở dữ liệu.  Ví dụ: + Tạo thủ tục stored proceduce trong cơ sở dữ liệu SQL Server
  • 54. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 21
  • 55. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng + Đƣa thủ tục vào trong chƣơng trình: + Dùng câu lệnh LinQ to SQL để gọi thủ tục đã tạo
  • 56. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 22
  • 57. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng CHƢƠNG 2 XÂY DỰNG CHƢƠNG TRÌNH ỨNG DỤNG 2.1 Xây dựng chƣơng trình ứng dụng 2.1.1 Phát biểu bài toán Hoạt động quản lí học phí của sinh viên đại học Dân lập Hải Phòng đƣợc mô tả nhƣ sau : a) Trong trƣờng có rất nhiều ngành học khác nhau, thông tin về mỗi ngành học bao gồm: Mã ngành, Tên ngành. Trong đó Mã ngành xác định duy nhất mỗi ngành. b) Có rất nhiều lớp học khác nhau, mỗi lớp có một Mã lớp duy nhất. Nhiều lớp học thuộc một ngành đào tạo. c) Trong trƣờng có rất nhiều sinh viên, thông tin về mỗi sinh viên bao gồm: Mã sinh viên, Họ tên sinh viên, Ngày sinh, Khóa học. Trong đó Mã sinh viên xác định duy nhất mỗi sinh viên. Nhiều sinh viên thuộc một lớp. d) Khi sinh viên nộp tiền học phí thì thông tin sẽ đƣợc ghi lại gồm: Số phiếu nộp, Ngày nộp học phí, Số tiền sinh viên nộp. Trong đó Số phiếu nộp xác định duy nhất. Mỗi lần sinh viên nộp học phí thì sẽ có một phiếu nộp duy nhất đƣợc in ra. 2.1.2 Thiết kế cơ sở dữ liệu a) Vẽ mô hình ER
  • 58. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 23
  • 59. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng Mã ngành Tên ngành Số phiếu nộp Ngày nộp PHIẾU NỘP NGÀNH n 1 Số tiền thuộc có Ngày sinh n Khóa học 1 LỚP SINH VIÊN n 1 Họ tên Mã lớp thuộc Mã sinh viên Hình 2.1 Mô hình ER của bài toán
  • 60. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 24
  • 61. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng b) Chuyển đổi mô hình ER thành các bảng quan hệ Mô hình ER đƣợc chuyển đổi thành các bảng quan hệ nhƣ sau:  Bảng NGÀNH để lƣu trữ các thông tin về ngành học gồm các cột: Mã ngành, Tên ngành. Khóa chính là Mã ngành.   Bảng LỚP để lƣu trữ các thông tin về lớp học gồm các cột: Mã lớp, Mã ngành. Khóa chính là Mã lớp, khóa ngoài là Mã ngành.   Bảng SINH VIÊN để lƣu trữ thông tin về sinh viên gồm các cột: Mã sinh viên, Họ tên, Ngày sinh, Khóa học, Mã lớp. Khóa chính là Mã sinh viên, khóa ngoài là Mã lớp   Bảng PHIẾU NỘP để lƣu trữ thông tin về các phiếu thu của sinh viên gồm các cột: Số phiếu, Ngày nộp, Số tiền, Mã sinh viên. Trong đó Số phiếu là khóa chính, khóa ngoài là Mã sinh viên 2.1.3 Tạo cơ sở dữ liệu bằng SQL Server Từ các bảng quan hệ trên, ta tạo đƣợc một DATABASE HOCPHI gồm các bảng nhƣ sau: 1, Bảng SINH VIÊN Hình 2.2 Bảng “Sinh viên” trong cơ sở dữ liệu HOCPHI
  • 62. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 25
  • 63. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng 2, Bảng NGÀNH Hình 2.3 Bảng “Ngành” trong cơ sở dữ liệu HOCPHI 3, Bảng LỚP Hình 2.4 Bảng “Lớp” trong cơ sở dữ liệu HOCPHI
  • 64. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 26
  • 65. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng 4, Bảng PHIẾU NỘP Hình 2.5 Bảng nộp học phí trong cơ sở dữ liệu HOCPHI 5, Mô hình quan hệ các bảng trong cơ sở dữ liệu Hình 2.6 Mô hình quan hệ các bảng trong cơ sở dữ liệu HOCPHI
  • 66. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 27
  • 67. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng 2.2 Xây dựng chƣơng trình 2.2.1 Tạo chƣơng trình và lập kết nối LINQ to SQL với SQL SERVER Bƣớc 1 : Tạo giao diện phần mềm làm việc Chọn FILE NEWPROJECT Hình 2.7 Giao diện tạo Project làm việc trong Visual Studio 2013 + Chọn Installed Windows Windows Forms Application ( trên nền .NET Framework 3.5 )
  • 68. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 28
  • 69. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng Hình 2.8 Tạo Project làm việc Hình 2.9 Giao diện Project làm việc sau khi tạo xong Bƣớc 3: Tạo kết nối LINQ to SQL với SQL Server + Click chuột phải vào tên của Project Chọn ADD Chọn New Item (Ctrl + Shift + A)
  • 70. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 29
  • 71. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng Hình 2.10 Tạo kết nối LinQ + Chọn Data Chọn LINQ to SQL Classes Hình 2.11 Tạo kết nối LinQ to SQL
  • 72. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 30
  • 73. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng Hình 2.12 Giao diện khi tạo Form để kết nối LINQ to SQL thành công + Tạo kết nối LINQ to SQL với phần mềm Microsoft SQL server 2008 R2 bằng cách: Click vào Server Explorer Chọn Data Connections Chọn Add Connection…… Hình 2.13 Kết nối LINQ to SQL + Kết nối với cơ sở dữ liệu HOCPHI và Test Connection thành công
  • 74. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 31
  • 75. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng Hình 2.14 Kết nối LINQ to SQL thành công + Các bảng và view sau khi kết nối thành công Hình 2.15 Các bảng và view sau khi kết nối LINQ to SQL thành công
  • 76. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 32
  • 77. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng 2.2.2 Tạo Form Menu và các Form thành phần của chƣơng trình  Giao diện Form Menu   + Thay vì phải chạy các Form của chƣơng trình chúng ta sẽ viết một Form Menu để khi chạy chƣơng trình chúng ta chỉ cần chạy Form này là sẽ gọi đƣợc 4 Form còn lại. + Đổi tên Form 1 thành “PHẦN MỀM QUẢN LÝ HỌC PHÍ SINH VIÊN TRƢỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG” bằng cách: Click chuột phải vào khoảng trống trong form => Chọn Properties => Chọn phần “Text” => Đổi tên. + Từ phần Toolbox => Chọn Menu & Toolbar => Chọn MenuStrip để làm thanh Menu chọn các Form tƣơng ứng. Hình 2.16 Giao diện Form Menu  Code chạy giao diện Menu  private void thôngTinCácSinhViênToolStripMenuItem_Click(object sender, EventArgs e) { Sinh_viên f = new Sinh_viên(); f.Show(); } private void tra CácKhoảnNộpCủaSinhViênToolStripMenuItem_Click(object sender, EventArgs e) Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 33
  • 78. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng { Nộp_học_phí c = new Nộp_học_phí (); c.Show(); } private void thôngTinNgànhHọcToolStripMenuItem_Click(object sender, EventArgs e) { Ngành_Học a = new Ngành_Học(); a.Show(); } private void thôngTinNgànhHọcToolStripMenuItem_Click(object sender, EventArgs e) { Lớp_Học b = new Lớp_Học(); b.Show(); } Hình 2.17 Giao diện code của Form Menu  Giao diện Form Sinh viên    + Form sinh viên bao gồm nút có chức năng thêm, sửa, xóa, lƣu, tìm kiếm và thống kê dữ liệu của bảng SINHVIEN trong cơ sở dữ liệu HOCPHI. + Ở đây em có tạo thêm 1 List Box để hỗ trợ tìm kiếm nhanh tên của các sinh viên. Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 34
  • 79. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng Hình 2.18 Giao diện Form Sinh viên  Tạo truy vấn cho Form sinh viên  private void F_Sinhvien_Load(object sender, EventArgs e) { //Sử dụng Action Select để liên kết giữa các bảng để lấy dữ liệu var svnew = from bangsv in db.sinhviens select bangsv; foreach (var sv in svnew) { lb_timsinhvien.Items.Add(sv.Họ_tên); } //Tạo truy vấn dữ liệu Table<lop> lp = db.GetTable<lop>(); Table<sinhvien> Sinhviens = db.GetTable<sinhvien>(); Table<nganh> ng = db.GetTable<nganh>(); //Sử dụng Action Join để liên kết giữa các bảng để lấy dữ liệu var query = from k in lp join sv in Sinhviens on k.Mã_lớp equals sv.Mã_lớp join n in ng on k.Mã_ngành equals n.Mã_ngành group sv by new { sv.Mã_SV, sv.Họ_tên, sv.Ngày_sinh, sv.Khóa_học, sv.Mã_lớp, n.Tên_ngành } into nh select new { nh.Key.Mã_SV, nh.Key.Họ_tên, nh.Key.Ngày_sinh, nh.Key.Khóa_học, nh.Key.Mã_lớp, nh.Key.Tên_ngành }; dtg_ket_qua.DataSource = query; }
  • 80. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 35
  • 81. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng Hình 2.19 Tạo truy vấn cho Form sinh viên  Tạo thủ tục Stored Prceduces để truy vấn dữ liệu cho List Box của  bảng sinh viên Bƣớc 1: đăng nhập vào phần mềm quản trị cơ sở dữ liệu SQL Server, chọn Database HOCPHI Chọn Programmability => Click chuột phải vào Stored Prceduces => New Stored Prceduces Hình 2.20 Tạo thủ tục Stored proceduces truy vấn theo tên sinh viên Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 36
  • 82. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng Bƣớc 2: Viết câu lệnh truy vấn có tham số là họ tên sinh viên để tạo thủ tục Stored Prceduces Bƣớc 3: Tƣơng tự ta viết câu lệnh truy vấn có tham số là mã lớp và mã ngành để tạo thủ tục Stored Prceduces cho Form Lớp và Form ngành. Hình 2.21 Tạo thủ tục Stored proceduces truy vấn theo tên sinh viên  Đƣa thủ tục Stored Prceduces vào LinQ to SQL để truy vấn dữ liệu theo tên Sinh viên của List Box   + Tƣơng tự nhƣ đƣa các bảng và View vào trong LINQ to SQL, chúng ta cũng đƣa các thủ tục Stored Prceduces vào để truy vấn dữ liệu. + Dùng Stored Prceduces để truy vấn dữ liệu trong LINQ to SQL để có thể tăng tính bảo mật, tăng thời gian viết code, giảm thiểu tình trạng quá tải cho phần mềm quản trị cơ sở dữ liệu
  • 83. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 37
  • 84. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng Hình 2.22 Đƣa thủ tục Stored Prceduces vào LinQ to SQL  Gọi thủ tục Stored Prceduces bằng câu lệnh LinQ to SQL   Đoạn code nhƣ sau: private void lb_timsinhvien_SelectedIndexChanged(object sender, EventArgs e) { //gọi thủ tục để tìm thông tin các sinh viên đã nhập vào để có tên sinh viên đang chọn var kqtim = db.P_Quanlyhocphi(lb_timsinhvien.Text); dtg_ket_qua.DataSource = kqtim; } Hình 2.23 Gọi thủ tục Stored Prceduces bằng câu lệnh LinQ to SQL Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 38
  • 85. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng  Câu lệnh cho Data Grid View của Form sinh viên.   Đoạn code nhƣ sau: private void dtg_ket_qua_CellContentClick(object sender, DataGridViewCellEventArgs e) { int r = dtg_ket_qua.CurrentCell.RowIndex; var masv_tim = dtg_ket_qua.Rows[r].Cells[0].Value.ToString(); var svtim = (from bangsv in db.sinhviens where bangsv.Mã_SV == masv_tim select bangsv); foreach(var kq in svtim) { tb_tensv.Text = kq.Họ_tên; tb_ngaysinh.Text = kq.Ngày_sinh.ToString(); tb_masv.Text = kq.Mã_SV; tb_malop.Text = kq.Mã_lớp; tb_khoahoc.Text = kq.Khóa_học.ToString(); } } + Ở đây em sử dụng chức năng Select của LinQ to SQL Hình 2.24 Code làm việc của bảng Data Grid View  Câu lệnh cho nút Thêm mới   Đoạn code nhƣ sau: private void bt_themmoi_Click(object sender, EventArgs e) { tb_tensv.Text = null; tb_ngaysinh.Text = null; tb_masv.Text = null; tb_malop.Text = null; Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 39
  • 86. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng tb_khoahoc.Text = null; } Hình 2.25 Mã lệnh “ Thêm mới ”  Câu lệnh cho nút Lƣu thêm mới  Đoạn code nhƣ sau: private void bt_luu_Click(object sender, EventArgs e) { if (tb_masv.Text != "") { sinhvien sv = new sinhvien(); sv.Mã_SV = tb_masv.Text; sv.Họ_tên = tb_tensv.Text; sv.Ngày_sinh = Convert.ToDateTime(tb_ngaysinh.Text); sv.Mã_lớp = tb_malop.Text; sv.Khóa_học = Convert.ToInt16(tb_khoahoc.Text) db.sinhviens.InsertOnSubmit(sv); db.SubmitChanges(); } else { MessageBox.Show("Chƣa nhập thông tin Sinh viên cần lƣu", "Thông báo"); } //hiển thị lại dữ liệu của bảng sinh viên sau khi đƣợc thêm mới var svnew = from bangsv in db.sinhviens select bangsv; dtg_ket_qua.DataSource = svnew; //sau khi lƣu lại thông tin vừa nhập mới vào bảng sinh viên thì reset lại các ô nhập thông tin
  • 87. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 40
  • 88. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng tb_tensv.Text = null; tb_ngaysinh.Text = null; tb_masv.Text = null; tb_malop.Text = null; tb_khoahoc.Text = null; } + Ở đây em sử dụng chức năng Insert của LinQ to SQL để đƣa các thông tin thêm mới vào trong CSDL Hình 2.26 Mã lệnh “ Lƣu thêm ”  Câu lệnh cho nút Sửa  Đoạn code nhƣ sau: private void bt_sua_Click(object sender, EventArgs e) { //tìm sinh viên cần sửa có mã sinh viên được nhập vào từ bảng sinh viên var svtim = (from bangsv in db.sinhviens where bangsv.Mã_SV == tb_masv.Text select bangsv); //duyệt từng vật tư tìm được trong bảng sinh viên để thực hiện sửa các thông tin theo yêu cầu foreach(var sv in svtim) { sv.Họ_tên = tb_tensv.Text; sv.Ngày_sinh = Convert.ToDateTime(tb_ngaysinh.Text); sv.Mã_lớp = tb_malop.Text; sv.Khóa_học = Convert.ToInt16(tb_khoahoc.Text); } db.SubmitChanges(); dtg_ket_qua.DataSource = db.sinhviens; tb_tensv.Text = null; tb_ngaysinh.Text = null; Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 41
  • 89. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng tb_masv.Text = null; tb_malop.Text = null; tb_khoahoc.Text = null; } + Ở đây em sử dụng chức năng Select và Update của LinQ to SQL Hình 2.27 Mã lệnh “ Sửa ”  Câu lệnh cho nút Xóa  Đoạn code nhƣ sau: private void bt_xoa_Click(object sender, EventArgs e) { var svtim = (from bangsv in db.sinhviens where bangsv.Mã_SV == tb_masv.Text select bangsv); //Chức năng SELECT //duyệt sinh viên tìm đƣợc trong bảng sinh viên để xóa foreach (var sv in svtim) { db.sinhviens.DeleteOnSubmit(sv); // Chức năng DELETE } db.SubmitChanges(); //hiển thị lại dữ liệu của bảng sinh viên sau khi xóa var svnew = from bangsv in db.sinhviens select bangsv; dtg_ket_qua.DataSource = svnew; tb_tensv.Text = null; tb_ngaysinh.Text = null; tb_masv.Text = null;
  • 90. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 42
  • 91. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng tb_malop.Text = null; tb_khoahoc.Text = null; } 2.28 Mã lệnh “ Xóa ”  Câu lệnh cho nút Tìm kiếm sinh viên theo mã sinh viên   + Đoạn code nhƣ sau: private void bt_tim_Click(object sender, EventArgs e) { //tạo truy vấn Table<lop> lp = db.GetTable<lop>(); Table<sinhvien> Sinhviens = db.GetTable<sinhvien>(); Table<nganh> ng = db.GetTable<nganh>(); if (tb_masv.Text != "") { var query = from k in lp join sv in Sinhviens on k.Mã_lớp equals sv.Mã_lớp join n in ng on k.Mã_ngành equals n.Mã_ngành where sv.Mã_SV == tb_masv.Text group k by new { k.Mã_lớp, sv.Mã_SV, sv.Họ_tên, sv.Khóa_học, sv.Ngày_sinh, n.Tên_ngành } into nh select new { nh.Key.Mã_SV, nh.Key.Họ_tên, nh.Key.Ngày_sinh, nh.Key.Khóa_học, nh.Key.Mã_lớp, nh.Key.Tên_ngành }; dtg_ket_qua.DataSource = query; } else { MessageBox.Show("Chƣa nhập mã sinh viên ", "Thông báo");
  • 92. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 43
  • 93. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng } tb_tensv.Text = null; tb_ngaysinh.Text = null; tb_masv.Text = null; tb_malop.Text = null; tb_khoahoc.Text = null; } + Ở đây em sử dụng chức năng Join(liên kết giữa các bảng) của LinQ to SQL để lấy ra các thông tin cần tìm kiếm. Hình 2.29 Mã lệnh “Tìm kiếm sinh viên theo mã sinh viên”  Câu lệnh cho nút Tìm kiếm sinh viên theo tên sinh viên   + Đoạn code nhƣ sau: private void bt_timsV_Click(object sender, EventArgs e) { //tạo thủ tục tìm kiếm Table<lop> lp = db.GetTable<lop>(); Table<sinhvien> Sinhviens = db.GetTable<sinhvien>(); Table<nganh> ng = db.GetTable<nganh>(); if (tb_tensv.Text != "") { var query = from k in lp join sv in Sinhviens on k.Mã_lớp equals sv.Mã_lớp join n in ng on k.Mã_ngành equals n.Mã_ngành where sv.Họ_tên == tb_tensv.Text group sv by new { k.Mã_lớp, sv.Mã_SV, sv.Họ_tên, sv.Khóa_học, sv.Ngày_sinh, n.Tên_ngành } into nh select new { nh.Key.Mã_SV, nh.Key.Họ_tên, nh.Key.Ngày_sinh, nh.Key.Khóa_học, nh.Key.Mã_lớp, nh.Key.Tên_ngành };
  • 94. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 44
  • 95. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng dtg_ket_qua.DataSource = query; tb_tensv.Text = null; tb_ngaysinh.Text = null; tb_masv.Text = null; tb_malop.Text = null; tb_khoahoc.Text = null; } else { MessageBox.Show("Chưa nhập tên Sinh viên ", "Thông báo"); } tb_tensv.Text = null; tb_ngaysinh.Text = null; tb_masv.Text = null; tb_malop.Text = null; tb_khoahoc.Text = null; } + Ở đây em sử dụng chức năng Join(liên kết giữa các bảng) của LinQ to SQL để lấy ra các thông tin cần tìm kiếm. Hình 2.30 Mã lệnh “Tìm kiếm sinh viên theo tên sinh viên”  Câu lệnh cho nút Thống kê các sinh viên đã nộp học phí theo lớp   + Đoạn code nhƣ sau: private void button1_Click(object sender, EventArgs e) { //tạo thủ tục tìm kiếm Table<lop> lp = db.GetTable<lop>(); Table<sinhvien> Sinhviens = db.GetTable<sinhvien>(); Table<danop> dn = db.GetTable<danop>(); if(tb_malop.Text != "")
  • 96. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 45
  • 97. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng { var query = from k in lp join sv in Sinhviens on k.Mã_lớp equals sv.Mã_lớp join a in dn on sv.Mã_SV equals a.Mã_SV where k.Mã_lớp == tb_malop.Text group a by new { k.Mã_lớp } into nh select new { nh.Key.Mã_lớp , Số_sinh_viên_đã_nộp_tiền = nh.Count() }; dtg_ket_qua.DataSource = query; } else { MessageBox.Show("Chưa nhập mã Lớp ", "Thông báo"); } tb_tensv.Text = null; tb_ngaysinh.Text = null; tb_masv.Text = null; tb_malop.Text = null; tb_khoahoc.Text = null; } + Ở đây em sử dụng chức năng Join(liên kết giữa các bảng) của LinQ to SQL để lấy ra các thông tin cần tìm kiếm. + Dùng câu lệnh Count() của LinQ to SQL để thống kê ra số trong 1 lớp đã nộp học phí Hình 2.31 Mã lệnh “Thống kê các sinh viên đã nộp học phí theo lớp”  Giao diện Form Lớp học   + Form Lớp bao gồm các nút Thêm mới, Lƣu, Xóa, Sửa, Tìm kiếm theo Mã lớp va thống kê học phí của các sinh viên trong 1 lớp theo mã lớp + Ở đây em có tạo thêm 1 List Box để hỗ trợ tìm kiếm nhanh tên của các lớp.
  • 98. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 46
  • 99. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng Hình 2.32 Giao diện Form Lớp học  Tạo truy vấn cho Form Lớp   + Đoạn code nhƣ sau: private void F_lop_Load(object sender, EventArgs e) { var lopnew = from banglop in db.lops select banglop; foreach (var sv in lopnew) { lb_lop.Items.Add(sv.Mã_lớp); } // hiển thị toàn bộ sinh viên lên danh sách chọn để tìm Table<lop> lp = db.GetTable<lop>(); Table<nganh> ng = db.GetTable<nganh>(); // tạo truy vấn var query = from k in lp join n in ng on k.Mã_ngành equals n.Mã_ngành group k by new { k.Mã_lớp, k.Mã_ngành, n.Tên_ngành } into nh select new { nh.Key.Mã_lớp, nh.Key.Mã_ngành, nh.Key.Tên_ngành }; dtg_ket_qua.DataSource = query; // hiển thị toàn bộ danh sách sinh viên lên bảng Sinh viên để xem } + Ở đây em sử dụng chức năng Select(chọn lọc) và Join(liên kết giữa các bảng) của LinQ to SQL để lấy ra các thông tin cần tìm kiếm. Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 47
  • 100. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng Hình 2.33 Tạo truy vấn cho Form lớp  Gọi thủ tục Stored Prceduces bằng câu lệnh LinQ to SQL   + Đoạn code nhƣ sau: private void lb_lop_SelectedIndexChanged(object sender, EventArgs e) { var kqtim = db.P_Quanlylop(lb_lop.Text); dtg_ket_qua.DataSource = kqtim; }  HìnhCâu2l.ệ34nhGọichothủDatatục StoredGridViewPrceducesủaFormbằng Lcâuớplệnh. LinQ to SQL   + Đoạn code nhƣ sau: Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 48
  • 101. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng private void dtg_ket_qua_CellContentClick(object sender, DataGridViewCellEventArgs e) { int r = dtg_ket_qua.CurrentCell.RowIndex; var malop_tim = dtg_ket_qua.Rows[r].Cells[0].Value.ToString(); var timlop = (from banglop in db.lops where banglop.Mã_lớp == malop_tim select banglop); foreach (var kq in timlop) { tb_malop.Text = kq.Mã_lớp; tb_manganh.Text = kq.Mã_ngành; } } + Ở đây em sử dụng chức năng Select của LinQ to SQL Hình 2.35 Code làm việc của bảng Data Grid View  Câu lệnh cho nút Thêm mới   + Đoạn code nhƣ sau: private void bt_thêm_Click(object sender, EventArgs e) { tb_malop.Text = null; tb_manganh.Text = null;
  • 102. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 49
  • 103. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng } Hình 2.36 Mã lệnh “ Thêm mới ”  Câu lệnh cho nút Lƣu thêm mới  Đoạn code nhƣ sau: private void bt_lƣu_Click(object sender, EventArgs e) { if (tb_malop.Text != "") { lop lp = new lop(); lp.Mã_lớp = tb_malop.Text; lp.Mã_ngành = tb_manganh.Text; db.lops.InsertOnSubmit(lp); db.SubmitChanges(); } else { MessageBox.Show("Chƣa nhập thông tin Lớp cần lƣu", "Thông báo"); } //hiển thị lại dữ liệu của bảng sinh viên sau khi đƣợc thêm mới var svnew = from banglop in db.lops select banglop; dtg_ket_qua.DataSource = svnew; //sau khi lƣu lại thông tin vừa nhập mới vào bảng sinh viên thì reset lại các ô nhập thông tin tb_malop.Text = null; tb_manganh.Text = null;
  • 104. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 50
  • 105. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng } + Ở đây em sử dụng chức năng Insert của LinQ to SQL để đƣa các thông tin thêm mới vào trong CSDL Hình 2.37 Mã lệnh “ Lƣu thêm ”  Câu lệnh cho nút Sửa  Đoạn code nhƣ sau: private void bt_sửa_Click(object sender, EventArgs e) { //tìm sinh viên cần sửa có mã sinh viên đƣợc nhập vào từ bảng sinh viên var loptim = (from banglop in db.lops where banglop.Mã_lớp == tb_malop.Text select banglop); //duyệt từng vật tƣ tìm đƣợc trong bảng sinh viên để thực hiện sửa các thông tin theo yêu cầu foreach (var sv in loptim) { sv.Mã_lớp = tb_malop.Text; sv.Mã_ngành = tb_manganh.Text; } db.SubmitChanges(); dtg_ket_qua.DataSource = db.sinhviens; tb_malop.Text = null; tb_manganh.Text = null; } + Ở đây em sử dụng chức năng Update của LinQ to SQL để đƣa các thông tin đã sửa vào trong CSDL Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 51
  • 106. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng Hình 2.38 Mã lệnh “ Sửa ”  Câu lệnh cho nút Xóa  Đoạn code nhƣ sau: private void bt_xóa_Click(object sender, EventArgs e) { var loptim = (from banglop in db.lops where banglop.Mã_lớp == tb_malop.Text select banglop); //duyệt sinh viên tìm đƣợc trong bảng sinh viên để xóa foreach (var sv in loptim) { db.lops.DeleteOnSubmit(sv); } db.SubmitChanges(); //hiển thị lại dữ liệu của bảng sinh viên sau khi xóa var lopnew = from banglop in db.lops select banglop; dtg_ket_qua.DataSource = lopnew; } + Ở đây em sử dụng chức năng DELETE của LinQ to SQL để xóa các thông tin thêm mới vào trong CSDL
  • 107. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 52
  • 108. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng Hình 2.39 Mã lệnh “ Xóa ”  Câu lệnh cho nút Tìm kiếm lớp theo mã lớp   + Đoạn code nhƣ sau: private void button1_Click(object sender, EventArgs e) { if (tb_malop.Text != "") { Table<lop> lp = db.GetTable<lop>(); Table<nganh> ng = db.GetTable<nganh>(); //tạo truy vấn var query = from k in lp join n in ng on k.Mã_ngành equals n.Mã_ngành where k.Mã_lớp == tb_malop.Text group k by new { k.Mã_lớp, n.Mã_ngành, n.Tên_ngành } into nh select new { nh.Key.Mã_lớp, nh.Key.Mã_ngành, nh.Key.Tên_ngành }; dtg_ket_qua.DataSource = query; } else { MessageBox.Show("Chƣa nhập mã Lớp ", "Thông báo"); } tb_malop.Text = null; tb_manganh.Text = null; } + Ở đây em sử dụng chức năng Join(liên kết giữa các bảng) của LinQ to SQL để lấy ra các thông tin cần tìm kiếm.
  • 109. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 53
  • 110. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng Hình 2.40 Mã lệnh “Tìm kiếm lớp theo mã lớp”  Câu lệnh cho nút Thống kê học phí của các sinh viên trong lớp theo mã lớp   + Đoạn code nhƣ sau: private void button2_Click(object sender, EventArgs e) { Table<lop> lp = db.GetTable<lop>(); Table<sinhvien> Sinhviens = db.GetTable<sinhvien>(); Table<danop> dn = db.GetTable<danop>(); //tạo truy vấn if (tb_malop.Text != "") { var query = from k in lp join sv in Sinhviens on k.Mã_lớp equals sv.Mã_lớp join a in dn on sv.Mã_SV equals a.Mã_SV where k.Mã_lớp == tb_malop.Text group a by new { k.Mã_lớp, a.Ngày_nộp, a.Số_phiếu, a.Số_tiền, sv.Họ_tên } into nh select new { nh.Key.Mã_lớp, nh.Key.Họ_tên, nh.Key.Số_phiếu, nh.Key.Ngày_nộp, nh.Key.Số_tiền }; dtg_ket_qua.DataSource = query; } else { MessageBox.Show("Chƣa nhập mã Lớp ", "Thông báo"); } tb_malop.Text = null; tb_manganh.Text = null;
  • 111. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 54
  • 112. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng } + Ở đây em sử dụng chức năng Join(liên kết giữa các bảng) của LinQ to SQL để lấy ra các thông tin cần tìm kiếm. Hình 2.41 Mã lệnh “Thống kê học phí của các sinh viên trong lớp theo mã lớp”  Giao diện Form Ngành học   + Form Lớp bao gồm các nút chức năng Thêm, Sửa, Xóa, Lƣu, tìm kiếm và thống kê dữ liệu của bảng NGÀNH trong cơ sở dữ liệu HOCPHI. + Ở đây em có tạo thêm 1 List Box để hỗ trợ tìm kiếm nhanh mã của các Ngành.
  • 113. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 55
  • 114. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng Hình 2.42 Giao diện Form Ngành học  Tạo truy vấn cho Form Ngành   + Đoạn code nhƣ sau: private void F_Nganh_Load(object sender, EventArgs e) { //hiển thị toàn bộ sinh viên lên danh sách chọn để tìm var nganhnew = from bangnganh in db.nganhs select bangnganh; foreach (var sv in nganhnew) { lb_nganh.Items.Add(sv.Mã_ngành); } //hiển thị toàn bộ danh sách sinh viên lên bảng Sinh viên để xem dtg_ket_qua.DataSource = db.nganhs; }
  • 115. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 56
  • 116. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng Hình 2.43 Tạo truy vấn cho Form Ngành  Gọi thủ tục Stored Prceduces bằng câu lệnh LinQ to SQL   + Đoạn code nhƣ sau: private void lb_nganh_SelectedIndexChanged(object sender, EventArgs e) { var kqtim = db.P_Quanlynganh(lb_nganh.Text); dtg_ket_qua.DataSource = kqtim; } Hình 2.44 Gọi thủ tục Stored Prceduces bằng câu lệnh LinQ to SQL Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 57
  • 117. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng  Câu lệnh cho Data Grid View của Form Lớp   + Đoạn code nhƣ sau: private void dtg_ket_qua_CellContentClick(object sender, DataGridViewCellEventArgs e) { int r = dtg_ket_qua.CurrentCell.RowIndex; var manganh_tim = dtg_ket_qua.Rows[r].Cells[0].Value.ToString(); var nganhtim = (from bangnganh in db.nganhs where bangnganh.Mã_ngành == manganh_tim select bangnganh); foreach (var kq in nganhtim) { tb_manganh.Text = kq.Mã_ngành; tb_tennganh.Text = kq.Tên_ngành; } } Hình 2.45 Code làm việc của bảng Data Grid View  Câu lệnh cho nút Thêm mới   + Đoạn code nhƣ sau: private void bt_themmoi_Click(object sender, EventArgs e) { tb_manganh.Text = null; tb_tennganh.Text = null; } Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 58
  • 118. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng Hình 2.46 Mã lệnh “ Thêm mới ”  Câu lệnh cho nút Lƣu thêm mới   + Đoạn code nhƣ sau: private void bt_luu_Click(object sender, EventArgs e) { if (tb_manganh.Text != "") { nganh ng = new nganh(); ng.Mã_ngành = tb_manganh.Text; ng.Tên_ngành = tb_tennganh.Text; db.nganhs.InsertOnSubmit(ng); db.SubmitChanges(); } else { MessageBox.Show("Chƣa nhập thông tin Ngành cần lƣu", "Thông báo"); } //hiển thị lại dữ liệu của bảng sinh viên sau khi đƣợc thêm mới var nganhnew = from bangnganh in db.nganhs select bangnganh; dtg_ket_qua.DataSource = nganhnew; tb_manganh.Text = null; tb_tennganh.Text = null; } + Ở đây em sử dụng chức năng Insert của LinQ to SQL để đƣa các thông tin thêm mới vào trong CSDL Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 59
  • 119. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng Hình 2.47 Mã lệnh “ Lƣu thêm ”  Câu lệnh cho nút Sửa   + Đoạn code nhƣ sau: private void bt_sua_Click(object sender, EventArgs e) { var nganhtim = (from bangnganh in db.nganhs where bangnganh.Mã_ngành == tb_manganh.Text select bangnganh); //duyệt từng vật tƣ tìm đƣợc trong bảng sinh viên để thực hiện sửa các thông tin theo yêu cầu foreach (var sv in nganhtim) { sv.Mã_ngành = tb_manganh.Text; sv.Tên_ngành = tb_tennganh.Text; } db.SubmitChanges(); dtg_ket_qua.DataSource = db.nganhs; tb_manganh.Text = null; tb_tennganh.Text = null; } + Ở đây em sử dụng chức năng Update của LinQ to SQL để đƣa các thông tin đã sửa vào trong CSDL Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 60
  • 120. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng Hình 2.48 Mã lệnh “ Sửa ”  Câu lệnh cho nút Xóa   + Đoạn code nhƣ sau: private void bt_xoa_Click(object sender, EventArgs e) { var nganhtim = (from bangnganh in db.nganhs where bangnganh.Mã_ngành == tb_manganh.Text select bangnganh); //duyệt sinh viên tìm đƣợc trong bảng sinh viên để xóa foreach (var sv in nganhtim) { db.nganhs.DeleteOnSubmit(sv); } db.SubmitChanges(); //hiển thị lại dữ liệu của bảng sinh viên sau khi xóa var nganhnew = from bangnganh in db.nganhs select bangnganh; dtg_ket_qua.DataSource = nganhnew; tb_manganh.Text = null; tb_tennganh.Text = null; } + Ở đây em sử dụng chức năng DELETE của LinQ to SQL để xóa các thông tin thêm mới vào trong CSDL
  • 121. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 61
  • 122. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng Hình 2.49 Mã lệnh “ Xóa ”  Câu lệnh cho nút Tìm kiếm ngành theo mã ngành   + Đoạn code nhƣ sau: private void bt_tim_Click(object sender, EventArgs e) { if (tb_manganh.Text != "") { var nganhtim = (from bangnganh in db.nganhs where bangnganh.Mã_ngành == tb_manganh.Text select bangnganh); dtg_ket_qua.DataSource = nganhtim; tb_manganh.Text = null; tb_tennganh.Text = null; } else { MessageBox.Show("Chƣa nhập mã Ngành ", "Thông báo"); } tb_manganh.Text = null; tb_tennganh.Text = null; } + Ở đây em sử dụng chức năng Join(liên kết giữa các bảng) của LinQ to SQL để lấy ra các thông tin cần tìm kiếm.
  • 123. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 62
  • 124. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng Hình 2.50 Mã lệnh “Tìm kiếm lớp theo mã ngành”  Giao diện bảng Nộp học phí của sinh viên   + Form Lớp bao gồm các nút Thêm mới, Lƣu, Xóa, Sửa, Tìm kiếm theo tên và mã sinh viên, thống kê học phí của các sinh viên trong 1 lớp theo khoảng giá trị. 2.51 Giao diện bảng nộp học phí của sinh viên Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 63
  • 125. Viết đề tài giá sinh viên – ZALO: 0917.193.864 - VIETKHOALUAN.COM Tải tài liệu tại kết bạn zalo : 0917.193.864 Tìm hiểu về LINQ to SQL và ứng dụng  Tạo truy vấn cho Form Nộp học phí của sinh viên   + Đoạn code nhƣ sau: private void F_Nophocphi_Load(object sender, EventArgs e) { //hiển thị toàn bộ sinh viên lên danh sách chọn để tìm var svnew = from bangnop in db.danops select bangnop; Table<lop> lp = db.GetTable<lop>(); Table<sinhvien> Sinhviens = db.GetTable<sinhvien>(); Table<danop> dn = db.GetTable<danop>(); //tạo truy vấn var query = from k in lp join sv in Sinhviens on k.Mã_lớp equals sv.Mã_lớp join n in dn on sv.Mã_SV equals n.Mã_SV group n by new { n.Số_phiếu, n.Mã_SV, n.Ngày_nộp, n.Số_tiền, sv.Họ_tên } into nh select new { nh.Key.Số_phiếu, nh.Key.Mã_SV, nh.Key.Họ_tên, nh.Key.Ngày_nộp, nh.Key.Số_tiền }; //hiển thị toàn bộ danh sách sinh viên lên bảng Sinh viên để xem dtg_ket_qua.DataSource = query; } + Ở đây em sử dụng chức năng Select(chọn lọc) và Join(liên kết giữa các bảng) của LinQ to SQL để lấy ra các thông tin cần tìm kiếm. Hình 2.52 Tạo truy vấn cho Form Nộp học phí của sinh viên Sinh viên: Nguyễn Quốc Trung Anh – Lớp CT1701 – Ngành: Công nghệ thông tin 64