Bài tập lớn nhóm VIII – Mơn Phát triển phần mềm hướng đối tượng
TRƯỜNG ĐẠI HỌC ĐỒNG THÁP
KHOA SƯ PHẠM TỐN - TIN
BÁO CÁO BÀI TẬP LỚN MƠN HỌC
PHÁT TRIỂN PHẦN MỀM HƯỚNG ĐỐI TƯỢNG
Lớp: ĐHSTIN 20L2 – LĐ – Chuyên ngành: SP TIN
Đề tài:
QUẢN LÝ THƯ VIỆN TRONG TRƯỜNG HỌC
GVHD: ThS. Huỳnh Lê Uyên Minh
Thành viên nhóm:
Mã số sinh viên
4220440462
4220440456
4220440464
4220440458
4220440451
Họ tên sinh viên
Trần Văn Thuận
Nguyễn Hải Quân
Trần Thị Thủy
Bùi Thị Thanh
Liêng Jrang Marađôna
Đồng Tháp – Ngày 20 tháng 8 năm 2022
LỜI NÓI ĐẦU
Trên thế giới cũng như ở Việt Nam, công nghệ thông tin đã trở thành một
công nghệ mũi nhọn, nó là ngành khoa học kỹ thuật khơng thể thiếu trong việc áp
1
Bài tập lớn nhóm VIII – Mơn Phát triển phần mềm hướng đối tượng
dụng vào các hoạt động xã hội như: quản lý hệ thống thư viện sách, kinh tế, thông
tin, kinh doanh và mọi hoạt động trong lĩnh vực nghiên cứu...
Ngơn ngữ lập trình là một phần khơng thể thiếu trong việc xây dựng nên một
thế giới công nghệ linh hoạt và mạnh mẽ. Không gian làm việc Microsoft .Net tổng
hợp bởi bốn bộ ngơn ngữ lập trình: C#, VB.NET, Managed C++, and J# .NET. Ở
đó có sự chồng gối lên nhau của các ngôn ngữ, và được định nghĩa trong FCL
(framework class library). Hỗ trợ cho lập trình viên phát triển các ứng dụng mạng
với kích thước nhẹ và mạnh mẽ trong xử lý.
Ở nước ta hiện nay, việc áp dụng vi tính hóa trong quản lý tại các cơ quan, xí
nghiệp, tổ chức đang rất phổ biến và trở nên cấp thiết, bởi ngành nghề nào cũng
đòi hỏi con người phải xử lý khối lượng công việc khổng lồ và những kiến thức,
những suy nghĩ, những đào tạo chuyên sâu. Một vấn đề cấp thiết đặt ra trong quản
lý là làm thế nào để chuẩn hóa cách xử lý dữ liệu ở trường học, chính vì thế chúng
em chọn đề tài "Quản lý thư viện trong trường học".
Trong thời gian thực hiện đề tài với sự giúp đỡ và tạo điều kiện của trường
Đại Học Đồng Tháp - Khoa sư phạm Tốn - Tin, sự góp ý của các bạn trong lớp
cũng như sự đồng lòng của các thành viên trong nhóm và đặc biệt là sự hướng dẫn
trực tiếp, chỉ bảo tận tình của giảng viên bộ mơn ThS. Huỳnh Lê Un Minh
chúng em đã hồn thành đề tài cùng với bản báo cáo đúng thời gian quy định. Với
khả năng và thời gian có hạn nên khó tránh khỏi những thiếu sót về cách làm cũng
như cách bố trí, trình bày nội dung trên hệ thống quản lí sách trong trường học,
nhóm chúng em rất mong nhận được sự quan tâm, giúp đỡ của cô giáo trực tiếp
giảng dạy bộ môn Phát triển phần mềm hướng đối tượng để đề tài của nhóm chúng
em được hồn thiện hơn trong thời gian tới.
Một lần nữa nhóm chúng em xin chân thành cảm ơn sâu sắc tới cô giáo giảng
viên bộ môn Phát triển phần mềm hướng đối tượng - ThS. Huỳnh Lê Uyên Minh
đã chỉ bảo nhiệt tình cho nhóm chúng em suốt q trình học và làm đề tài.
Nhóm chúng em xin chân thành cảm ơn!
Nhóm sinh viên lớp ĐHSTIN 20L2 – LĐ – Chuyên ngành: SP TIN
Nguyễn Hải Quân
Trần Văn Thuận
Trần Thị Thủy
Bùi Thị Thanh
Liêng Jrang Marađôna
MỤC LỤC
Nội dung
Thứ tự
PHẦN MỘT: MỞ ĐẦU
2
Trang
Bài tập lớn nhóm VIII – Mơn Phát triển phần mềm hướng đối tượng
1
2
3
4
5
6
1. Đặt vấn đề
2. Ý nghĩa lý thuyết, thực tiễn của đề tài
3. Mục tiêu của đề tài
4. Phạm vi của đề tài
5. Các phương pháp nghiên cứu
6. Kế hoạch thực hiện đề tài
PHẦN HAI: NỘI DUNG
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
4
4
5
5
5
5
7
8
I. Vài nét về Công nghệ web hiện nay
5
9
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
II. Vài nét về ASP.NET, Entity Framework,
CHƯƠNG 2: XÂY DỰNG HỆ THỐNG QUẢN LÝ THƯ
VIỆN TRONG TRƯỜNG HỌC
I. Xây dựng hệ thống quản lý thư viện trong trường học
1. Hoạt động nghiệp vụ thư viện
2. Yêu cầu của hệ thống
3. Sơ đồ phân cấp chức năng
4. Hệ thống các Form quản lí
II. Hướng dẫn tạo các form quản lý thư viện trong trường học
1. Tạo cơ sở dữ liệu SQL
2. Thiết kế các Form-Quản lí thư viện trong trường học
3. Code
4. Một số hình ảnh sau khi hồn thành
5. Xuất csdl trên SQL ra file *.bak
PHẦN BA: KẾT LUẬN
1. Kết quả đạt được
2. Hạn chế
3. Hướng phát triển
Tài liệu tham khảo
Phân công nhiệm vụ
13
13
13
13
14
16
16
18
19
49
57
58
59
59
60
61
PHẦN MỘT: MỞ ĐẦU
1. Đặt vấn đề
Ngày nay cơng nghệ thơng tin đã có những bước tiến phát triển mạnh mẽ về
cả chiều sâu và chiều rộng. Máy tính điện tử giờ đây khơng cịn là thứ quý hiếm
mà đang ngày càng trở thành một cơng cụ làm việc và giải trí của con người.
Những năm gần đây công nghệ Web ứng dụng trên nền .NET Framework của
Microsoft ngày càng phát triển mạnh mẽ cùng với các công nghệ khác như: PHP,
3
Bài tập lớn nhóm VIII – Mơn Phát triển phần mềm hướng đối tượng
JSP,… Trong đó cơng nghệ ASP.NET là một cơng nghệ mang nhiều tính năng ưu
việt. Bên cạnh đó, nhu cầu thực tế cơng việc quản lý thư viện trong trường học
ngày càng phát triển nên đòi hỏi về trình độ đáp ứng cho cơng việc ngày càng nâng
cao và địi hỏi khả năng xử lý thơng tin ngày càng phức tạp nhằm mang lại hiệu
quả cao trong công việc quản lý, thúc đẩy sự phát triển của người thủ thư ở trường
học, tiết kiệm thời gian, nhân cơng, chi phí đầu tư và tính tiện dụng.
Vì vậy, chúng em quyết định chọn đề tài xây dựng hệ thống quản lý thư viện
trong trường học trên nền tảng Framework ASP.NET để hỗ trợ việc quản lý thư
viện trong trường học để giải quyết các vấn đề đã đề ra trên đó. Các hướng tiếp cận
phát triển đề tài của chúng em là tìm kiếm thơng tin qua Internet, xử lý thông tin
dưới sự giúp đỡ của Giáo viên hướng dẫn.
Trong quá trình nghiên cứu, xây dựng và phát triển đề tài, chúng em đã gặp
nhiều khó khăn và phương án để giải quyết vấn đề là: tham khảo, hỏi ý kiến từ các
form, xin ý kiến đóng góp của giảng viên hướng dẫn, trao đổi thông tin với bạn
bè…
Và kết quả đã đạt được, chúng em đã xây dựng thành công hệ thống quản lý
thư viện trong trường học đáp ứng đầy đủ yêu cầu đã đặt ra. Hệ thống được vận
hành dễ dàng mọi lúc mọi nơi trên mọi thiết bị có hỗ trợ SQL và Visual khác nhau
của thiết bị sử dụng.
2. Ý nghĩa lý thuyết, thực tiễn của đề tài:
Ngày nay với việc khoa học kỹ thuật ngày càng phát triển mạnh mẽ đặc biệt
là cơng nghệ thơng tin, những gì mà cơng nghệ thơng tin tạo ra giúp con người
phát triển trong nhiều lĩnh vực.
Đặc biệt trong lĩnh vực quản lý, việc áp dụng công nghệ thông tin vào thương
mại điện tử giúp cho việc quản lý tài sản của nhà nước nói chung và quản lý tài sản
trong trường học nói riêng nhất là quản lý sách ngày càng dễ dàng và thuận tiện
hơn. Việc quản lý sách trong trường học dễ dàng hơn, sẽ kích thích cho người thủ
thư trong trường học yêu nghề hơn qua đó sẽ làm tăng hiệu quả quản lý tài sản.
Tuy nhiên hiện nay việc quản lý tài sản nói chung và quản lý sách nói riêng trong
trường học còn gặp phải nhiều vấn đề cần phải giải quyết như:
- Người thủ thư chủ yếu là một số giáo viên dư thừa chuyển sang làm nên
chuyên môn nghiệp vụ thư viện còn hơi yếu.
- Lo ngại về hệ thống quản lý thư viện.
- Lo ngại về tính bảo mật thông tin của hệ thống.
- Lo ngại về quản lý độc giả, cập nhật sách, phân loại sách và sử lý sách mà
độc giả mượn quá hạn.
Mặt khác việc quản lý sách qua mạng có nhiều lợi ích hơn so với quản lý sách
truyền thống như:
- Quảng bá thông tin và nội dung công việc của người thủ thư trong trường
học với chi phí thấp.
- Cung cấp dịch vụ tốt hơn cho bạn đọc tra cứu thông tin nhanh hơn, làm tăng
năng suất lao động…..
Trong khuôn khổ đề tài của mình, chúng em chỉ dừng lại ở việc giới thiệu một
số cơng việc chính của người thủ thư trong trường học. Mặc dù đã cố gắng rất
nhiều để hồn thành cơng việc nhưng do thời gian có hạn và kiến thức thực tế chưa
4
Bài tập lớn nhóm VIII – Mơn Phát triển phần mềm hướng đối tượng
nhiều nên cịn nhiều thiếu sót cần được bổ sung. Chúng em mong nhận được ý kiến
đóng góp của thầy cơ và bạn bè.
3. Mục tiêu của đề tài
- Thông tin hiện nay là một lĩnh vực rất quan trọng đối với cuộc sống hiện
nay, bên cạnh đó các nhu cầu nghe nhìn, giải trí, trao đổi thông tin,... Nhằm đáp
ứng nhu cầu phát triển xã hội, nâng cao năng suất, hiệu quả công việc, tiết kiệm
thời gian, nhân cơng và tiết kiệm chi phí đầu tư trang thiết bị máy móc, đáp ứng
nhu cầu chuyên nghiệp hóa xử lý thơng tin phục vụ cho độc giả ngày càng tốt hơn.
4. Phạm vi của đề tài
- Xây dựng một hệ thống quản lý thư viện trong trường học.
5. Các phương pháp nghiên cứu
- Quan sát thực tế quy trình quản lý sách tại thư viện trường TH và THCS.
- Xây dựng hệ thống quản lý thư viện trong trường học trên nền tảng
ASP.NET .
- Nghiên cứu các website thư viện trường học sẵn có và quy trình thực hiện
quản lý sách trong trường TH và THCS.
6. Kế hoạch thực hiện đề tài
Thời gian thực hiện dự án này theo kế hoạch như sau (từ ngày 29/07 đến
29/8/2022):
Thời gian
Cơng việc
Ngày 1
Cả nhóm họp lại, tìm hiểu, lựa chọn đề tài
Ngày 2
Phân công nhiệm vụ, thiết kế các sơ đồ dữ liệu.
Hiệu chỉnh các sơ đồ và cài đặt CSDL, cài đặt các phần mềm,
Ngày 3 - 6
thông tin cần thiết cho dự án, hình ảnh, sản phẩm,….
Viết và kiểm thử chương trình, thu thập, kiểm tra các điều
Ngày 7 - 27
kiện, các tình huống có thể xãy ra.
Ngày 28
Quay video demo ứng dụng
Ngày 29
Viết báo cáo
Ngày 30
Kiểm tra tổng quát, hiệu chỉnh và hoàn tất
PHẦN HAI: NỘI DUNG
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
I. Vài nét về Công nghệ web hiện nay
1. Tập trung vào tốc độ tải trang
Một trong những tiêu chuẩn thiết kế web quan trọng nhất cần đáp ứng đó là
thời gian tải trang nhanh. Đây là yếu tố thiết yếu trong UX và SEO trong nhiều
năm qua và nó tiếp tục trở thành khía cạnh được ưu tiên hàng đầu cho xu hướng
thiết kế website 2021.
Các nghiên cứu đã chỉ ra rằng nếu mất hơn 3 giây để tải trang web của bạn,
khách truy cập sẽ có xu hướng thốt trang và khó có khả năng họ sẽ quay lại lần
nữa. Điều này cho thấy hiệu suất trang web có tác động trực tiếp đến lưu lượng
truy cập, cũng như tỷ lệ chuyển đổi và lợi nhuận của doanh nghiệp.
Để tối ưu tốc độ tải trang trong thiết kế website, các nhà thiết kế cần nghiên
cứu và tối ưu: Không gian dự trữ của website, các tài nguyên trên trang (ảnh, text,
5
Bài tập lớn nhóm VIII – Mơn Phát triển phần mềm hướng đối tượng
tài nguyên nhúng), các hiệu ứng, giao diện thân thiện và giảm thiểu các tác vụ
dài…
2. Xu hướng thiết kế web đáp ứng UX/UI
Trong thiết kế website, UX và UI là hai tiêu chuẩn quan trọng liên quan đến
trải nghiệm người dùng (User Experience) và giao diện người dùng (User
Interface).
Hiểu một cách đơn giản, UI liên quan đến những cảm nhận về mặt giao diện,
tức là website đó có đẹp mắt hay khơng, có thu hút hay khơng. Cịn UX lại liên
quan đến trải nghiệm của người dùng, sao cho những điều hướng trên website đáp
ứng tốt nhất, đầy đủ nhất về nhu cầu của khách hàng khi họ tương tác trên trang mà
không cần “suy nghĩ” quá nhiều.
Cũng giống như tốc độ tải trang, UX/UI cũng là một trong những yếu tố thiết
yếu và trở thành xu hướng thiết kế web trong nhiều năm.
3. Chế độ tối màu cho giao diện (Dark Mode)
Một số công ty đang bắt đầu cung cấp phiên bản giao diện chế độ tối cho
trang web của họ và chúng tôi tin rằng xu hướng thiết kế website này sẽ tiếp tục
phát triển vào năm 2021.
Chế độ tối, chuyển đổi ban đêm và các tùy chọn thay đổi mức ánh sáng giao
diện cung cấp cho người dùng một trang web hoặc ứng dụng có độ tương phản
thấp dễ nhìn hơn trong mơi trường ánh sáng yếu.
Xét về thực tế, chế độ tối giúp giảm mỏi mắt cho người dùng khi mà chúng ta
ngày càng dùng nhiều thời gian hơn để tiếp xúc với màn hình điện tử.
Xét về yếu tố thẩm mỹ, chế độ tối dễ dàng tạo ra những giao diện hiện đại,
đồng thời góp phần làm nổi bật các nội dung khác chỉ bằng cách làm tối các
khoảng vùng bao quanh nó.
4. Chatbot thơng minh hơn với cơng nghệ AI
Chatbot là một tính năng được tích hợp trên website khá phổ biến trong
những năm gần đây và sẽ tiếp tục được ưa chuộng vào năm 2021. Đặc biệt khi trí
tuệ nhân tạo và máy học tiếp tục trở nên thông minh, hiện đại hơn, các chuyên gia
kỳ vọng sẽ được thấy chatbot trở thành tiêu chuẩn cho các yêu cầu dịch vụ khách
hàng đơn giản.
Chatbot AI có thể hiểu người dùng đang tìm kiếm điều gì trên website và
nhanh chóng đề xuất những giải pháp phù hợp nhất để giải quyết vấn đề của họ.
Điều này có thể giúp tăng trải nghiệm tích cực cho khách hàng và tiết kiệm
cho doanh nghiệp một khoản chi phí khơng nhỏ khi chatbot AI ngày càng giống
“người thật” và có khả năng thay thế một nhân viên chăm sóc khách hàng trực tiếp
trong tương lai.
5. Giao diện kích hoạt bằng giọng nói (Chat voice)
Hành vi người dùng truy cập thơng tin đang có sự thay đổi, thay vì thao tác
nhập dữ liệu trên Google, giờ đây họ có xu hướng đặt câu hỏi hoặc đưa ra yêu cầu
bằng giọng nói nhiều hơn.
Điều này có nghĩa rằng, thiết kế website đang cần điều chỉnh, tích hợp thêm
các tính năng mới để bắt kịp với sự thịnh hành của tìm kiếm giọng nói và trợ lý
ảo.
6
Bài tập lớn nhóm VIII – Mơn Phát triển phần mềm hướng đối tượng
Mặc dù giao diện kích hoạt bằng giọng nói khơng phổ biến với hầu hết các
trang web, nhưng xu hướng mới này được dự báo sẽ mở ra một thời đại mới cho
cơng nghệ giọng nói trong tương lai.
6. Phong cách thiết kế tối giản hiện đại vẫn là xu hướng
Chủ nghĩa tối giản hay còn được biết đến với một thuật ngữ khác – Thiết kế
phẳng. Đây không phải là một xu hướng quá mới trong thiết kế web, tuy nhiên nó
vẫn sẽ là xu hướng được thịnh hành trong năm 2021.
Phong cách tối giản thường được kết hợp với nhiều khoảng trắng. Trong năm
2021, các chuyên gia kỳ vọng mọi người sẽ thử nghiệm phong cách này với nhiều
màu sắc hơn, không nhất thiết chỉ dùng toàn màu trắng để trở nên “đơn giản”.
Một trong những ví dụ tuyệt vời về chủ nghĩa tối giản đầy màu sắc trong thiết
kế website, bạn có thể tham khảo giao diện trang chủ của Shopify.
7. Tải cuộn nội dung thông minh để tăng trải nghiệm người dùng
Xu hướng thiết kế 2021 mới đang dần loại bỏ các cuộn tải vô hạn khiến trang
web tải chậm.
Các mạng xã hội hàng đầu như Facebook cũng đã sử dụng công nghệ này,
tiêu biểu là cuộn tải bình luận trong các bài post. Thay vì tải tồn bộ các bình luận,
Facebook sử dụng chế độ cuộn thông minh hiển thị các đoạn bình luận gần nhất và
bạn sẽ lựa chọn nút “xem các bình luận cũ” hoặc “xem thêm bình luận” để tiếp cận
các thông tin khác.
Tương tự đối với một website, tải cuộn thông minh sẽ chỉ hiển thị nội dung
vừa với màn hình bạn đang xem, thay vì mất quá nhiều thời gian để tải toàn bộ các
nội dung mà có thể sẽ trở nên khơng cần thiết.
Nhiều khách truy cập khơng cần phải tải đến cuối trang để tìm thấy nội dung
hữu ích với họ. Vậy tại sao cần tải những nội dung đó và làm tăng độ trễ tải trang
web? Cách tiếp cận tốt hơn là hãy tải nội dung khi họ bắt đầu cuộn xuống trang
hoặc cài đặt cấu trúc phân trang thông minh cho website của bạn.
8. Tạo cảm hứng đầy màu sắc cho website với màu Gradient
Khi Instagram đổi tên vào năm 2016, chắc hẳn mọi người đã chú ý đến sự
xuất hiện logo mới với màu gradient độc đáo của họ. Nó rất khác với phong cách
sử dụng màu đơn sắc phổ biến vào thời điểm lúc bấy giờ. Và hiển nhiên, quyết
định mới mẻ đó đã mở ra một thời đại mới cho xu hướng sử dụng hệ màu Gradient
khi tìm kiếm cảm hứng thiết kế trang web mới.
Các chuyên gia thiết kế hàng đầu thế giới nhận định rằng, sử dụng màu
Gradient sẽ trở thành một trong số những xu hướng thiết kế trang web thịnh hành
nhất năm 2021.
9. Điều hướng di động thân thiện với ngón tay cái
Thực tế cho thấy, ứng dụng cơng nghệ Responsive trong thiết kế website
khơng cịn là một sự lựa chọn, mà nó đã trở thành xu hướng.
Trang web của bạn khơng chỉ phải tương thích, hoạt động tốt và dễ sử dụng
trên thiết bị di động. Mà trong năm 2021, nó cịn được tối ưu hơn để tạo ra sự thân
thiện khi người dùng thao tác lướt web bằng ngón tay cái.
Yếu tố “thân thiện với ngón cái”, chúng ta đang nói về hành vi và thói quen
sử dụng điện thoại để lướt web của người dùng. Nếu bạn đang đọc nội dung này
trên điện thoại của mình, hãy thử nghiệm cách bạn đang dùng nó. Các ngón tay của
7
Bài tập lớn nhóm VIII – Mơn Phát triển phần mềm hướng đối tượng
bạn có thể được đặt cố định ở mặt sau của điện thoại và ngón cái sẽ được sử dụng
để thực hiện tất cả các công việc. Có thể trơng như thế này:
Đó là lý do tại sao thiết kế website cần tối ưu thanh điều hướng, menu, thậm
chí là các nút CTA nằm trong khơng gian mà ngón cái của người dùng có thể chạm
tới dễ dàng, giúp cải thiện UX cho trang web và tăng trải nghiệm thoải mái của
khách hàng trên trang.
Dưới đây là một biểu đồ được đề xuất để hiển thị các khu vực thân thiện với
ngón tay cái trên màn hình điện thoại:
10. Nội dung 3D tương tác
Nhờ công nghệ web phát triển ngày càng hoàn thiện và các nhà thiết kế web
muốn tạo điểm nhấn nổi bật hơn so với các trang web thông thường, các yếu tố 3D
mà người dùng có thể tương tác ngày càng được sử dụng nhiều hơn.
Kết quả là tạo ra các nội dung 3D tương tác vô cùng thu hút trên website.
11. Trực quan hóa dữ liệu
Sử dụng trực quan hóa dữ liệu bằng cách tạo ra các hình ảnh infographic, đồ
thị hay biểu đồ từ dữ liệu sẵn có giúp thu hút người đọc và khiến họ muốn tìm hiểu
hơn về thương hiệu của bạn. Xu hướng này trong thiết kế website giúp tạo ra lợi
thế cạnh tranh cho các trang web và truyền tải các thông điệp hiệu quả.
12. Ứng dụng công nghệ thực tế ảo VR
Xu hướng ứng dụng công nghệ thực tế ảo VR thông minh trên các trang web
sẽ tiếp tục được cải thiện và phát triển trong những năm tới.
VR được đánh giá là một công cụ mạnh mẽ giúp cung cấp nội dung hữu ích,
cũng như thu hút khách truy cập cho trang web, từ đó thúc đẩy quyết định mua
hàng của họ.
Dưới đây là một trong những ví dụ trực quan về việc tích hợp ứng dụng VR
trên một website bán nội thất. Công nghệ VR cho phép khách hàng có thể hình
dung một chiếc bàn trà bạn yêu thích trên website khi được đặt vào khơng gian
trong phịng sẽ trơng như thế nào. Từ đó giúp người mua có một cái nhìn trực quan
nhất về sản phẩm trước khi họ quyết định mua trực tuyến.
13. Video nhúng trên website thu hút
Sử dụng một loạt các video clip ngắn trên trang chủ website để truyền tải một
thơng điệp nào đó là một xu hướng thiết kế mới tuyệt vời trong năm 2021.
Khi người dùng truy cập website, họ ngay lập tức bị ấn tượng về các video
trên trang và thời gian ở lại website tăng lên đáng kể.
Một báo cáo cho thấy rằng 84% người dùng đánh giá cao những website sử
dụng video nhúng để truyền tải thông điệp truyền thông cũng như truyền cảm hứng
tới khách hàng. Chúng làm tăng sự chuyên nghiệp, niềm tin và sự ủng hộ của
khách hàng hiệu quả.
14. Nội dung được cá nhân hóa
Một trong những yếu tố được dự báo sẽ trở thành xu hướng thiết kế website
được ưa chuộng trong năm 2021 đó là cá nhân hóa nội dung theo vị trí địa lý và
lịch sử duyệt web của người dùng.
Cụ thể hơn, xu hướng này sử dụng lịch sử duyệt web và lưu lại vị trí truy cập
của người dùng để đề xuất những nội dung “đã xem”, hoặc cung cấp những thông
8
Bài tập lớn nhóm VIII – Mơn Phát triển phần mềm hướng đối tượng
tin chính xác nhất dựa trên hành vi tìm kiếm trong quá khứ hoặc liên quan đến vị
trí khu vực xung quanh người dùng.
15. Tối ưu các chỉ số thiết yếu về trang web (Core Web Vitals)
Theo thơng tin chính thức từ ơng lớn Google, Core Web Vital (bao gồm các
chỉ số về LCP, FID, CLS) sẽ trở thành yếu tố xếp hạng thiết yếu của website trong
năm 2021.
Core Web Vitals là những chỉ số được đo bởi Chrome UX Report và Google
Search Console nhằm đánh giá performance của website và xếp hạng điểm SEO.
Mỗi chỉ số đại diện cho một khía cạnh về trải nghiệm người dùng, tương ứng với
các yếu tố xếp hạng sau:
Loading: Tốc độ tải trang
Interactivity: Khả năng tương tác
Visual stability: Tính ổn định khi hiển thị
II. Vài nét về ASP.NET, Entity Framework,.....
* ASP.NET là gì?
ASP.Net là một nền tảng dành cho phát triển web, được Microsoft phát hành
và cung cấp lần đầu tiên vào năm 2002. Nền tảng được sử dụng để tạo ra các ứng
dụng web-based.
Phiên bản ASP.Net đầu tiên được triển khai là 1.0 và phiên bản ASP.Net mới
nhất là phiên bản 4.6. ASP.Net được thiết kế để tương thích với giao thức HTTP.
HTTP là giao thức chuẩn được sử dụng trên tất cả các ứng dụng web.
Các ứng dụng ASP.Net có thể được viết bằng nhiều ngơn ngữ .Net khác nhau.
Trong đó có các kiểu ngơn ngữ như C #, VB.Net và J #. Một số nền tảng cơ bản
của ASP.NET sẽ được Bizfly Cloud trình bày trong mục dưới đây.
ASP viết đầy đủ là Active Server Pages, và .NET là viết tắt của Network
Enabled Technologies.
Cấu trúc và các thành phần của ASP.NET
1. Language/Ngơn ngữ: Có rất nhiều ngơn ngữ lập trình khác nhau tồn tại
trong .net framework. Các ngơn ngữ này là VB.net và C #, có thể được sử dụng để
phát triển các ứng dụng web.
2. Library/Thư viện: .NET Framework gồm có một bộ các lớp library chuẩn.
Library phổ biến nhất được sử dụng cho các ứng dụng web trong .net là Web
library. Web library bao gồm tất cả các thành phần cần thiết sử dụng trong phát
triển các ứng dụng web-based.
3. Common Language Runtime/Thời gian chạy ngơn ngữ lập trình thơng
thường hay CLR: Common Language Infrastructure - Cơ sở hạ tầng ngơn ngữ lập
trình phổ thơng hay CLI là một nền tảng dùng để chạy các chương trình .Net.
Trong đó, CLR sẽ thực hiện các tác vụ chính bao gồm xử lý các trường hợp cá biệt
và thu gom rác.
Một số đặc điểm cơ bản của ASP.Net framework
Các đặc điểm cơ bản của ASP.Net framework bao gồm:
1. Code Behind Mode/ Trạng thái code rời
Đây là khái niệm về tách rời thiết kế và mã code. Bằng cách tách rời như vậy,
việc duy trì ứng dụng ASP.Net trở nên dễ dàng hơn. Loại file thông dụng của
ASP.Net là aspx. Giả sử chúng ta có một trang web có tên là MyPage.aspx, sẽ có
9
Bài tập lớn nhóm VIII – Mơn Phát triển phần mềm hướng đối tượng
một tệp khác có tên là MyPage.aspx.cs biểu thị cho phần mã code của trang. Bởi
vậy, Visual Studio mới tạo ra các tập tin riêng biệt cho mỗi trang web, một cho
phần thiết kế và một dành cho mã code.
2. State Management/Quản lý trạng thái
ASP.Net có các phương tiện để kiểm soát quản lý trạng thái, trong khi HTTP
được biết đến là một giao thức "không trạng thái". Lấy một ví dụ về ứng dụng giỏ
hàng: khi một user đã chọn lựa xong những gì mình muốn mua và đưa ra đưa ra
quyết định mua hàng trên trang web, người đó sẽ nhấn nút gửi.
Ứng dụng cần ghi nhớ các mục mà người dùng đã chọn mua. Đây là hành
động ghi nhớ trạng thái của một ứng dụng tại một thời điểm trong hiện tại. Vì
HTTP là giao thức không trạng thái nên khi user truy cập các web bán hàng, HTTP
sẽ không lưu trữ thông tin trên các giỏ hàng.
Do đó, sẽ cần thêm một số thao tác coding bổ sung để đảm bảo các giỏ hàng
sẽ được chuyển đến trang bán hàng. Việc triển khai như vậy có thể trở nên phức
tạp tại một vài thời điểm. Nhưng ASP.Net có thể quản lý trạng thái thay cho bạn
nhờ tính năng ghi nhớ giỏ hàng và chuyển các mục đã được chọn mua qua trang
bán hàng.
3. Caching – Bộ nhớ Cache
ASP.Net cũng có thể thực hiện chức năng của Caching, qua đó cải thiện hiệu
suất làm việc cho ứng dụng. Với việc lưu bộ nhớ đệm cache, các trang thường
xuyên được người dùng yêu cầu có thể được lưu trữ ở một vị trí tạm thời. Các
trang này có thể được truy xuất nhanh hơn và người dùng có thể nhận được các
phản hồi tốt hơn. Nhờ vậy, bộ nhớ đệm có thể giúp cải thiện đáng kể hiệu suất của
ứng dụng.
Về mặt tổng quan, ASP.Net là một ngôn ngữ phát triển được sử dụng để xây
dựng các ứng dụng web-based và được cấu trúc để hoạt động tương thích với giao
thức HTTP chuẩn.
* Entity Framework là gì?
Entity Framework ra đời nhằm hỗ trợ sự tương tác giữa các ứng dụng trên
nền tảng .NET với các cơ sở dữ liệu quan hệ. Hay, Entity Frmework chính là công
cụ giúp ánh xạ giữa các đối tượng trong ứng dựng, phần mềm của bạn với các bảng
của một cơ sở dữ liệu quan hệ.
Tại sao lại sử dụng Entity Framework?
Sử dụng Entity Framework sẽ đem lại những lợi ích sau:
Nếu bạn thực hiện truy vấn dữ liệu. Bạn có thể sử dụng Linq to Entitiesđể
thao tác với objects được sinh ra từ Entity Framework, nghĩa là bạn không phải
viết code sql.
Việc update các classes,commands dễ dàng mỗi khi cơ sở dữ liệu có sự thay
đổi, điều này giúp bạn tiết kiệm thời gian đáng kể.
Entity Frameworksẽ tự động tạo ra các classes, commands tương ứng cho
việc select, insert, update,delete dữ liệu từ cơ sở dữ liệu quan hệ.
Entity Framework tự động tạo ra các classes cho việc truy suất cơ sở dữ liệu
giúp lập trình viên giảm được thời gian viết code thao tác với database. Hỗ trợ bạn
không phải mất quá nhiều thời gian cho việc viết code để thao tác với database.
Cấu trúc của Entity Framework
10
Bài tập lớn nhóm VIII – Mơn Phát triển phần mềm hướng đối tượng
Cấu trúc được mô tả đơn giản qua hình sau:
EDM (Entity Data Model):
EDM bao gồm 3 phần :
Conceptual Model: Chứa các model class và các quan hệ của nó. Nó độc lập
với thiết kế bảng CSDL của bạn.
Mapping: gồm có thơng tin về cách Conceptual model kết nối với Storage
model.
Storage Model: Đây là database design model bao gồm các bảng, views,
stored procedures, và những quan hệ và các khóa.
LINQ to Entities:
Là ngơn ngữ truy vấn sử dụng để viết các truy vấn tới object model. Trả về
các thực thể được định nghĩa bên trong Conceptual model.
Entity SQL:
Đây là một ngơn ngữ truy vấn khác, nó giống LINQ to Entities.
Object Service:
Object service sẽ có trách nhiệm trong việc cụ thể hóa q trình chuyển đổi
dữ liệu trả về từ một entity client data provider tới một entity object structure.
Entity Client Data Provider:
Nhiệm vụ chính của nó là chuyển đổi L2E hoặc những truy vấn Entity SQL
vào một truy vấn SQL. Nó được hiểu bởi CSDL cơ bản. Giao tiếp
với ADO.Net data provider lần lượt gửi và nhận dữ liệu từ CSDL.
ADO.Net Data Provider:
Thực hiện giao tiếp với CSDL bằng sử dụng chuẩn ADO.Net.
Những tính năng của Entity Framework
Những tính năng đáng chú ý nhất của Entity framework:
Entity framework hỗ trợ stored procedure.
Nó làm việc với bất kỳ cơ sở dữ liệu quan hệ nào có Entity Framework hợp
lệ.
Entity Framework tạo truy vấn SQL từ LINQ to Entities.
Nó được phát triển như một sản phẩm mã nguồn mở.
Entity framework là một sản phẩm của Microsoft.
EF cho phép tạo những câu lệnh thêm, xóa, cập nhật.
11
Bài tập lớn nhóm VIII – Mơn Phát triển phần mềm hướng đối tượng
Theo dõi những thay đổi của các đối tượng trong bộ nhớ.
Các tình huống dùng Entity Framework?
Entity framework là rất hữu ích trong 3 tình huống sau:
Database First: Đầu tiên là nếu bạn đã có một CSDL hoặc muốn thiết kế
CSDL trước khi làm các phần khác của ứng dụng.
Database First entity framework
Code First: Thứ hai là bạn muốn tập trung vào các domain class rồi mới tạo
CSDL từ các domain class đó.
Code First entity framework
Model First: Thứ ba là bạn muốn thiết kế schema của CSDL trên visual
designer rồi mới tạo CSDL và các class.
CHƯƠNG 2: XÂY DỰNG HỆ THỐNG QUẢN LÝ THƯ VIỆN TRONG
TRƯỜNG HỌC
I. XÂY DỰNG HỆ THỐNG QUẢN LÝ THƯ VIỆN TRONG TRƯỜNG
HỌC
1. Hoạt động nghiệp vụ thư viện:
Các hoạt động nghiệp vụ của một thư viện sách thơng thường có thể được
tóm tắt như sau:
- Sách (Mã sách, Tên sách, Mã tác giả, Mã thể loại, Mã NXB, Năm xuất bản)
12
Bài tập lớn nhóm VIII – Mơn Phát triển phần mềm hướng đối tượng
- Tác giả (Mã tác giả, Tên tác giả, website, Ghi chú)
- Thể loại (Mã thể loại, Tên thể loại)
- Nhà xuất bản (Mã NXB, Tên NXB, Địa chỉ, Email, Thông tin người đại
diện)
- Độc giả (Mã độc giả, Tên độc giả, Địa chỉ, Số thẻ)
- Thẻ thư viện (Số thẻ, Ngày bắt đầu, Ngày hết hạn, Ghi chú)
- Nhân viên (Mã nhân viên, Họ tên, Ngày sinh, Số điện thoại)
- Mượn trả (Mã mượn trả, Số thẻ, Mã nhân viên, Ngày mượn)
- CT Mượn trả (Mã mượn trả, Mã sách, Ghi chú, Đã_trả, Ngày trả)
2. Yêu cầu của hệ thống
a) Hệ thống thư viện sách được xây dựng nhằm mục đích giải quyết các yêu
câu chức năng sau:
- Giúp độc giả tra cứu sách theo loại sách, theo tên sách, theo tác giả,... trên
các máy tính trạm.
- Cung cấp cho thủ thư thông tin về các đầu sách một độc giả đang mượn và
hạn phải trả, và các cuốn sách còn đang được mượn.
- Thống kê hàng tháng số sách cho mượn theo các chủ đề, tác giả,... Thống kê
các đầu sách khơng có người mượn trên 1 năm, …
- Hỗ trợ thủ thư cập nhật thông tin sách, xác nhận cho mượn sách và nhận lại
sách khi độc giả trả sách.
- Hỗ trợ quản lý các thông tin về độc giả dựa trên thẻ độc giả, thông tin phiếu
mượn.
- Hỗ trợ chức năng quản trị chung hệ thống, trong đó người quản trị chung có
thể thay đổi thông tin hoặc thêm bớt các thủ thư.
b) Yêu cầu phi chức năng:
- Độc giả có thế tra cứu thông tin sách trên môi trường mạng nội bộ của thư
viện. Tuv nhiên, việc mượn và trả sách phải thực hiện trực tiếp trên thư viện. Thủ
thư sử dụng hệ thống để cập nhật và quản lý quá trình mượn trả sách.
- Thông tin thống kê phải đảm bảo tính chính xác, khách quan. Các hình thức
phạt đối với độc giả quá hạn sẽ được lưu lại và thông báo cho độc giả biết.
3. Sơ đồ phân cấp chức năng
13
Bài tập lớn nhóm VIII – Mơn Phát triển phần mềm hướng đối tượng
4. Hệ thống các Form quản lí
a) Form1: Giao diện của Form 1 như sau:
Với tên đăng nhập và mật khẩu như sau:
Nháy nút Đăng ký thì sẽ hiện ra Form Frm_TaiKhoan như sau:
14
Bài tập lớn nhóm VIII – Mơn Phát triển phần mềm hướng đối tượng
b) Formmain chính: Giao diện của Formmain chính như sau
* Menu QL hệ thống gồm
+ Form Quản lí nhân viên
+ Thốt
+ Đăng xuất
* Menu QL kho sách gồm:
+ Form Frm_Sach
15
Bài tập lớn nhóm VIII – Mơn Phát triển phần mềm hướng đối tượng
* Menu QL độc giả gồm :
+ Form quản lý thông tin độc giả
II. HƯỚNG DẪN TẠO CÁC FORM QUẢN LÝ THƯ VIỆN TRONG
TRƯỜNG HỌC
1. Tạo cơ sở dữ liệu SQL
- Sử dụng phần mềm Microsoft SQL Server Management Studio 18 để tạo cơ
sở dữ liệu
Sau khi mở phần mềm SQL, chuột phải vào Database Chọn New
Database
Ở bước này chúng ta tiến hành đặt tên ở mục Database name Ok
16
Bài tập lớn nhóm VIII – Mơn Phát triển phần mềm hướng đối tượng
Các bạn chuột phải vào Table New Table để bắt đầu tạo bảng mới.
Tới bước này chúng ta chuột phải vào khóa Chọn Primary key để tạo
khóa cho bảng.
Chuột phải vào bảng mới tạo Edit top… để nhập liệu cho bảng. Nhập
liệu xong các bạn lưu lại. Như vậy chúng ta đã hoàn thiện bước 1 tạo cơ sở dữ
liệu cho Form.
17
Bài tập lớn nhóm VIII – Mơn Phát triển phần mềm hướng đối tượng
2. Thiết kế các Form-Quản lí thư viện trong trường học
- Chúng ta sử dụng phần mềm Visual Studio 2019 để thiết kế Form
- Double click vào biểu tượng
để khởi động phần mềm
Các bạn lựa chọn như trong hình Next
Tới bước này, các bạn tiến hành đặt tên cho Project Create
18
Bài tập lớn nhóm VIII – Mơn Phát triển phần mềm hướng đối tượng
Đây là giao diện làm việc khi chúng ta khởi tạo xong
Chúng ta tiến hành phân chia khu vực và kéo các GroupBox.
Tới đây các bạn tiến hành kéo các Label, TextBox, Button, DataGridView.
Chú ý ở label và TextBox, để việc thiết kế được nhanh chóng các bạn nên tạo 1
Label, 1 TextBox trước, sau đó chúng ta sẽ tiến hành định dạng cuối cùng các bạn
chỉ cần copy để sử dụng lại.
Tới đây chúng ta cơ bản đã Design xong form, công việc tiếp theo chúng ta sẽ
viết code cho từng mục.
3. Code
- Tạo 4 project BTL_Nhom8, BUS_QuanLyThuVien,
DAL_QuanLyThuVien, DTO_ QuanLyThuVien.
- Sau đó liên kết các lớp.
3. 1. Code DTO_QuanLyThuVien
3.1.1. DTO_NhanVien
using
using
using
using
using
System;
System.Collections.Generic;
System.Linq;
System.Text;
System.Threading.Tasks;
19
Bài tập lớn nhóm VIII – Mơn Phát triển phần mềm hướng đối tượng
namespace DTO_QuanLyThuVien
{
public class DTO_NhanVien
{
private string _NHANVIEN_ID;
private string _NHANVIEN_NAME;
private DateTime _NHANVIEN_NGAYSINH;
private int _NHANVIEN_SDT;
public string NHANVIEN_ID
{
get { return _NHANVIEN_ID; }
set { _NHANVIEN_ID = value; }
}
public DateTime NHANVIEN_NGAYSINH
{
get { return _NHANVIEN_NGAYSINH; }
set { _NHANVIEN_NGAYSINH = value; }
}
public string NHANVIEN_NAME
{
get { return _NHANVIEN_NAME; }
set { _NHANVIEN_NAME = value; }
}
public int NHANVIEN_SDT
{
get { return _NHANVIEN_SDT; }
set
{
_NHANVIEN_SDT = value;
}
}
public DTO_NhanVien(string nHANVIEN_ID, string nHANVIEN_NAME, DateTime
nHANVIEN_NGAYSINH, int nHANVIEN_SDT)
{
NHANVIEN_ID = nHANVIEN_ID;
NHANVIEN_NAME = nHANVIEN_NAME;
NHANVIEN_NGAYSINH = nHANVIEN_NGAYSINH;
NHANVIEN_SDT = nHANVIEN_SDT;
}
}
}
3.1.2. DTO_TaiKhoan
using
using
using
using
using
System;
System.Collections.Generic;
System.Linq;
System.Text;
System.Threading.Tasks;
namespace DTO_QuanLyThuVien
{
public class DTO_TaiKhoan
{
private string _TAIKHOAN_ID;
private string _TAIKHOAN_TENDN;
private string _TAIKHOAN_PASS;
public string TAIKHOAN_ID
{
get { return _TAIKHOAN_ID; }
set {_TAIKHOAN_ID = value; }
}
public string TAIKHOAN_TENDN
{
20
Bài tập lớn nhóm VIII – Mơn Phát triển phần mềm hướng đối tượng
get { return _TAIKHOAN_TENDN; }
set { _TAIKHOAN_TENDN = value; }
}
public string TAIKHOAN_PASS
{
get { return _TAIKHOAN_PASS; }
set { _TAIKHOAN_PASS = value; }
}
public DTO_TaiKhoan(string taikhoan_ID, string taikhoan_TenDN, string taikhoan_Pass)
{
TAIKHOAN_ID = taikhoan_ID;
TAIKHOAN_TENDN = taikhoan_TenDN;
TAIKHOAN_PASS = taikhoan_Pass;
}
}
}
3.1.3. DTO_Sach
namespace DTO_QuanLyThuVien
{
public class DTO_Sach
{
private string _SACH_ID;
private string _SACH_NAME;
private string _SACH_MATG;
private string _SACH_MATL;
private string _SACH_MANXB;
private string _SACH_NAMXB;
public string SACH_ID
{
get { return _SACH_ID; }
set { _SACH_ID = value; }
}
public string SACH_NAME
{
get { return _SACH_NAME; }
set { _SACH_NAME = value; }
}
public string SACH_MATG
{
get { return _SACH_MATG; }
set { _SACH_MATG = value; }
}
public string SACH_MATL
{
get { return _SACH_MATL; }
set { _SACH_MATL = value; }
}
public string SACH_MANXB
{
get { return _SACH_MANXB; }
set { _SACH_MANXB = value; }
}
public string SACH_NAMXB
{
get { return _SACH_NAMXB; }
set { _SACH_NAMXB= value; }
}
public DTO_Sach(string Sach_ID, string Sach_NAME, string Sach_MATG, string
Sach_MATL, string Sach_MANXB,
21
Bài tập lớn nhóm VIII – Mơn Phát triển phần mềm hướng đối tượng
string Sach_NAMXB)
{
}
}
SACH_ID = Sach_ID;
SACH_NAME = Sach_NAME;
SACH_MATG = Sach_MATG;
SACH_MATL = Sach_MATL;
SACH_MANXB = Sach_MANXB;
SACH_NAMXB = Sach_NAMXB;
}
3.1.4. DTO_DocGia
namespace DTO_QuanLyThuVien
{
public class DTO_DocGia
{
private string _DOCGIA_ID;
private string _DOCGIA_NAME;
private string _DOCGIA_DIACHI;
private string _DOCGIA_SOTHE;
public string DOCGIA_ID
{
get { return _DOCGIA_ID; }
set { _DOCGIA_ID = value; }
}
public string DOCGIA_NAME
{
get { return _DOCGIA_NAME; }
set { _DOCGIA_NAME = value; }
}
public string DOCGIA_DIACHI
{
get { return _DOCGIA_DIACHI; }
set { _DOCGIA_DIACHI = value; }
}
public string DOCGIA_SOTHE
{
get { return _DOCGIA_SOTHE; }
set { _DOCGIA_SOTHE= value; }
}
public DTO_DocGia(string docgia_ID, string docgia_NAME, string docgia_DIACHI, string
docgia_SOTHE)
{
DOCGIA_ID = docgia_ID;
DOCGIA_NAME = docgia_NAME;
DOCGIA_DIACHI = docgia_DIACHI;
DOCGIA_SOTHE = docgia_SOTHE;
}
}
}
3.2. DAL_QuanLyThuVien
3.2.1. Class DBConnect
using
using
using
using
using
using
System;
System.Collections.Generic;
System.Data.SqlClient;
System.Linq;
System.Text;
System.Threading.Tasks;
namespace DAL_QuanLyThuVien
22
Bài tập lớn nhóm VIII – Mơn Phát triển phần mềm hướng đối tượng
{
public class DBConnect
{
protected SqlConnection _conn = new SqlConnection(@"Data
Source=KHOIKIET\SQLEXPRESS;Initial Catalog=NHOM8;Integrated Security=True");
}
}
3.2.2. DAL_DangNhap
using
using
using
using
using
using
using
System;
System.Collections.Generic;
System.Data;
System.Data.SqlClient;
System.Linq;
System.Text;
System.Threading.Tasks;
namespace DAL_QuanLyThuVien
{
public class DAL_DangNhap:DBConnect
{
public DataTable getUser(String tk, string mk)
{
SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM TAIKHOAN where TenDN
= '" + tk + "' AND Pass = '" + mk + "'", _conn);
DataTable dtUser = new DataTable();
da.Fill(dtUser);
_conn.Close();
return dtUser;
}
}
}
3.2.3. DAL_MD5
using
using
using
using
using
using
System;
System.Collections.Generic;
System.Linq;
System.Security.Cryptography;
System.Text;
System.Threading.Tasks;
namespace DAL_QuanLyThuVien
{
public class DAL_MD5:DBConnect
{
public string GetPassMD5(string pass)
{
MD5 mh = MD5.Create();
//Chuyển kiểu chuổi thành kiểu byte
byte[] inputBytes = System.Text.Encoding.ASCII.GetBytes("Chuỗi cần mã hóa");
//mã hóa chuỗi đã chuyển
byte[] hash = mh.ComputeHash(inputBytes);
//tạo đối tượng StringBuilder (làm việc với kiểu dữ liệu lớn)
StringBuilder sb = new StringBuilder();
}
}
for (int i = 0; i < hash.Length; i++)
{
sb.Append(hash[i].ToString("X2"));
}
return sb.ToString();
}
3.2.4. DAL_NhanVien
using DTO_QuanLyThuVien;
23
Bài tập lớn nhóm VIII – Mơn Phát triển phần mềm hướng đối tượng
using
using
using
using
using
using
using
System;
System.Collections.Generic;
System.Data;
System.Data.SqlClient;
System.Linq;
System.Text;
System.Threading.Tasks;
namespace DAL_QuanLyThuVien
{
public class DAL_NhanVien:DBConnect
{
public DataTable getNhanVien()
{
SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM NHANVIEN", _conn);
DataTable dtNhanVien = new DataTable();
da.Fill(dtNhanVien);
return dtNhanVien;
}
public bool themNhanVien(DTO_NhanVien nv)
{
try
{
_conn.Open();
String SQL = String.Format("INSERT INTO NHANVIEN VALUES (N'{0}', N'{1}',
N'{2}',N'{3}' )", nv.NHANVIEN_ID, nv.NHANVIEN_NAME, nv.NHANVIEN_NGAYSINH,
nv.NHANVIEN_SDT);
SqlCommand cmd = new SqlCommand(SQL, _conn);
if (cmd.ExecuteNonQuery() > 0)
return true;
}
catch (Exception e)
{
}
}
finally
{
_conn.Close();
}
return false;
public bool suaNhanVien(DTO_NhanVien nv)
{
try
{
_conn.Open();
String SQL = String.Format("UPDATE NHANVIEN SET HoTen = N'{0}', NgaySinh =
N'{1}', SoDienThoai = '{2}' WHERE MaNhanVien = '{3}'", nv.NHANVIEN_NAME,
nv.NHANVIEN_NGAYSINH, nv.NHANVIEN_SDT, nv.NHANVIEN_ID);
SqlCommand cmd = new SqlCommand(SQL, _conn);
if (cmd.ExecuteNonQuery() > 0)
return true;
}
catch (Exception e)
{
}
finally
{
_conn.Close();
}
return false;
}
24
Bài tập lớn nhóm VIII – Mơn Phát triển phần mềm hướng đối tượng
public bool xoaNhanVien(DTO_NhanVien nv)
{
try
{
_conn.Open();
String SQL = String.Format("DELETE NHANVIEN WHERE MaNhanVien = '{0}'",
nv.NHANVIEN_ID);
SqlCommand cmd = new SqlCommand(SQL, _conn);
if (cmd.ExecuteNonQuery() > 0)
return true;
}
catch (Exception e)
{
}
finally
{
_conn.Close();
}
return false;
}
public DataTable timNVTheoTen(string nv)
{
SqlDataAdapter da = new SqlDataAdapter("Select * from NHANVIEN Where HoTen
Like '%" + nv + "%'", _conn);
DataTable dtNhanVien = new DataTable();
da.Fill(dtNhanVien);
_conn.Close();
return dtNhanVien;
}
public DataSet xuatExcel()
{
SqlDataAdapter da = new SqlDataAdapter("Select * from NhanVien ", _conn);
DataSet ds = new DataSet();
da.Fill(ds);
return ds;
}
}
}
3.2.5. DAL_TaiKhoan
using
using
using
using
using
using
using
using
DTO_QuanLyThuVien;
System;
System.Collections.Generic;
System.Linq;
System.Text;
System.Threading.Tasks;
System.Data;
System.Data.SqlClient;
namespace DAL_QuanLyThuVien
{
public class DAL_TaiKhoan : DBConnect
{
public DataTable getTaiKhoan()
{
SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM TAIKHOAN", _conn);
DataTable dtTaiKhoan = new DataTable();
da.Fill(dtTaiKhoan);
return dtTaiKhoan;
}
public DataTable getNhanVien()
{
SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM NHANVIEN", _conn);
DataTable dtNhanVien = new DataTable();
25