Thông tin chung Tên đề tài: Xây dựng ứng dụng quản lý thư viện bằng ngôn ngữ C# Sinh viên thực hiện: Đỗ Quang Huy Xây dựng ứng dụng quản lý thư viện: - Được xây dựng bằng ngôn ngữ C#, cơ
Trang 1Xây dựng ứng dụng quản lý thư viện bằng ngôn ngữ C#
Sinh viên thực hiện:
Mã sinh viên:
Lớp:
GVHD:
Trang 2MỤC LỤC
MỤC LỤC 1
DANH MỤC CÁC HÌNH VẼ 3
DANH MỤC CÁC BẢNG BIỂU 4
THÔNG TIN KẾT QUẢ ĐỒ ÁN MẠNG MÁY TÍNH 5
MỞ ĐẦU 6
CHƯƠNG 1 TỔNG QUAN VỀ LÝ THUYẾT LIÊN QUAN 7
1.1 Ngôn ngữ C# 7
1.1.1 Lịch sử ra đời 7
1.1.2 Các đặc trưng của ngôn ngữ C# 8
1.2 NET framework 9
1.2.1 Giới thiệu 9
1.2.2 Chức năng 9
CHƯƠNG 2 PHÂN TÍCH, THIẾT KẾ VÀ XÂY DỰNG ỨNG DỤNG 11
2.1 Tìm hiểu hoạt động nghiệp vụ của thư viện 11
2.1.1 Quy trình hoạt động của thư viện 11
2.1.2 Phân quyền quản trị 12
2.1.3 Yêu cầu hệ thống 12
2.2 Thiết kế cơ sở dữ liệu 12
2.2.1 Cấu trúc bảng SACH 12
2.2.2 Cấu trúc bảng NXB 13
2.2.3 Cấu trúc bảng TACGIA 13
2.2.4 Cấu trúc bảng LOAI 14
2.2.5 Cấu trúc bảng PHIEUMUON 14
2.2.6 Cấu trúc bảng THEDOCGIA 14
2.2.7 Cấu trúc bảng KHOA 15
2.2.8 Cấu trúc bảng CHITIET_PM 15
2.3 Lược đồ quan hệ 16
2.4 Sơ đồ phân rã chức năng 17
CHƯƠNG 3 GIAO DIỆN CÁC CHỨC NĂNG 18
Đỗ Quang Huy
Trang 33.1 Giao diện màn hình chính trước khi đăng nhập 18
3.2 Giao diện đăng nhập 18
3.3 Giao diện màn hình chính sau khi đăng nhập thành công 19
3.4 Giao diện Đổi mật khẩu 19
3.5 Giao diện Sách 21
3.6 Giao diện Chọn Nhà xuất bản 22
3.7 Giao diện Chọn Tác giả 22
3.8 Giao diện Nhà xuất bản 23
3.9 Giao diện Thẻ độc giả 23
3.10 Giao diện Tác giả 24
3.11 Giao diện Quản trị viên 25
3.12 Giao diện Danh mục Sách 25
3.13 Giao diện Phiếu mượn 26
3.14 Giao diện Chi tiết phiếu mượn 27
3.15 Giao diện Thống kê độc giả 27
3.16 Giao diện Thống kê phiếu mượn 28
3.17 Giao diện Thống kê tổng quan 28
3.18 Giao diện Phiếu mượn quá hạn 29
3.19 Phân quyền tài khoản: 29
KẾT LUẬN 31
TÀI LIỆU THAM KHẢO 32
PHỤ LỤC 33
Đỗ Quang Huy
Trang 4DANH MỤC CÁC HÌNH VẼ
HÌNH 2-1 LƯỢC ĐỒ QUAN HỆ 16
HÌNH 2-2 SƠ ĐỒ PHÂN RÃ CHỨC NĂNG 17
HÌNH 3-1 GIAO DIỆN MÀN HÌNH CHÍNH 18
HÌNH 3-2 GIAO DIỆN MÀN HÌNH ĐĂNG NHẬP 18
HÌNH 3-3 GIAO DIỆN SAU KHI ĐĂNG NHẬP 19
HÌNH 3-4 GIAO DIỆN ĐỔI MẬT KHẨU 19
HÌNH 3-5 GIAO DIỆN ĐỔI MẬT KHẨU THẤT BẠI 20
HÌNH 3-6 GIAO DIỆN ĐỔI MẬT KHẨU THÀNH CÔNG 20
HÌNH 3-7 GIAO DIỆN QUẢN LÝ SÁCH 21
HÌNH 3-8 GIAO DIỆN CHỌN NHÀ XUẤT BẢN 22
HÌNH 3-9 GIAO DIỆN CHỌN TÁC GIẢ 22
HÌNH 3-10 GIAO DIỆN QUẢN LÝ NHÀ XUẤT BẢN 23
HÌNH 3-11 GIAO DIỆN QUẢN LÝ THẺ ĐỘC GIẢ 23
HÌNH 3-12 GIAO DIỆN QUẢN LÝ TÁC GIẢ 24
HÌNH 3-13 GIAO DIỆN QUẢN LÝ QUẢN TRỊ VIÊN 25
HÌNH 3-14 GIAO DIỆN DANH MỤC SÁCH 25
HÌNH 3-15 GIAO DIỆN QUẢN LÝ PHIẾU MƯỢN 26
HÌNH 3-16 GIAO DIỆN QUẢN LÝ CHI TIẾT PHIẾU MƯỢN 27
HÌNH 3-17 GIAO DIỆN THỐNG KÊ ĐỘC GIẢ 27
HÌNH 3-18 GIAO DIỆN THỐNG KÊ PHIẾU MƯỢN 28
HÌNH 3-19 GIAO DIỆN THỐNG KÊ TỔNG QUAN 28
HÌNH 3-20 GIAO DIỆN PHIẾU MƯỢN QUÁ HẠN 29
HÌNH 3-21 GIAO DIỆN THỂ HIỆN CÁC CHỨC NĂNG KHI CHƯA ĐĂNG NHẬP 29
HÌNH 3-22 GIAO DIỆN CÁC CHỨC NĂNG CỦA QUẢN TRỊ VIÊN 30
HÌNH 3-23 GIAO DIỆN CÁC CHỨC NĂNG CỦA TỔ TRƯỞNG THƯ VIỆN .30
Trang 5DANH MỤC CÁC BẢNG BIỂU
BẢNG 1-1 LỊCH SỬ CÁC PHIÊN BẢN C# 8
BẢNG 2-1 SÁCH 13
BẢNG 2-2 NHÀ XUẤT BẢN 13
BẢNG 2-3 TÁC GIẢ 14
BẢNG 2-4 THỂ LOẠI SÁCH 14
BẢNG 2-5 PHIẾU MƯỢN 14
BẢNG 2-6 THẺ ĐỘC GIẢ 15
BẢNG 2-7 KHOA 15
BẢNG 2-8 CHI TIẾT PHIẾU MƯỢN 15
BẢNG 2-9 QUẢN TRỊ VIÊN 16
Trang 6THÔNG TIN KẾT QUẢ ĐỒ ÁN MẠNG MÁY TÍNH
Mã môn học: 7080729
1 Thông tin chung
Tên đề tài: Xây dựng ứng dụng quản lý thư viện bằng ngôn ngữ C#
Sinh viên thực hiện: Đỗ Quang Huy
Xây dựng ứng dụng quản lý thư viện:
- Được xây dựng bằng ngôn ngữ C#, cơ sở dữ liệu Microsoft SQL Server
- Có đầy đủ các chức năng cơ bản như thêm, sửa, xóa các đối tượng (sách,thẻ độc giả, phiếu mượn,…); tìm kiếm thông tin; thống kê, tổng hợp,…
- Giao diện dễ nhìn, dễ sử dụng, có tính khoa học và thân thiện với người sửdụng
Trang 71 Nghiên cứu, khảo sát nhu cầu
Trang 8MỞ ĐẦU
1 Tổng quan tình hình nghiên cứu thuộc lĩnh vực của đề tài
Thư viện được coi là nơi lưu giữ trí tuệ của loài người Qua thời gian, nhu cầuđọc sách của độc giả ngày càng tăng Đi cùng với sự phát triển của các thư viện lànhu cầu của độc giả tăng lên, và số lượng sách trong thư viện cũng tăng lên rấtnhiều so với những hệ thống thư viện đơn giản và nhỏ lẻ trước đây Một yêu cầuđược đặt ra cùng với sự phát triển đó là làm thế nào để quản lý các thông tin trongthư viện một cách tốt nhất và có hiệu quả nhất Tuy nhiên, một số thư viện vẫn còn
sử dụng cách lưu trữ thủ công là ghi chép vào giấy, dẫn đến khó khăn trong việcquản lý sách và phục vụ độc giả
2 Tính cấp thiết, ý nghĩa khoa học và thực tiễn của đề tài
Tính cấp thiết: Xuất phát từ thực tế trên, cần thiết việc có một ứng dụng quản
lý thư viện hoạt động một cách đơn giản, hiệu quả thay thế cho cách quản lý cũ.Cùng với những kiến thức đã được học về ngôn ngữ lập trình C#, em quyết định lựa
chọn đề tài “Xây dựng ứng dụng quản lý thư viện bằng ngôn ngữ C#”.
Ý nghĩa khoa học: Trình bày các khái niệm, chức năng của ngôn ngữ C# và.NET framework Qua đó, áp dụng kiến thức để xây dựng một ứng dụng hoànchỉnh
Ý nghĩa thực tiễn: Kết quả đồ án có thể được tham khảo cho việc phát triểnứng dụng quản lý thư viện của các khóa sau
Trang 9CHƯƠNG 1 TỔNG QUAN VỀ LÝ THUYẾT LIÊN QUAN
1.1 Ngôn ngữ C#
1.1.1 Lịch sử ra đời
C# (đọc là "C thăng" hay "C sharp" ("xi-sáp")) là một ngôn ngữ lập trìnhhướng đối tượng được phát triển bởi Microsoft, là phần khởi đầu cho kế hoạch.NET của họ Tên của ngôn ngữ bao gồm ký tự thăng theo Microsoft nhưng theoECMA là C#, chỉ bao gồm dấu số thường Microsoft phát triển C# dựa trên C++ vàJava C# được miêu tả là ngôn ngữ có được sự cân bằng giữa C++, Visual Basic,Delphi và Java
C# được thiết kế chủ yếu bởi Anders Hejlsberg kiến trúc sư phần mềm nổitiếng với các sản phẩm Turbo Pascal, Delphi, J++, WFC
C# đã phát triển nhiều kể từ lần phát hành đầu tiên vào năm 2002 C# đượcgiới thiệu với NET Framework 1.0 và phiên bản hiện tại của C# là 6.0
Lịch sử phát triển của C# và các đặc điểm chính của từng phiên bản mô tảtrong bảng sau:
Version NET Framework Visual Studio Các tính năng quan trọng
C# 1.0 .NET Framework
1.0/1.1
Visual Studio NET 2002
Các chức năng cơ bản ban đầu
C# 2.0
.NET Framework
2.0
Visual Studio 2005
Hàm Anonumous
Các kiểu Nullable
Các lớp static
Delegate inference
Trang 10C# 3.0
.NET Framework
3.0/3.5
Visual Studio 2008
Tự động cài đặt property
Toán tử kiểm tra null
Chuỗi nội suy
Trang 111.1.2 Các đặc trưng của ngôn ngữ C#
C# là ngôn ngữ lập trình hướng đối tượng Nó có đặc điểm là :
Đơn giản: cung cấp cách tiếp cận có cấu trúc (để chia vấn đề thành nhiềuphần), tập hợp phong phú các hàm thư viện, kiểu dữ liệu,…
Hiện đại: dựa trên xu hướng hiện tại, mạnh mẽ và đơn giản để xây dựng cácứng dụng có khả năng mở rộng, có thể tương tác với hiệu suất cao
Hướng đối tượng: giúp việc phát triển và bảo trì dễ dàng hơn khi ngôn ngữlập trình hướng sự kiện, dễ quản lý khi quy mô dự án tăng lên
An toàn: chỉ có thể truy cập vị trí bộ nhớ mà có quyền thực thi, cải thiện tínhbảo mật của chương trình
Khả năng tương tác: cho phép các chương trình C# thực hiện hầu hết mọi thứ
Trang 12 Tốc độ nhanh: thời gian biên dịch và thực thi rất nhanh.
1.2 NET Framework
1.2.1 Giới thiệu
.NET framework là một nền tảng lập trình và cũng là một nền tảng thực thiứng dụng chủ yếu trên hệ điều hành Microsoft Windows được phát triển bởiMicrosoft Các chương trình được viết trên nền NET framework sẽ được triển khaitrong môi trường phần mềm (ngược lại với môi trường phần cứng) được biết đếnvới tên Common Language Runtime (CLR) Môi trường phần mềm này là một máy
ảo trong đó cung cấp các dịch vụ như an ninh phần mềm (security), quản lý bộnhớ (memory management), và các xử lý lỗi ngoại lệ (exception handling) Nhiềucông cụ được tạo ra để hỗ trợ xây dựng ứng dụng .NET, và IDE (IntegratedDevelopement Environment) được phát triển và hỗ trợ bởi chính Microsoft là VisualStudio
1.2.2 Chức năng
.NET framework bao gồm tập các thư viện lập trình lớn, và những thư việnnày hỗ trợ việc xây dựng các chương trình phần mềm như lập trình giao diện; truycập, kết nối cơ sở dữ liệu; ứng dụng web; các giải thuật, cấu trúc dữ liệu; giao tiếpmạng CLR cùng với bộ thư viện này là 2 thành phần chính của NET framework Net Framework cung cấp sẵn các thành phần được viết và thiết kế sẵn củaứng dụng, từ đó người lập trình chỉ cần học cách sử dụng và sáng tạo ra cách gắnkết các thành phần lại Chẳng hạn như một lập trình viên muốn ứng dụng của mình
có khả năng truy vấn, chỉ cần dùng Net Framework tìm code để phát triển thay vìphải ngồi và tự viết code từ đầu
Trang 13CHƯƠNG 2 PHÂN TÍCH, THIẾT KẾ VÀ XÂY DỰNG ỨNG DỤNG
2.1 Tìm hiểu hoạt động nghiệp vụ của thư viện
2.1.1 Quy trình hoạt động của thư viện
2.1.1.1 Quản lý sách, tài liệu
Thư viện tạo các lưu sách gồm các thông tin: mã số sách, tên tác giả, tên nhàxuất bản, năm xuất bản, số trang, số lượng, loại sách
Quản trị viên có quyền thay đổi các thông tin cuốn sách, trừ mã số sách
Quản trị viên có quyền xóa cuốn sách
Quản trị viên có quyền thay đổi các thông tin tác giả, trừ mã tác giả
Quản trị viên có quyền xóa tác giả
Trang 14 Sau khi nhận được yêu cầu mượn sách từ độc giả, quản trị viên sẽ lập phiếumượn sách gồm thông tin của độc giả, thông tin sách, ngày mượn, hạn trả, tìnhtrạng mượn.
2.1.1.5 Trả sách
Khi độc giả trả sách, quản trị viển kiểm tra, đối chiếu thẻ độc giả, sách vớiphiếu mượn rồi xác nhận độc giả đã trả sách Nếu quá hạn với hạn trả trên phiếumượn, độc giả có thể bị phạt
2.1.1.6 Thống kê
Khi có yêu cầu, quản trị viên có thể thống kê số lượng sách có trong thưviện, số thẻ độc giả, số phiếu mượn, số phiếu mượn quá hạn
2.1.2 Phân quyền quản trị
Tổ trưởng thư viện đăng nhập vào hệ thống, thêm, sửa xóa thông tin tàikhoản các quản trị viên khác
Các quản trị viên còn lại chỉ có thể làm các nghiệp vụ liên quan đến mượntrả sách
Độc giả chỉ có thể tra cứu thông tin sách
2.1.3 Yêu cầu hệ thống
Giúp độc giả tra cứu sách theo loại sách, theo tên sách, theo tác giả, theo nhàxuất bản, thể loại…
Cung cấp cho quản trị viên 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ê số sách có trong thư viện, số sách đang được cho mượn, số sáchđang quá hạn trả, số phiếu mượn
2.2 Thiết kế cơ sở dữ liệu
2.2.1 Cấu trúc bảng SACH
Thể hiện Sách, tài liệu Các cuốn sách, tài liệu phân biệt với nhau bởi mã sách
chính
Khóa
Trang 151 masach Varchar(10) x Mã sách, tài liệu
2 Tensach Varchar(50) Tên cuốn sách, tài liệu
Mã nhà xuất bản cuốn sách tham chiếu đển bảng NXB [2.2.2]
Mã tác giả cuốn sách tham chiếu đển bảng TACGIA [2.2.3]
7 Matheloai Varchar(10) x Mã thể loại
Khóa
1 Manxb Varchar(10) x Mã nhà xuất bản
2 Tennxb Nvarchar(50) Tên nhà xuất bản
Trang 163 Diachi Nvarchar(50) Địa chỉ nhà xuất bản
BẢNG 2-3 NHÀ XUẤT BẢN
2.2.3 Cấu trúc bảng TACGIA
Thể hiện Tác giả Các tác giả phân biệt với nhau bởi mã tác gải
2 Tentg Nvarchar(50) Họ tên tác giả
3 Namsinh int Năm sinh Không rõ thì để giá
trị null
4 Nammat int Năm mất Không rõ thì để giá trị null
5 Sdt Nvarchar(20) Số điện thoại của tác giả Khôngcó thì để giá trị null
BẢNG 2-4 TÁC GIẢ
2.2.4 Cấu trúc bảng LOAI
Thể hiện Thể loại Các thể loại phân biệt với nhau bởi mã thể loại
1 Maloai varchar(10) x Mã thể loại
Trang 172 Tenloai Nvarchar(50) Tên thể loại
BẢNG 2-5 THỂ LOẠI SÁCH
2.2.5 Cấu trúc bảng PHIEUMUON
Thể hiện Phiếu mượn Các phiếu mượn phân biệt với nhau bởi mã phiếumượn
1 Mapm Varchar(10) x Mã phiếu mượn
2 Mathe Varchar(10) x Mã thẻ độc giả tham chiếu đển bảng THEDOCGIA [2.2.6]
3 Maqtv Varchar(10) x Mã quản trị viên cho mượn tham chiếu đển bảng QTV
[2.2.9]
6 tinhtrang Nvarchar(15) Tình trạng phiếu mượn Là một trong 3 giá trị: Chưa trả, Đã trả
và Quá hạn trảBẢNG 2-6 PHIẾU MƯỢN
2.2.6 Cấu trúc bảng THEDOCGIA
Thể hiện Thẻ độc giả Các thẻ độc giả phân biệt với nhau bởi mã thẻ
Trang 181 Mathe Varchar(10) x Mã thẻ độc giả
2 Hoten Nvarchar(50) Họ tên độc giả
4 Makhoa Varchar(10) x Mã khoa tham chiếu đển bảng KHOA [2.2.7]
5 Sdt Varchar(11) Số điện thoại của độc giả
Khóa
2 Tenkhoa Nvarchar(50) Tên khoa
Trang 191 Machitiet Varchar(10) x Mã chi tiết phiếu mượn
2 Mapm Varchar(10) x Mã phiếu mượn tham chiếu đển
bảng PHIEUMUON [2.2.5]
3 Masach Varchar(10) x Mã sách tham chiếu đển bảng SACH [2.2.1]
BẢNG 2-9 CHI TIẾT PHIẾU MƯỢN
2.2.9 Cấu trúc bảng QTV
1 Maqtv Varchar(10) x Mã quản trị viên
2 hoten Varchar(10) Họ tên quản trị viên
3 namsinh Varchar(10) Năm sinh của quản trị viên
6 matkhau Varchar(14) Mật khẩu đăng nhập hệ thống của quản trị viên
BẢNG 2-10 QUẢN TRỊ VIÊN
Trang 202.3 Lược đồ quan hệ
HÌNH 2-1 LƯỢC ĐỒ QUAN HỆ
2.4 Sơ đồ phân rã chức năng
HÌNH 2-2 SƠ ĐỒ PHÂN RÃ CHỨC NĂNG
Trang 21CHƯƠNG 3 GIAO DIỆN CÁC CHỨC NĂNG
3.1 Giao diện màn hình chính trước khi đăng nhập
HÌNH 3-3 GIAO DIỆN MÀN HÌNH CHÍNHNếu chưa đăng nhập, người dùng chỉ có quyền xem Danh mục sách và Thôngtin ứng dụng, không thể quyền sử dụng các chức năng khác
3.2 Giao diện đăng nhập
HÌNH 3-4 GIAO DIỆN MÀN HÌNH ĐĂNG NHẬP
Trang 22Chức năng này cho phép quản trị viên đăng nhập vào hệ thống với mã quản trịviên và mật khẩu
3.3 Giao diện màn hình chính sau khi đăng nhập thành công
HÌNH 3-5 GIAO DIỆN SAU KHI ĐĂNG NHẬP
3.4 Giao diện Đổi mật khẩu
HÌNH 3-6 GIAO DIỆN ĐỔI MẬT KHẨUGiao diện này cho phép người dùng tiến hành đổi mật khẩu
Trang 23Phải nhập đúng mật khẩu cũ; mật khẩu mới và mật khẩu nhập lại phải trùngnhau thì mới cập nhật thành công.
HÌNH 3-7 GIAO DIỆN ĐỔI MẬT KHẨU THẤT BẠI
HÌNH 3-8 GIAO DIỆN ĐỔI MẬT KHẨU THÀNH CÔNG
Trang 243.5 Giao diện Sách
HÌNH 3-9 GIAO DIỆN QUẢN LÝ SÁCHCác chức năng trên giao diện:
Thêm: Cho phép người dùng thêm các thông tin sách, tài liệu mới
Cập nhật: sửa các thông tin của sách, tài liệu, trừ thay đổi mã sách
Xóa: Xóa một cuốn sách trong danh sách
Chọn thông tin sách: Khi bấm vào dòng nào trong listview, thông tin củasách đó sẽ hiển thị lên các textbox
Tìm: Tìm các thông tin của cuốn sách dựa vào mã sách
Chọn Nhà xuất bản: Hiện lên bảng chọn Nhà xuất bản, bấm đúp vào Lấythông tin Nhà xuất bản từ trong cơ dở dữ liệu (biểu tượng kính lúp dưới ô MãNhà xuất bản) [3.6]
Chọn Tác giả: Lấy thông tin Tác giả từ trong cơ dở dữ liệu (biểu tượng kínhlúp dưới ô Mã Tác giả) [3.7]
Nếu chưa có NXB hoặc tác giả cuốn sách có trong cơ sở dữ liệu, quản trị
viên có quyền tạo Tạo mới NXB hoặc Tạo mới Tác giả (dấu +).
Trang 253.6 Giao diện Chọn Nhà xuất bản
HÌNH 3-10 GIAO DIỆN CHỌN NHÀ XUẤT BẢNCác chức năng trên giao diện:
Tìm kiếm Nhà xuất bản theo mã Nhà xuất bản hoặc theo tên Nhà xuất bản
3.7 Giao diện Chọn Tác giả
HÌNH 3-11 GIAO DIỆN CHỌN TÁC GIẢCác chức năng trên giao diện:
Tìm kiếm Tác giả theo mã Tác giả hoặc theo họ tên Tác giả
Trang 263.8 Giao diện Nhà xuất bản
HÌNH 3-12 GIAO DIỆN QUẢN LÝ NHÀ XUẤT BẢNCác chức năng trên giao diện:
Thêm: Tạo mới Nhà xuất bản
Tìm kiếm: Tìm các thông tin của NXB dựa vào mã NXB
Cập nhật: sửa tất cả các mục trên form, trừ mã NXB
Xóa: xóa NXB trong danh sách
Xem chi tiết: Khi bấm vào dòng nào trong listview, thông tin của NXB đó sẽhiển thị lên các textbox
3.9 Giao diện Thẻ độc giả
HÌNH 3-13 GIAO DIỆN QUẢN LÝ THẺ ĐỘC GIẢCác chức năng trên giao diện:
Trang 27Thêm: Tạo mở Thẻ độc giả
Tìm: Tìm các thông tin của thẻ độc giả dựa vào mã thẻ độc giả
Cập nhật: sửa tất cả các mục trên form, trừ mã thẻ độc giả
Xóa: xóa thẻ độc giả trong danh sách
Xem chi tiết: Khi bấm vào dòng nào trong listview, thông tin của Thẻ độc giả
đó sẽ hiển thị lên các textbox
3.10 Giao diện Tác giả
HÌNH 3-14 GIAO DIỆN QUẢN LÝ TÁC GIẢCác chức năng trên giao diện:
Thêm: tạo mới tác giả
Cập nhật: sửa tất cả các mục trên form, trừ mã tác giả
Xóa: xóa tác giả trong danh sách
Xem chi tiết: Khi bấm vào dòng nào trong listview, thông tin của Tác giả đó
sẽ hiển thị lên các textbox