Hướng dẫn cài đặt chương trình quản lý thư viện

178 400 0
Hướng dẫn cài đặt chương trình quản lý thư viện

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Hướng dẫn cài đặt chương trình quản lý thư viện

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN Đinh Bá Thắng - Đặng Bác Văn HƯỚNG DẪN CÀI ĐẶT CHƯƠNG TRÌNH QUẢN LÝ THƯ VIỆN Tháng 07/2005 MỤC LỤC Chương 1.1 Làm việc với MS SQL Server Cài đặt MS SQL Server 1.1.1 Yêu cầu cấu hình 1.1.2 Cài đặt 1.2 Tạo kết nối đến SQL server: 18 1.2.1 Sử dụng Enterprise Manager: 18 1.3 Sử dụng Query Analyzer: 20 1.4 Tạo Database: 21 1.4.1 Enterprise Manager: .21 1.4.2 SQL Query Analyzer: 23 1.5 Tạo Table: 23 1.5.1 Enterprise Manager: .23 1.5.2 SQL Query Analyzer: 27 1.6 Tạo Diagram hay khoá ngoại: 28 1.6.1 Tạo Diagram Enterprise Manager: 28 1.6.2 Tạo khoá ngoại (foreign key) Query Analyzer: .32 1.7 Import/Export data: 33 Chương Xây dựng lớp giao tiếp CSDL 36 2.1 Chức 36 2.2 Mục đích .36 2.3 Lớp Database 36 2.3.1 Hàm tạo 36 2.3.2 Execute 37 2.3.3 ExecuteNonQuery 37 Chương Xây dựng hình 38 Chương Xây dựng hình danh mục 50 4.1 Màn hình Bằng cấp .50 4.1.1 Lớp BangCap_Form .50 4.1.2 Lớp BangCap 53 4.2 Màn hình Bộ phận .55 4.2.1 Lớp BoPhan_Form 56 4.2.2 Lớp BoPhan .58 4.3 Màn hình Chức vụ .60 4.3.1 Lớp ChucVu_Form 61 4.3.2 Lớp ChucVu 63 4.4 Màn hình Loại độc giả 65 4.4.1 Lớp LoaiDocGia_Form 66 4.4.2 Lớp LoaiDocGia 68 4.5 Màn hình thể loại sách 70 4.5.1 Lớp TheLoaiSach_Form 71 4.5.2 Lớp TheLoaiSach 73 4.6 Màn hình Lý lý 75 4.6.1 Lớp LyDoThanhLy_Form .76 4.6.2 Lớp LyDoThanhLy 78 4.7 Màn hình Bảng tham số 80 4.7.1 Lớp ThamSo_Form 82 4.7.2 Lớp LyDoThanhLy 83 Chương Xây dựng hình quản lý .85 5.1 Màn hình Tiếp nhận nhân viên 85 5.1.1 Lớp NhanVien_Form .86 5.1.2 Lớp NhanVien 91 5.1.3 New 92 5.1.4 LayDanhSachBangCap 92 5.1.5 LayDanhSachBoPhan 92 5.1.6 LayDanhSachChucVu 92 5.1.7 LayDanhSachNhanVien 92 5.1.8 ThemNhanVien 92 5.1.9 XoaNhanVien 93 5.1.10 CapNhatNhanVien 94 5.2 Màn hình lập thẻ độc giả 94 5.2.1 DocGia_Form 96 5.2.2 DocGia 101 5.2.3 New 102 5.2.4 LayDanhSachLoaiDocGia .102 5.2.5 LayDanhSachNhanVien .102 5.2.6 LayDanhSachDocGia 102 5.2.7 DocThamSo 102 5.2.8 ThemDocGia 102 5.2.9 XoaDocGia 103 5.2.10 CapNhatDocGia .104 5.3 Màn hình TIếp nhận sách 104 5.3.1 Sach_Form .106 5.3.2 Sach 111 5.3.3 LayDanhSachTheLoai 111 5.3.4 LayDanhSachNhanVien .111 5.3.5 LayDanhSachSach 111 5.3.6 DocThamSo 112 5.3.7 ThemSach .112 5.3.8 XoaSach 113 5.3.9 CapNhatSach 113 5.4 Màn hình Cho mượn sách 114 5.4.1 PhieuMuonSach_Form 115 5.4.2 PhieuMuonSach .119 5.4.3 New 119 5.4.4 LayDanhSachDocGia 120 5.4.5 LayDanhSachPhieuMuon 120 5.4.6 LayDanhSachSach 120 5.4.7 LayDanhSachSachMuon 120 5.4.8 DocThamSo 120 5.4.9 TheHetHan .121 5.4.10 ThemPhieuMuon 121 5.4.11 XoaPhieuMuon 121 5.4.12 CapNhatPhieuMuon .122 5.4.13 DaMuonDuSach 122 5.4.14 ThemSachMuon .122 5.4.15 XoaSachMuon 123 5.5 Màn hình chi tiết mượn sách 123 5.5.1 5.6 ChiTietPhieuMuon_Form 125 Màn hình Nhận trả sách .127 5.6.1 PhieuTraSach_Form .129 5.6.2 PhieuTraSach 133 5.6.3 New 133 5.6.4 LayDanhSachDocGia 133 5.6.5 LayDanhSachPhieuTra 134 5.6.6 LayDanhSachSachMuon 134 5.6.7 LayDanhSachSachTra 134 5.6.8 ThemPhieuTra 134 5.6.9 XoaPhieuTra 135 5.6.10 CapNhatPhieuTra 135 5.6.11 DocThamSo 136 5.6.12 ThemSachTra 136 5.6.13 XoaSachTra 136 5.7 Màn hình chi tiết trả sách 136 5.7.1 5.8 ChiTietPhieuTra_Form 138 Màn hình Lập phiếu thu tiền phạt 141 5.8.1 PhieuThuTien_Form 143 5.8.2 PhieuThuTien .148 5.8.3 New 148 5.8.4 LayDanhSachNhanVien .148 5.8.5 LayDanhSachDocGia 149 5.8.6 LayDanhSachPhieuThuTien 149 5.8.7 LayTienNoCuaDocGia 149 5.8.8 ThemPhieuThuTien .149 5.8.9 XoaPhieuThuTien 150 5.8.10 CapNhatPhieuThuTien 150 5.9 Màn hình Ghi nhận sách 151 5.9.1 SachMat_Form .152 5.9.2 SachMat 157 5.9.3 New 157 5.9.4 LayDanhSachNhanVien .158 5.9.5 LayDanhSachDocGia 158 5.9.6 LayDanhSachSach 158 5.9.7 LayDanhSachSachMat 158 5.9.8 TienPhatKhongNhoHonGiaTriSach 158 5.9.9 DocThamSo 158 5.9.10 SachDaMat 159 5.9.11 ThemSachMat 159 5.9.12 XoaSachMat 159 5.9.13 CapNhatSachMat 160 5.10 Màn hình Thanh lý sách .160 5.10.1 PhieuThanhLy_Form .161 5.10.2 PhieuThanhLy 165 5.10.3 New 166 5.10.4 LayDanhSachNhanVien .166 5.10.5 LayDanhSachPhieuThanhLy 166 5.10.6 LayDanhSachSach 166 5.10.7 LayDanhSachSachThanhLy 167 5.10.8 LayDanhSachLyDoThanhLy 167 5.10.9 ThemPhieuThanhLy .167 5.10.10 XoaPhieuThanhLy 168 5.10.11 CapNhatPhieuThanhLy 168 5.10.12 ThemSachThanhLy 168 5.10.13 XoaSachThanhLy 169 5.11 Màn hình chi tiết lý sách 169 5.11.1 ChiTietPhieuThanhLy_Form .170 Chương Xây dựng hình Báo cáo – Thống kê 173 6.1.1 New 173 6.1.2 TinhHinhMuonSach .173 6.1.3 DocGiaNoTienPhat 174 6.2 Màn hình Thống kê tình hình mượn sách theo thể loại 174 6.3 Màn hình Thống kê độc giả nợ tiền phạt 176 Chương - Làm việc với MS SQL Server Chương Làm việc với MS SQL Server 1.1 Cài đặt MS SQL Server 1.1.1 Yêu cầu cấu hình Trong phạm vi chương trình này, đề cập tới phiên Microsoft SQL Server Personal Edition Sau yêu cầu phần cứng: Thành phần Yêu cầu tối thiểu Máy tính Intel dạng tương thích Pentium 166 cấu hình cao Bộ nhớ Personal Edition: tối thiểu 64MB cho Windows 2000, tối thiểu 32MB cho windows khác Yêu cầu không gian đĩa Màn hình Hệ điều hành SQL Server database components: 95270MB, thông thường 250MB Analysis Services: tối thiểu 50MB, chuẩn 130MB English Query : 80MB Chỉ cài phiên Desktop Engine: 44MB VGA độ phân giải cao 800x600 độ phân giải tối thiểu cho công cụ chế độ đồ họa SQL Server Các phiên Windows từ Windows NT 4.0 Windows 98 trở sau hệ điều hành cấp cao khác 1.1.2 Cài đặt Đưa đĩa CD vào ổ CDROM, ổ đĩa CDROM không cài đặt chế độ tự động chạy chạy tập tin autorun.exe thư mục gốc ổ đĩa CD Nếu sử dụng hệ điều hành Windows 95 nhấn vào “SQL Server 2000 Prequisites” Chương - Làm việc với MS SQL Server Sau chọn “Install Common Controls Library Update" Sau cài đặt yêu cầu cập nhật cho phiên Windows 95 (nếu có), bắt đầu cài đặt thành phần MS SQL Server Chương - Làm việc với MS SQL Server Chúng ta chọn "Install Database Server" hình Chúng ta chọn Next 10 Chương - Xây dựng hình quản lý Dim f As New ChiTietPhieuThanhLy_Form(ptl) Dim index As Integer = PTLList.SelectedIndices.Item(0) Dim dt As DataTable = ptl.PhieuThanhLyInfo Dim d As Date = dt.Rows(index)("NgayThanhLy") f.txtNhanVien.Text = dt.Rows(index)("HoTenNhanVien") f.txtNgayTra.Text = d.Month.ToString + "/" + d.Day.ToString + "/" + d.Year.ToString f.MaPhieuThanhLy = ptl.PhieuThanhLyInfo.Rows(index)("MaPhieuThanhLy") f.ShowDialog() End If End Sub Tiếp theo, ta viết mã nguồn xử lý cho tác vụ thêm, xóa, sửa phiếu lý Để làm việc này, ta viết hàm xử lý kiện click nút Toolbar Trước hết ta viết hàm xử lý cho tác vụ thêm phiếu lý Private Sub ToolBar1_ButtonClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ToolBarButtonClickEventArgs) Handles ToolBar1.ButtonClick Select Case ToolBar1.Buttons.IndexOf(e.Button) Case 'Them If KiemTraNhap() = True Then ptl.ThemPhieuThanhLy(dtNgayThanhLy.Value.ToString, cbNhanVien.SelectedIndex) HienThiDanhSachPhieuThanhLy() MessageBox.Show("Phiếu lý thêm thành công", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information) End If Khi thêm phiếu lý, cần phải kiểm tra thông tin nhập vào có hợp lệ không, việc thực thông qua hàm KiemTraNhap Nếu không tin nhập không hợp lệ thông báo cho người dùng Sau đảm bào thông tin nhập hợp lệ, tiến hành thêm phiếu lý vào sở liệu nhờ biến thành phần ptl thuộc lớp PhieuThanhLy Tiếp đó, danh sách phiếu lý thay đổi, ta tiến hành nạp lại liệu để cập nhật lại danh sách phiếu lý hiển thị hình Sau thị thông báo thêm thành công cho người dùng Hàm KiemTraNhap cài đặt sau: Private Function KiemTraNhap() As Boolean Return True End Function Tại thời điểm chưa có ràng buộc nên hàm KiemTraNhap đơn giản Sau có xuất ràng buộc, việc thay đổi hàm này, phần lại chương trình giữ nguyên Sau viết xong hàm cho kiện thêm, tiếp tục viết hàm xử lý cho kiện xóa Case 'Xóa If PTLList.SelectedIndices.Count > Then If MessageBox.Show("Bạn có chắn muốn xóa phiếu lý không ?", "Hỏi lại", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then 164 Chương - Xây dựng hình quản lý ptl.XoaPhieuThanhLy(PTLList.SelectedIndices.Item(0)) 'Xóa phiếu mượn khỏi list PTLList.Items.Remove(PTLList.SelectedItems(0)) 'Thông báo xóa thành công MessageBox.Show("Phiếu lý xóa.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information) End If Else MessageBox.Show("Bạn phải chọn dòng danh sách trước", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Exclamation) End If Đối với sư kiện xóa, phải hỏi lại người dùng cho chắn Chỉ họ xác nhận lại họ thực muốn xóa, tiến hành xóa Tương tự thêm, việc xóa thực thông qua biến thành phần ptl thuộc lớp PhieuThanhLy, sau xóa hiển thị lại danh sách phiếu lý Vì ô nhập liệu nên không cần phải có hàm SoanLai hình khác Tiếp đến, viết hàm xử lý cho tác vụ cập nhật phiếu lý Case 'Cap Nhat If PTLList.SelectedIndices.Count > Then If KiemTraNhap() = True Then ptl.CapNhatPhieuThanhLy(PTLList.SelectedIndices.Item (0), dtNgayThanhLy.Value.ToString, cbNhanVien.SelectedIndex) HienThiDanhSachPhieuThanhLy() 'Thong bao cap nhat cong MessageBox.Show("Phiếu lý cập nhật thành công", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information) End If Else MessageBox.Show("Bạn phải chọn dòng danh sách trước", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Exclamation) End If Tương tự thêm phiếu lý, tiến hành cập nhật, ta phải kiểm tra xem liệu có hợp lệ không hàm KiemTraNhap Nếu liệu không hợp lệ thông báo cho người dùng, hợp lệ tiến hành cập nhật nhờ biến thành phần ptl, sau hiển thị lại danh sách phiếu lý Sau thông báo cho người dùng biết việc cập nhật tiến hành thành công Đến cài đặt xong lớp SachMat_Form Vì lớp giao diện nên phục phụ cho việc tương tác với người dụng, tác vụ xử lý thông tin ủy nhiệm cho biến thuộc lớp SachMat 5.10.2 PhieuThanhLy Lớp PhieuThanhLy đảm nhận việc xử lý cho hình lý sách 165 Chương - Xây dựng hình quản lý Lớp Phiếu lý Thuộc tính Tên db ptl_dt nv_dt ld_dt Phương thức Tên New LayDanhSachNhanVien LayDanhSachPhieuThanhLy LayDanhSachSach LayDanhSachSachThanhLy LayDanhSachLyDoThanhLy ThemPhieuThanhLy XoaPhieuThanhLy CapNhatPhieuThanhLy ThemSachThanhLy XoaSachThanhLy 5.10.3 Lớp Database DataTable DataTable DataTable Ý nghĩa Giao tiếp CSDL Danh sách phiếu lý Danh sách nhân viên Danh sách lý lý Ý nghĩa Hàm tạo Lấy danh sách nhân viên Lấy danh sách phiếu lý Lấy danh sách sách Lấy danh sách sách lý Lấy danh sách lý lý Thêm phiếu lý Xóa phiếu lý Cập nhật phiếu lý Thêm sách vào danh sách vào danh sách lý Xóa sách khỏi danh sách lý New Public Sub New() db = New Database(MainForm.SvrName, MainForm.DbName, True, "", "") End Sub 5.10.4 LayDanhSachNhanVien Public Function LayDanhSachNhanVien() As DataTable 'Chúng ta hiển thị nhân viên thuộc phận thủ kho nv_dt = db.Execute("Select MaNhanVien, HoTenNhanVien from NHANVIEN nv, BOPHAN bp" + _ " where nv.MaBoPhan = bp.MaBoPhan and bp.TenBoPhan like N'%thủ%kho%'") Return nv_dt End Function 5.10.5 LayDanhSachPhieuThanhLy Public Function LayDanhSachPhieuThanhLy() As DataTable ptl_dt = db.Execute("Select MaPhieuThanhLy, NgayThanhLy, HoTenNhanVien from PHIEUTHANHLY ptl, NHANVIEN nv where ptl.MaNhanVien = nv.MaNhanVien") Return ptl_dt End Function 5.10.6 LayDanhSachSach Public Function LayDanhSachSach() As DataTable 166 Chương - Xây dựng hình quản lý Dim dt As DataTable 'Lấy danh sách sách CHƯA bị lý, tức select sách bảng SACH mà không nằm bảng CHITIETPHIEUTHANHLY Dim str As String str = "Select MaSach,TenSach,TenTheLoai,TacGia from SACH s,THELOAISACH tl " + _ "where s.MaTheLoai = tl.MaTheLoai and " + _ "s.MaSach not in (Select MaSach from CHITIETPHIEUTHANHLY) " + _ "order by s.TenSach" dt = db.Execute(str) Return dt End Function 5.10.7 LayDanhSachSachThanhLy Public Function LayDanhSachSachThanhLy(ByVal MaPTL As Integer) As DataTable Dim dt As DataTable Dim str As String 'Do phải hiển thị sách mượn nên phải truy vấn thông tin chi tiết chúng str = "Select s.MaSach,s.TenSach,TenLyDo from CHITIETPHIEUTHANHLY cttl,SACH s,LYDOTHANHLY ld " + _ "where cttl.MaSach = s.MaSach and cttl.MaLyDo = ld.MaLyDo and " + _ "MaPhieuThanhLy = " + MaPTL.ToString dt = db.Execute(str) Return dt End Function 5.10.8 LayDanhSachLyDoThanhLy Public Function LayDanhSachLyDoThanhLy() As DataTable 'Chúng ta show lên nhân viên thuộc phận thủ kho ld_dt = db.Execute("Select * from LYDOTHANHLY order by TenLyDo") Return ld_dt End Function 5.10.9 ThemPhieuThanhLy Tham số: Tên Kiểu / Lớp ngaythanhly String index_nv Integer Kết trả về: True/False Mã nguồn: Ý nghĩa Ngày lý Số thứ tự nhân viên lý Public Sub ThemPhieuThanhLy(ByVal ngaythanhly As String, ByVal index_nv As Integer) Dim dt As DataTable dt = db.Execute("select MaPhieuThanhLy from PHIEUTHANHLY where MaPhieuThanhLy >= all (select MaPhieuThanhLy from PHIEUTHANHLY)") Dim MaPhieu As Integer MaPhieu = dt.Rows(0)(0) + Dim str As String str = "Insert into PHIEUTHANHLY values(" + MaPhieu.ToString + _ 167 Chương - Xây dựng hình quản lý ",'" + ngaythanhly + "'," + nv_dt.Rows(index_nv)("MaNhanVien").ToString + ")" db.ExecuteNonQuery(str) 'Cập nhật lại ptl_dt LayDanhSachPhieuThanhLy() End Sub 5.10.10 XoaPhieuThanhLy Tham số: Tên index Mã nguồn: Kiểu / Lớp Integer Ý nghĩa Số thứ tự phiếu lý cần xóa Public Sub XoaPhieuThanhLy(ByVal index As Integer) Dim str As String str = "Delete from PHIEUTHANHLY where MaPhieuThanhLy = " + ptl_dt.Rows(index)("MaPhieuThanhLy").ToString db.ExecuteNonQuery(str) 'Cập nhật lại ptl_dt ptl_dt.Rows.RemoveAt(index) End Sub 5.10.11 CapNhatPhieuThanhLy Tham số: Tên Kiểu / Lớp index Integer ngaythanhly String index_nv Integer Kết trả về: True/False Mã nguồn: Ý nghĩa Số thứ tự phiếu lý cần cập nhật Ngày lý Số thứ tự nhân viên lý Public Sub CapNhatPhieuThanhLy(ByVal index_ptl As Integer, ByVal ngaythanhly As String, ByVal index_nv As Integer) Dim str As String str = "Update PHIEUTHANHLY set NgayThanhLy = '" + ngaythanhly.ToString + _ "',MaNhanVien = " + nv_dt.Rows(index_nv)("MaNhanVien").ToString + _ " where MaPhieuThanhLy = " + ptl_dt.Rows(index_ptl)("MaPhieuThanhLy").ToString db.ExecuteNonQuery(str) End Sub 5.10.12 ThemSachThanhLy Public Sub ThemSachThanhLy(ByVal MaPhieuThanhLy As String, ByVal MaSach As String, ByVal index_ld As Integer) Dim str As String str = "Insert into CHITIETPHIEUTHANHLY values(" + MaPhieuThanhLy + _ "," + MaSach + "," + ld_dt.Rows(index_ld)("MaLyDo").ToString + ")" db.ExecuteNonQuery(str) 168 Chương - Xây dựng hình quản lý End Sub 5.10.13 XoaSachThanhLy Public Sub XoaSachThanhLy(ByVal MaPhieuThanhLy As String, ByVal MaSach As String) Dim str As String str = "Delete from CHITIETPHIEUTHANHLY where MaPhieuThanhLy = " + MaPhieuThanhLy + _ " and MaSach = " + MaSach db.ExecuteNonQuery(str) End Sub 5.11 Màn hình chi tiết lý sách Xây dựng hình sau: STT Tên Control lblNgayThanhLy lblNgay Loại Label Label Tiêu đề (Caption) “Ngày lý” Giá trị ngày lý 169 Chương - Xây dựng hình quản lý lblNguoiThanhLy Label “Người lý” lblNguoi Label Họ tên người lý group1 GroupBox lblSachHienCo Label “Sách có” lblSach Label Giá trị số sách có SHCList ListView btnChon Button “Chọn” 10 btnBoChon Button “Bỏ chọn” 11 lblSachThanhLy Label “Sách lý” 12 lblSachTL Label Giá trị số sách lý 13 STLList ListView Màn hình lý sách cài đặt thành lớp: lớp ChiTietPhieuThanhLy_Form lớp giao diện lớp PhieuThanhLy lớp xử lý Trong lớp PhieuThanhLy trình bày 5.11.1 ChiTietPhieuThanhLy_Form Bên cạnh controls mô tả trên, lớp ChiTietPhieuThanhLy_Form biến thành phần phương thức sau: Lớp ChiTietPhieuThanhLy_Form Thuộc tính Tên Lớp Ý nghĩa ptl PhieuThanhLy Biến thành phần đảm nhận việc xử lý thông tin MaPhieuThanhLy Integer Mã phiếu lý hành Các hàm xử lý biến cố Tên Điều kiện phát sinh Ý nghĩa ChiTietPhieuThanhLy_Form_Load Form load Hiển thị danh sách sách có sách lý phiếu hành btnChon_Click Khi người dùng click nút Đưa sách vào btnChon danh sách lý btnBoChon_Click Khi người dùng click nút Đưa sách btnBoChon khỏi danh sách lý SachList_DoubleClick Khi người dùng double Đưa sách vào click SachList danh sách lý TLList_DoubleClick người dùng double Đưa sách click TLList khỏi danh sách lý Phương thức Tên Ý nghĩa HienThiDanhSachSach Hiển thị danh sách sách có lên hình 170 Chương - Xây dựng hình quản lý HienThiDanhSachSachThanhLy Hiển thị danh sách sách lý lên hình ThemSachThanhLy Đưa sách vào danh sách lý XoaSachThanhLy Đưa sách khỏi danh sách lý Khi hình vứa load, ứng dụng phải hiển thị cho người dùng thông tin phiếu lý (ngày lý, người lý) xét, đồng thời hiển thị danh sách sách có thư viện sách lý phiếu lý Ta viết hàm xử lý cho kiện form load: Private Sub ChiTietPhieuThanhLy_Form_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load HienThiDanhSachSach() HienThiDanhSachSachThanhLy() End Sub Trong đó, hàm hiển thị viết sau: Private Sub HienThiDanhSachSach() SachList.Items.Clear() Dim s_dt As DataTable = ptl.LayDanhSachSach Dim i As Integer Dim str As String Dim lvi As ListViewItem For i = To s_dt.Rows.Count - str = s_dt.Rows(i)("TenSach") lvi = SachList.Items.Add((i + 1).ToString) str = s_dt.Rows(i)("MaSach") lvi.SubItems.Add(str) str = s_dt.Rows(i)("TenSach") lvi.SubItems.Add(str) str = s_dt.Rows(i)("TenTheLoai") lvi.SubItems.Add(str) str = s_dt.Rows(i)("TacGia") lvi.SubItems.Add(str) Next txtNumSach.Text = s_dt.Rows.Count.ToString End Sub Private Sub HienThiDanhSachSachThanhLy() TLList.Items.Clear() Dim sm_dt As DataTable = ptl.LayDanhSachSachThanhLy(MaPhieuThanhLy) Dim i As Integer Dim str As String Dim lvi As ListViewItem For i = To sm_dt.Rows.Count - 'Đưa thông tin chi tiết (thể loại, tác giả ) lên list view 'và tên sách lên SMList lvi = TLList.Items.Add((i + 1).ToString) str = sm_dt.Rows(i)("MaSach") lvi.SubItems.Add(str) str = sm_dt.Rows(i)("TenSach") lvi.SubItems.Add(str) str = sm_dt.Rows(i)("TenLyDo") lvi.SubItems.Add(str) Next 171 Chương - Xây dựng hình quản lý txtNumThanhLy.Text = sm_dt.Rows.Count.ToString End Sub Tất xử lý ủy nhiệm cho biến thành phần ptl thuộc lớp PhieuThanhLy, phương thức lớp giao diện đơn giản lấy kết trả hiển thị lên hình Tiếp theo, cài đặt chức cho hình Đầu tiên chức thêm sách vào danh sách lý, viết hàm xử lý cho kiện click nút btnChon sau: Private Sub btnChon_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnChon.Click ThemSachThanhLy() End Sub Trong đó, hàm ThemSachThanhLy: Private Sub ThemSachThanhLy() If (SachList.SelectedIndices.Count > 0) Then Dim lvi As ListViewItem = SachList.SelectedItems(0) Dim f As New ChonLyDo_Form(ptl) If f.ShowDialog = DialogResult.OK Then 'Cập nhật lại CSDL ptl.ThemSachThanhLy(MaPhieuThanhLy.ToString, lvi.SubItems(1).Text, f.cbLyDo.SelectedIndex) 'Refresh HienThiDanhSachSach() HienThiDanhSachSachThanhLy() End If End If End Sub Tương tự, ta cài đặt chức xóa sách khỏi danh sách lý cách viết hàm xử lý cho kiện click nút btnBoChon: Private Sub btnBoChon_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBoChon.Click XoaSachThanhLy() End Sub Để tăng tính tiện dụng cho chương trình, thay phải chọn sách nhấn nút Chọn hay Bỏ Chọn, ta cho phép người dùng double click lên sách danh sách sách có để đưa danh sách sách lý, double click lên danh sách sách lý loại sách khỏi danh sách lý Để vậy, ta viết hàm xử lý cho kiện double click list view Private Sub SachList_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles SachList.DoubleClick ThemSachThanhLy() End Sub Private Sub TLList_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles TLList.DoubleClick XoaSachThanhLy() End Sub Đến cài đặt xong hình chi tiết lý sách 172 Chương - Xây dựng hình báo cáo-thống kê Chương Xây dựng hình Báo cáo – Thống kê Do công việc báo cáo thống kê chủ yếu tìm kiếm tính toán, ta xây dựng lớp xử lý cho tất hình thống kê – lớp BaoCaoThongKe Lớp gồm phương thức nhận vào tiếu chí thông kế, trả bảng liệu ứng với kết tìm kiếm Lớp BaoCaoThongKe Thuộc tính Tên Lớp Ý nghĩa db Database Giao tiếp CSDL Phương thức Tên Ý nghĩa New Hàm tạo TinhHinhMuonSach Thống kê tình hình mượn sách DocGiaNoTienPhat Thống kê độc giả nợ tiền phạt 6.1.1 New Public Sub New() db = New Database(MainForm.SvrName, MainForm.DbName, True, "", "") End Sub 6.1.2 TinhHinhMuonSach Tham số: Tên Kiểu / Lớp thang Integer nam Integer Kết trả về: DataTable Mã nguồn: Ý nghĩa Tháng cần thống kê Năm cần thống kê Public Function TinhHinhMuonSach(ByVal thang As String, ByVal nam As String) As DataTable Dim dt As DataTable Dim str As String ‘Phát sinh câu lệnh truy vấn chọn tất sách mượn tháng/năm chọn str = "select TenTheLoai,count(s.MaSach) as SoLuotMuon " + _ "from PHIEUMUONSACH pm, CHITIETPHIEUMUON ct, SACH s, THELOAISACH tl " + _ "where ct.MaSach = s.MaSach and s.MaTheLoai = tl.MaTheLoai and " + _ "pm.MaPhieuMuon = ct.MaPhieuMuon and month(NgayMuon) = " + thang + _ " and year(NgayMuon) = " + nam + " group by TenTheLoai" dt = db.Execute(str) Return dt End Function 173 Chương - Xây dựng hình báo cáo-thống kê 6.1.3 DocGiaNoTienPhat Public Function DocGiaNoTienPhat() Dim dt As DataTable Dim str As String ‘Phát sinh câu lênh truy vấn chọn tất độc giả có số tiền phạt > str = "Select HoTenDocGia,TienNo from DOCGIA where TienNo > 0" dt = db.Execute(str) Return dt End Function 6.2 Màn hình Thống kê tình hình mượn sách theo thể loại Màn hình giúp người quản lý theo dõi thông tin mượn sách tháng cụ thể Người quản lý nhập tháng/năm vào nhấn nút xem, tính hình mượn sách thuộc tất thể loại hiển thị listview Xây dựng hình theo hình sau: STT Tên Control Loại Tiêu đề (Caption) 174 Chương - Xây dựng hình báo cáo-thống kê lblTieude Label “Báo cáo thống kê tình hình mượn sách theo thể loại” “Tháng” lblThang Label txtThang Textbox lblNam Label “Năm” txtNam Textbox MSList Listview lblTongSoLuotMuon Label “Tổng số lượt mượn” lblTong Label “Tổng” btnDong Button “Đóng” 10 btnXem Button “Xem” Đối với hình này, ta đơn giản cài đặt hàm xử lý cho kiện click button btnXem Private Sub btnXem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnXem.Click 'Kiểm tra điều kiện tháng/năm nhập vào If (Not IsNumeric(txtThang.Text)) Or (Not IsNumeric(txtNam.Text)) Then MessageBox.Show("Thắng năm nhập vào phải số", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning) Return End If If txtThang.Text = "" Or txtNam.Text = "" Then MessageBox.Show("Bạn phải nhập tháng năm", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning) Return End If If CInt(txtThang.Text) < Or CInt(txtThang.Text) > 12 Then MessageBox.Show("Thắng phải từ đến 12", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning) Return End If TKList.Items.Clear() Dim dt As DataTable = bctk.TinhHinhMuonSach(txtThang.Text, txtNam.Text) Dim i As Integer Dim str As String Dim lvi As ListViewItem Dim ratio As Double Dim tongluotmuon As Long = For i = To dt.Rows.Count - lvi = TKList.Items.Add((i + 1).ToString) str = dt.Rows(i)("TenTheLoai") lvi.SubItems.Add(str) tongluotmuon = tongluotmuon + dt.Rows(i)("SoLuotMuon") str = dt.Rows(i)("SoLuotMuon").ToString lvi.SubItems.Add(str) If (i + 1) Mod = Then TKList.Items(i).BackColor = MainForm.ListRowColor End If Next lblTongLuotMuon.Text = tongluotmuon.ToString 175 Chương - Xây dựng hình báo cáo-thống kê 'Tính tỉ lệ For i = To dt.Rows.Count - ratio = ((dt.Rows(i)("SoLuotMuon") / tongluotmuon)) * 100 str = Format(ratio, "#.00") TKList.Items(i).SubItems.Add(str) Next End Sub Để chương trình tiện dụng, ta cài đặt cho chương trình thời điểm form load có tháng cần xem tháng hành Cài đặt hàm xử lý cho kiện form load sau: Private Sub BC_TK_MuonSachTheoTheLoai_Form_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim d As Date = Today txtThang.Text = d.Month.ToString txtNam.Text = d.Year.ToString End Sub 6.3 Màn hình Thống kê độc giả nợ tiền phạt Màn hình Thống kê độc giả nợ tiền phạt cho phép theo dõi tình hình độc giả nợ tiền phạt thời điểm Xây dựng hình sau: 176 Chương - Xây dựng hình báo cáo-thống kê STT Tên Control lblTieude Loại Label Tiêu đề (Caption) “Báo cáo thống kê độc giả nợ tiền phạt” “Ngày” lblNgay Label lblNgayVal Label TNList ListView lblTongTienNo Label “Tổng tiền nợ” lblTong Label btnDong Button Đối với hình này, ta cần cài đặt hàm xử lý kiện form load hiển thị danh sách độc giả nợ tiền với số tiền nợ Lưu ý tất xử lý ủy nhiệm cho biến thành phần thuộc lớp BaoCaoThongKe, phương thức lớp giao diện lấy kết trả hiển thị lên hình Private Sub DocGiaNoTienPhat_Form_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 177 Chương - Xây dựng hình báo cáo-thống kê txtNgay.Text = Today.Month.ToString + "/" + Today.Day.ToString + "/" + Today.Year.ToString Dim dt As DataTable = bctk.DocGiaNoTienPhat Dim i As Integer Dim str As String Dim tongtienno As Double Dim lvi As ListViewItem For i = To dt.Rows.Count - lvi = TKList.Items.Add((i + 1).ToString) str = dt.Rows(i)("HoTenDocGia") lvi.SubItems.Add(str) tongtienno = tongtienno + dt.Rows(i)("TienNo") str = Format(dt.Rows(i)("TienNo"), "#,###") lvi.SubItems.Add(str) If (i + 1) Mod = Then TKList.Items(i).BackColor = MainForm.ListRowColor End If Next lblTongTienNo.Text = Format(tongtienno, "#,###") End Sub 178 [...]... xác Do chúng ta chỉ cài đặt trên một máy đơn nên chúng ta sẽ chọn cài đặt Server and Client Tools rồi nhấn Next 13 Chương 1 - Làm việc với MS SQL Server Chúng ta chọn chế độ cài đặt Default như mặc định của chương trình Sau đó chúng ta chọn các thông tin về đường dẫn chứa chương trình, đường dẫn chứa cơ sở dữ liệu mà sau này chúng ta sẽ thao tác, và chọn cài đặt chuẩn là Typical 14 Chương 1 - Làm việc... hành cài đặt 15 Chương 1 - Làm việc với MS SQL Server Để kết thúc quá trình cài đặt SQL Server sẽ có thông báo kết thúc sau khi cài xong Sau khi cài đặt SQL Server xong rồi thì chạy chương trình Service Manager Nếu nút start sáng (có nghĩa là service chưa được khởi động) thì nhấn vào để khởi động service (như trong hình thì service chưa được khởi động) 16 Chương 1 - Làm việc với MS SQL Server 17 Chương. .. kết nối đến SQL Server Chúng ta sẽ bỏ chọn Wizard và màn hình sẽ hiển thị như sau: 18 Chương 1 - Làm việc với MS SQL Server - Có 2 cách kiểm tra thông tin đăng nhập: i Thông qua thông tin đăng nhập của hệ điều hành ii Thông qua thông tin đăng nhập do SQL server quản lý Trong hình, chúng ta sử dụng cách thứ 2 Chương trình sẽ yêu cầu nhập thông tin về user và password - kế tiếp chúng ta chọn group cho... 127.0.0.1 Login name: sa Password: sa (theo như chúng ta đã cài đặt) Sau khi điền đầy đủ thông tin click vào nút OK để đăng nhập vào SQL Server 1.4 Tạo Database: 1.4.1 Enterprise Manager: Click chuột phải tại Databases, chọn New Database 21 Chương 1 - Làm việc với MS SQL Server Đặt tên cho Database (như trong hình tên database là LibManagement) 22 Chương 1 - Làm việc với MS SQL Server 1.4.2 SQL Query Analyzer:... server bằng các chức năng của Enterprise Manager 19 Chương 1 - Làm việc với MS SQL Server 1.3 Sử dụng Query Analyzer: - Vào File | Connect sẽ hiện ra hộp thoại đăng nhập 20 Chương 1 - Làm việc với MS SQL Server nhập vào thông tin về địa chỉ server (có thể chọn bằng nút … ở bên cạnh) sử dụng chế độ đăng nhập của SQL Server Nếu chúng ta sử dụng chương trình đơn chạy trên desktop thì chúng ta có thể điền.. .Chương 1 - Làm việc với MS SQL Server Sau đó chọn Local Computer do chúng ta chỉ sử dụng trên máy đơn mà thôi Chúng ta chọn Create a new instance of SQL Server, or install Client Tools như trên hình 11 Chương 1 - Làm việc với MS SQL Server Tiếp theo chúng ta sẽ điền một số thông tin cá nhân cho phần mềm Sau đó nhấn Next Nhấn Yes để đồng ý với các điều luật về bản quyền 12 Chương 1 - Làm... mục Diagrams (thay vì Tables) Nhấn chuột phải tại Diagrams và chọn New Database Diagram 28 Chương 1 - Làm việc với MS SQL Server Chọn các bảng mà chúng ta vừa tạo ra như trong hình, không nên chọn các bảng hệ thống Sau đó click vào nút Add để đưa các bảng đó vào diagram 29 Chương 1 - Làm việc với MS SQL Server 30 Chương 1 - Làm việc với MS SQL Server Để tạo quan hệ giữa các bảng thì chúng ta chỉ việc... ngoại 31 Chương 1 - Làm việc với MS SQL Server Tên quan hệ này là FK_NHANVIEN_BANGCAP chỉ quan hệ giữa 2 bảng BANGCAP và bảng NHANVIEN với field MaBangCap(của table BANGCAP) và MaBangCap (của table NHANVIEN) 1.6.2 Tạo khoá ngoại (foreign key) trong Query Analyzer: Để tạo khoá ngoại ta sử dụng bên trong câu lệnh CREATE TABLE hay câu lệnh ALTER TABLE như sau: Constraint ... Constraint FOREIGN KEY() REFERENCES () Để dễ nhớ và dễ sử dụng, ta nên đặt tên theo quy tắt sau: Tên loại constraint_Tên table chứa khoá ngoại_Tên bảng chứa khoá chính_Tên các thuộc tính khoá ngoại 32 Chương 1 - Làm việc với MS SQL Server 1.7 Import/Export data: Dùng để chuyển dữ liệu từ SQL server sang một CSDL khác như Access, Excel,…hay... import dữ liệu VD: Export data từ SQL Server sang Access Chọn Data Source là OLE DB for SQL Server Chọn Destination là Microsoft Access 33 Chương 1 - Làm việc với MS SQL Server Chọn cách chuyển dữ liệu theo từng bảng hay theo câu truy vấn do người dùng định nghĩa 34 Chương 1 - Làm việc với MS SQL Server Ngoài ra để import vào một CSDL của SQL Server thì ta có thể dùng SQL Analyzer như sau: Dùng câu lệnh ... Chúng ta chọn chế độ cài đặt Default mặc định chương trình Sau chọn thông tin đường dẫn chứa chương trình, đường dẫn chứa sở liệu mà sau thao tác, chọn cài đặt chuẩn Typical 14 Chương - Làm việc... sau sau tiến hành cài đặt 15 Chương - Làm việc với MS SQL Server Để kết thúc trình cài đặt SQL Server có thông báo kết thúc sau cài xong Sau cài đặt SQL Server xong chạy chương trình Service Manager... có hàm xử lý kiện Sau thiết kế cài đặt tất hình ứng dụng Quản lý thư viện, viết hàm xử lý cho tất nút chức Các hàm đơn giản cho hiển thị hình tương ứng với nút chức click Ví dụ hàm xử lý cho kiện

Ngày đăng: 27/10/2015, 23:34

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan