Hướng dẫn cài đặt chương trình quản lý thư viện
Trang 1Đ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
Trang 21.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 trong Enterprise Manager: 28
1.6.2 Tạo khoá ngoại (foreign key) trong Query Analyzer: 32
1.7 Import/Export data: 33
Chương 2 Xây dựng lớp giao tiếp CSDL 36
2.1 Chức năng 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 3 Xây dựng màn hình chính 38
Chương 4 Xây dựng các màn hình danh mục 50
Trang 34.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ý do thanh 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 5 Xây dựng các màn 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
Trang 45.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 mới 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
Trang 55.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 ChiTietPhieuMuon_Form 125
5.6 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
Trang 65.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 mất 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
Trang 75.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 thanh lý sách 169
5.11.1 ChiTietPhieuThanhLy_Form 170
Chương 6 Xây dựng các màn hình Báo cáo – Thống kê 173
6.1.1 New 173
6.1.2 TinhHinhMuonSach 173
Trang 8Pentium 166 hoặc cấu hình cao hơn
Windows 2000, tối thiểu là 32MB cho các windows khác
Yêu cầu không gian đĩa SQL Server database components:
95-270MB, thông thường là 250MB Analysis Services: tối thiểu là 50MB, chuẩn
là 130MB English Query : 80MB Chỉ cài phiên bản Desktop Engine: 44MB
800x600 là độ phân giải tối thiểu cho các công cụ chế độ đồ họa của SQL Server
Hệ điều hành Các phiên bản Windows từ Windows NT 4.0
và Windows 98 trở về sau hoặc các hệ điều hành cấp cao khác
1.1.2 Cài đặt
1 Đưa đĩa CD vào ổ CDROM, nếu ổ đĩa CDROM không cài đặt chế độ tự động chạy thì
chạy tập tin autorun.exe ngay trong thư mục gốc của ổ đĩa CD
2 Nếu chúng ta đang sử dụng hệ điều hành Windows 95 thì chúng ta nhấn vào “SQL
Server 2000 Prequisites”
Trang 9Sau đó chúng ta chọn “Install Common Controls Library Update"
3 Sau khi cài đặt các yêu cầu cập nhật cho phiên bản Windows 95 (nếu có), chúng ta bắt
Trang 10Chúng ta chọn "Install Database Server" trên màn hình sẽ hiện ra
Chúng ta chọn Next
Trang 11Sau đó 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
Trang 12Tiế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
Trang 13Tiếp theo chúng ta sẽ điền mã số CDKey rồi nhấn Next
Chú ý: chúng ta phải điền thật chính xác
Trang 14Chú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
Trang 15Sau đó chúng ta chọn Use the same account và trong mục Service Settings thì chúng ta chọn Use the Local System account như trong hình trên
Trang 16Để 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)
Trang 17Trang 19
- 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 SQL server (nên để mặc định)
- Click vào nút Finish
- Khi đó chúng ta có thể thao tác tạo database, table … trên SQL server bằng các chức năng của Enterprise Manager
Trang 201.3 Sử dụng Query Analyzer:
- Vào File | Connect sẽ hiện ra hộp thoại đăng nhập
Trang 21nhậ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 vào dấu hoặc là điền vào 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
Trang 2222 Đặt tên cho Database (như trong hình tên database là LibManagement)
Trang 231.4.2 SQL Query Analyzer:
Câu lệnh dùng để tạo database:
Create Database LibManagement
Để có thể tạo database với một số chọn lựa khác có thể xem trong phần SQL Server Books Online (từ khoá CREATE DATABASE)
1.5 Tạo Table:
1.5.1 Enterprise Manager:
Trang 24Một cửa sổ hiện ra cho ta nhập cấu trúc của Table mà ta muốn tạo, gồm có các thông tin như: Tên field (Column Name), loại dữ liệu (Data Type), độ dài (length), cho phép giá trị Null (Allow Nulls) Ngoài ra ở bên khung dưới cho phép ta nhập thêm một số thông tin của field (hay column) như: mô tả (description), giá trị mặc định (default value), Precision, Scale, Identity, Identity Seed, Identity Increment, Is RowGuid, Formula, Collation
Để biết thêm về các kiểu dữ liệu, có thể xem trong SQL Server Books Online với tiêu dề Data Types
Trang 25là số nguyên (2 bytes) có giá trị từ 2^15 đến 2^15 - 1
tinyint
là số nguyên (1 byte) có giá trị từ 0 đến 255
bit
bit
là số nguyên chỉ nhận giá trị 0 hoặc 1
decimal and numeric
decimal
số nguyên từ -10^38 +1 đến 10^38 –1
numeric
Giống như decimal
money and smallmoney
số thực có giá trị từ -3.40E + 38 đến 3.40E + 38
datetime and smalldatetime
Kiểu dữ liệu có độ dài không cố định (không theo Unicode) có độ dài tối đa là 2^31 – 1 ký tự
Unicode Character Strings
Trang 26uniqueidentifier
A globally unique identifier (GUID)
Để tạo table BANGCAP(MaBangCap, TenBangCap) thì khai báo như trong hình gồm: chọn kiểu dữ liệu (Data Type), độ dài dữ liệu (Length) (chỉ một số kiểu dữ liệu cho phép thay đổi
độ dài), cho phép nhập giá trị hay không (Allow Nulls)
Để tạo khoá chính cho bảng thì ta chọn các field (bằng cách nhấn SHIFT và click vào các field) rồi chọn biểu tượng hình chiếc chìa khoá bên trên hay right-click và chọn Primary key
Trang 271.5.2 SQL Query Analyzer:
Để tạo table ta sử dụng lệnh CREATE TABLE
1.Tao bang BANGCAP
CREATE TABLE BANGCAP
(
MaBangCap int NOT NULL,
TenBangCap nvarchar(40) NOT NULL,
Constraint PK_BANGCAP_MABANGCAP PRIMARY KEY(MaBangCap)
tạo khoá trên thuộc tính MaBangCap cho bảng BANGCAP
nếu khoá gồm nhiều thuộc tính thì khai báo thêm dấu phẩy trước mỗi thuộc tính liền sau như (MASV, MAHP)
Trang 2828
Trang 29Chọ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
Trang 3030
Trang 31Để tạo quan hệ giữa các bảng thì chúng ta chỉ việc click chuột tại field cần quan hệ ở table thứ nhất, kéo đến field trong table thứ 2 rồi thả chuột ra (drag and drop)
Ví dụ: Tạo quan hệ khoá ngoại giữa 2 bảng NHANVIEN và BANGCAP qua field
MaBangCap
Click tại field MaBangCap ở table NHANVIEN rồi kéo (drag) đến field MaBangCap ở table BANGCAP rồi thả ra Khi đó sẽ xuất hiện cửa sổ yêu cầu các thông tin liên quan khi tạo quan
hệ khoá ngoại
Trang 32Tê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 <tên khoá ngoại (do ta tự đặt tên)> FOREIGN KEY(<tên fields>) REFERENCES
<tên bảng>(<tên fields>)
Để 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
Trang 331.7 Import/Export data:
Dùng để chuyển dữ liệu từ SQL server sang một CSDL khác như Access, Excel,…hay file text
và ngược lại Click vào Database cần thao tác, vào Tools chọn Data Transformation Services, chọn Import Data hoặc Export Data
Nếu là export thì chọn Datasource là Microsoft OLE DB Provider for SQL Server và chọn Database nào cần export, ngược lại nếu là Import thì chọn Datasource là kiểu CSDL khác (tuỳ theo yêu cầu của người dùng)
Nếu là Export thì chọn Destination là kiểu CSDL khác cần sử dụng để export, ngược lại nếu là import thì chọn Destination là Microsoft OLE DB Provider for SQL Server và chỉ định
Database cần import dữ liệu
VD:
Export data từ SQL Server sang Access
Chọn Data Source là OLE DB for SQL Server
Trang 3434 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
Trang 35Ngoà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 sau
sp_attach_db [ @dbname = ] 'dbname'
, [ @filename1 = ] 'filename_n' [ , 16 ]
Ví dụ:
EXEC sp_attach_db @dbname = N'LibManagement',
@filename1 = N'c:\Program Files\Microsoft SQL
Server\MSSQL\Data\LibManagement.mdf',
@filename2 = N'c:\Program Files\Microsoft SQL
Server\MSSQL\Data\LibManagement_log.ldf'
Trang 36cho hệ thống Nếu sau này cần thay đổi môi trường ứng dụng (sang Oracle, Access, Db2 ) thì chúng ta chỉ việc chỉnh sửa lớp Database này mà không cần quan tâm đến phần còn lại của ứng dụng
2.3 Lớp Database
Lớp Database gồm có các thành phần sau:
Lớp Database Thuộc tính
sqlconn SqlConnection
Phương thức
Execute Thực thi một câu lệnh truy vấn và trả về kết quả là một
DataTable Dùng cho các câu lệnh Select * from
ExecuteNonQuery Thực thi một câu lệnh truy vấn không quan tâm đến kết quả
trả về Dùng cho các câu lệnh Insert, Delete, Update
Chi tiết các phương thức:
2.3.1 Hàm tạo
Tham số:
• svrName: tên hay IP máy server
• dbName: tên cơ sở dữ liệu sử dụng
• integratedMode: chế độ đăng nhập (để mặc định là TRUE)
• usrName: tên đăng nhập
• pwd: mật khẩu (usrName và pwd chỉ cần khi integratedMode = FALSE)
Mã nguồn:
Public Sub New(ByVal svrName As String, ByVal dbName As String, ByVal
intergratedMode As Boolean, ByVal usrName As String, ByVal pwd As String) Dim connStr As String
Trang 37If intergratedMode = True Then
connStr = "server=" + svrName + "; database=" + dbName + "; Integrated Security = True"
sqlconn = New SqlConnection(connStr)
Public Function Execute(ByVal strQuery As String) As DataTable
Dim da As New SqlDataAdapter(strQuery, sqlconn)
‘Câu lệnh này tạo mới một đối tượng SqlDataAdapter và cung cấp cho nó câu truy vấn cùng với kết nối hiện hành
Dim ds As New DataSet
‘DataSet đại diện cho một danh sách các DataTable (mỗi DataTable là 1 bảng dữ liệu)
da.Fill(ds) ‘Dùng SqlDataAdapter đã tạo ra ở trên thực thi câu lệnh truy vấn đã cùng cấp, và đưa kết quả trả về và ds
Return ds.Tables(0) ‘Chúng ta chỉ lấy bảng đầu tiên
Public Sub ExecuteNonQuery(ByVal strquery As String)
Dim sqlcom As New SqlCommand(strquery, sqlconn)
‘SqlCommand là đối tượng chuyên đảm nhận việc thực hiện các câu lệnh truy vấn
sqlconn.Open() ’Mở kết nối
Trang 3838 Sau đó kéo thả lên form, ta sẽ được như sau:
Trang 4040
Trang 41Tiếp theo, chúng ta sẽ tiến hành kéo thả các nút chức năng lên panel này Chương trình gồm
có 3 nhóm chức năng chính: Hiệu chỉnh các danh mục, các chức năng nghiệp vụ và chức năng báo cáo thống kê Mỗi nhóm chức năng như vậy sẽ được tạo bằng một groupbox Đầu tiên, ta tạo groupbox Danh mục
Trang 42Ta sẽ thấy groupbox xuất hiện trên màn form design Ta hiệu chỉnh kích thước và dùng cửa sổ property đặt lại tiêu để cho groupbox này:
Trang 43Tiếp theo, chúng ta sẽ kéo thả các nút chức năng lên groupbox Danh mục Việc kéo thả button cũng giống như kéo thả groupbox
Trang 4444 Bây giờ chúng ta cũng hiệu chỉnh lại kích thước và thay đổi nội dung của button bằng thuộc
tính Caption trong cửa số property
Trang 45Để cho button có trạng thái hover, ta để thuộc tính FlatStyle là Popup
Trang 4646 Như vậy ta đã được nút chức năng đầu tiên của group đầu tiên Làm tương tự như vậy cho các chức năng còn lại của ứng dụng để có được màn hình như hình sau:
Trang 47Như vậy ta đã có được phần thiết cho màn hình chính Bước tiếp theo, ta sẽ viết hàm xử lý sự kiện cho các nút chức năng Để viết hàm xử lý cho sự kiện click của Button, ta chỉ cần double click lên button, hay chọn sự kiện trong danh sách sự kiện:
Trang 48Chọn đối tượng cần bắt sự kiện
Chọn sự kiện cần bắt, ở đây ta chọn sư kiện click Khi đó, IDE của VB.NET sẽ phát sinh hàm
xử lý sự kiện click giúp chúng ta:
Private Sub btnBoPhan_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnBoPhan.Click
End Sub
Chúng ta chỉ việc viết mã nguồn xử lý trong hàm này, là đã có được một hàm xử lý sự kiện Sau khi thiết kế và cài đặt tất cả các màn hình của ứng dụng Quản lý thư viện, chúng ta sẽ viết hàm xử lý cho tất cả các nút chức năng Các hàm này chỉ đơn giản là cho hiển thị màn hình tương ứng với nút chức năng được click Ví dụ hàm xử lý cho sự kiện click của nút Bộ phận: