Luận văn Phân tích, thiết kế hệ thống thông tin và xây dựng chương trình thi trắc nghiệm môn toán tại trường THPT

MỤC LỤC

 

LỜI NÓI ĐẦU

PHẦN A: GIỚI THIỆU ĐỀ TÀI VÀ MÔ TẢ BÀI TOÁN THI TRẮC NGHIỆM

CHƯƠNG I: GIỚI THIỆU ĐỀ TÀI 1

CHƯƠNG II: MÔ TẢ BÀI TOÁN THI TRẮC NGHIỆM 2

PHẦN B:PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG THÔNG TIN

CHƯƠNG I: PHÂN TÍCH VÀ THIẾT KẾ THÀNH PHẦN HỆ THỐNG THÔNG TIN Ở MỨC QUAN NIỆM XỬ LÝ 3

I. SƠ ĐỒ CHỨC NĂNG – BFD 3

II. SƠ ĐỒ DÒNG DỮ LIỆU – DFD 5

III. BIỂU ĐỒ USE CASE 8

1. BIỂU ĐỒ 8

2. ĐẶC TẢ HÀNH VI 9

3. BIỂU ĐỒ HOẠT ĐỘNG 12

CHƯƠNG II: PHÂN TÍCH VÀ THIẾT KẾ THÀNH PHẦN HỆ THỐNG THÔNG TIN Ở MỨC QUAN NIỆM DỮ LIỆU 13

I. SƠ ĐỒ QUAN HỆ THỰC THỂ KẾT HỢP – ERD (MỨC QUAN NIỆM) 14

II. SƠ ĐỒ THỰC THỂ KẾT HỢP (MỨC VẬT LÝ) 15

III. TẬP THỰC THỂ 16

IV. MỐI LIÊN KẾT GIỮA CÁC THỰC THỂ 17

V. MÔ HÌNH QUAN HỆ 18

VI. TỪ ĐIỂN DỮ LIỆU 21

CHƯƠNG III: CÁC RÀNG BUỘC TOÀN VẸN 24

I. RÀNG BUỘC TOÀN VẸN TRÊN MIỀN GIÁ TRỊ CỦA THUỘC TÍNH 24

II. RÀNG BUỘC TOÀN VẸN LIÊN BỘ 25

III. RÀNG BUỘC TOÀN VẸN VỀ PHỤ THUỘC TỒN TẠI 28

PHẦN C: PHỤ LỤC

A. TÌM HIỂU VỀ CÔNG NGHỆ C#.NET 31

I. SƠ LƯỢC VỀ C#.NET 31

II. MỘT SỐ KHÁI NIỆM CƠ BẢN TRONG C# 31

III. WINDOWS FORMS 34

IV. TRUY CẬP DỮ LIỆU VỚI ADO.NET 36

V. CRYSTAL REPORT 39

B. TÌM HIỂU HỆ QUẢN TRỊ SQL SERVER 2000 41

I. LỊCH SỬ VÀ PHÁT TRIỂN SQL SERVER 2000 41

II. CÁC THÀNH PHẦN CẤU THÀNH CỦA SQL SERVER 2000 41

III. CÁC PHÁT BIỂU CỦA T – SQL 42

IV. MỘT SỐ HÀM THÔNG DỤNG TRONG SQL SERVER 2000 43

V. LƯỢC ĐỒ QUAN HỆ TRONG SQL (DIAGRAM) 45

VI. QUAN HỆ (RELATIONSHIP) 46

VI. THỦ TỤC THƯỜNG TRÚ (STORED PROCEDURE) 46

1. TẠO STORED PROCEDURE 46

2. THAY ĐỔI STORED PROCEDURE 47

3. XÓA STORED PROCEDURE 47

4. PHÁT BIỂU ĐIỀU KHIỂN 47

C. THIẾT KẾ VÀ CÀI ĐẶT CHƯƠNG TRÌNH 49

I. MÔ HÌNH QUAN HỆ DỮ LIỆU TOÀN HỆ THỐNG 49

II. XÂY DỰNG MỘT SỐ GIẢI THUẬT XỬ LÝ CHÍNH 50

III. CÁC GIAO DIỆN CỦA CHƯƠNG TRÌNH 54

1. GIAO DIỆN ĐĂNG NHẬP VÀO CHƯƠNG TRÌNH 54

2. GIAO DIỆN CHÍNH CỦA CHƯƠNG TRÌNH 55

3. GIAO DIỆN NHẬP DANH SÁCH LỚP 56

4. GIAO DIỆN NHẬP DANH SÁCH HỌC SINH 57

5. GIAO DIỆN NHẬP ĐỀ THI 58

6. GIAO DIỆN NHẬP CÂU HỎI 58

7. GIAO DIỆN PHÂN CÔNG LỊCH THI 59

8. GIAO DIỆN ĐĂNG KÝ THI 60

9. GIAO DIỆN THI TRẮC NGHIỆM 61

10. GIAO DIÊN IN DANH SÁCH LỚP 62

11. GIAO DIÊN IN DANH SÁCH LỚP (REPORT) 63

12 GIAO DIÊN IN BẢNG ĐIỂM 64

13 GIAO DIÊN IN BẢNG ĐIỂM (REPORT) 64

14. GIAO DIỆN TRỢ GIÚP 65

KẾT LUẬN 66

TÀI LIỆU THAM KHẢO 67

 

 

 

 

 

doc68 trang | Chia sẻ: maiphuongdc | Ngày: 06/01/2014 | Lượt xem: 1205 | Lượt tải: 1download
Bạn đang xem nội dung tài liệu Luận văn Phân tích, thiết kế hệ thống thông tin và xây dựng chương trình thi trắc nghiệm môn toán tại trường THPT, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
ïng chuẩn thấp nhất trong các dạng chuẩn của quan hệ. VI. TỪ ĐIỂN DỮ LIỆU: 1. PHANQUYEN (Bảng phân quyền) SốTT Tên trường Diễn giải Kiểu dữ liệu Độ lớn Ghi chú 1 USER Mã USER Nvarchar 50 Khóa 2 PASSWORD Password của USER Nvarchar 50 2. DSLOP (Bảng danh sách lớp) SốTT Tên trường Diễn giải Kiểu dữ liệu Độ lớn Ghi chú 1 MALOP Mã lớp Nvarchar 10 Khóa 2 TENLOP Tên lớp Nvarchar 50 3. HOCSINH (Bảng học sinh) SốTT Tên trường Diễn giải Kiểu dữ liệu Độ lớn Ghi chú 1 MAHS Mã học sinh Nvarchar 10 Khóa 2 TENHS Tên học sinh Nvarchar 50 3 MALOP Mã lớp Nvarchar 10 4 NGAYSINH Ngày sinh của học sinh Datatime 8 5 PHAI Phái của học sinh Bit 1 6 DIACHI Địa chỉ của học sinh Nvarchar 100 7 GHICHU Ghi chú Nvarchar 300 8 HINHANH Hình ảnh Nvarchar 40000 4. DETHI (Bảng đề thi) SốTT Tên trường Diễn giải Kiểu dữ liệu Độ lớn Ghi chú 1 MADETHI Mã đề thi Nvarchar 10 Khóa 2 TENDETHI Tên đề thi Nvarchar 100 5. CAUHOI (Bảng câu hỏi) SốTT Tên trường Diễn giải Kiểu dữ liệu Độ lớn Ghi chú 1 MACAUHOI Mã câu hỏi Nvarchar 10 Khóa 2 NOIDUNG Nội dung câuhỏi Nvarchar 4000 3 CAUA Nội dung trả lời câu a Nvarchar 3000 4 CAUB Nội dung trả lời câu b Nvarchar 3000 5 CAUC Nội dung trả lời câu c Nvarchar 3000 6 CAUD Nội dung trả lời câu d Nvarchar 3000 7 CAUE Nội dung trả lời câu e Nvarchar 3000 8 DAPAN Đáp án của câu hỏi Char 1 9 HINHVEMH Hình vẽ minh hoạ Nvarchar 4000 6. CHITIETDETHI (Bảng chi tiết đề thi) SốTT Tên trường Diễn giải Kiểu dữ liệu Độ lớn Ghi chú 1 MADETHI Mã đề thi Nvarchar 10 Khóa 2 MACAUHOI Mã câu hỏi Nvarchar 10 Khóa 7. KYTHI (Bảng kỳ thi) SốTT Tên trường Diễn giải Kiểu dữ liệu Độ lớn Ghi chú 1 MAKYTHI Mã kỳ thi Nvarchar 10 Khóa 2 TENKYTHI Tên kỳ thi Nvarchar 300 3 NGAYTHI Ngày thi Nvarchar 10 4 SOCAUHOI Số câu hỏi trong đề thi Int 4 5 THOIGIAN Thời gian làm bài Int 4 6 DIEM Điểm cho mỗi câu trả lời đúng Float 8 8. BAILAM (Bảng bài làm) SốTT Tên trường Diễn giải Kiểu dữ liệu Độ lớn Ghi chú 1 MAHS Mã học sinh Nvarchar 10 Khóa 2 MAKYTHI Mã kỳ thi Nvarchar 10 Khóa 3 MACAUHOI Mã câu hỏi Nvarchar 10 Khóa 4 TRALOI Trả lời Char 1 9. BANGDIEM (Bảng điểm) SốTT Tên trường Diễn giải Kiểu dữ liệu Độ lớn Ghi chú 1 MAKYTHI Mã kỳ thi Nvarchar 10 Khóa 2 MAHS Mã học sinh Nvarchar 10 Khóa 3 DIEMTHI Điểm thi của học sinh Float 8 CHƯƠNG III: CÁC RÀNG BUỘC TOÀN VẸN I. RÀNG BUỘC TOÀN VẸN TRÊN MIỀN GIÁ TRỊ CỦA THUỘC TÍNH: 1. HOCSINH(MAHS, TENHS, NGAYSINH, MALOP, PHAI, DIACHI, GHICHU, HINHANH) Bối cảnh: HOCSINH Điều kiện: "q Ỵ THOCSINH [q.NAMSINH > 1984] And [q.NAMSINH < 1990] And [q.PHAI = 1] Or [q.PHAI = 0]. 2. KYTHI(MAKYTHI, TENKYTHI, NGAY THI, SOCAUHOI, THOIGIAN, DIEM) Bối cảnh: KYTHI Điều kiện: "q Ỵ TKYTHI [q.NGAYTHI > q.Now()] And [q.DIEM < 10] And [q.THOIGIAN <q.SOCAUHOI*3] 3. BANGDIEM(MAKYTHI, MAHS, DIEMTHI) Bối cảnh: BANGDIEM Điều kiện: "q Ỵ TBANGDIEM [q.DIEM ³ 0 ] And [q.DIEM £ 10] 4. CAUHOI(MACAUHOI, NOIDUNG, CAUA, CAUB, CAUC, CAUD, CAUE, DAPAN, HINHVEMH) Bối cảnh: CAUHOI Điều kiện: "q Ỵ TCAUHOI [q.DAPAN = “a” ] OR [q.DAPAN = “b” ] OR[q.DAPAN = “c” ] OR [q.DAPAN = “d” ] OR [q.DAPAN = “e” ] 5. BAILAM(MAKYTHI, MAHS, MACAUHOI, TRALOI) Bối cảnh: BAILAM Điều kiện: "q Ỵ TBAILAM [q.TRALOI = “a” ] OR [q.TRALOI = “b” ] OR[q.TRALOI = “c” ] OR [q.TRALOI = “d” ] OR [q.TRALOI = “e” ] II. RÀNG BUỘC TOÀN VẸN LIÊN BỘ: 1. PHANQUYEN(USER, PASSWORD) Bối cảnh: PHANQUYEN Điều kiện: "q1, q2 Ỵ TPHANQUYEN q1.USER q2.USER Tầm ảnh hưởng: Thêm Xóa Sửa PHANQUYEN + USER - + USER 2. DSLOP(MALOP, TENLOP) Bối cảnh: DSLOP Điều kiện: "q1, q2 Ỵ TDSLOP q1.MALOP q2.MALOP Tầm ảnh hưởng: Thêm Xóa Sửa DSLOP + MALOP - + MALOP 3. HOCSINH(MAHS, TENHS, NGAYSINH, MALOP, PHAI, DIACHI, GHICHU, HINHANH) Bối cảnh: HOCSINH Điều kiện: "q1, q2 Ỵ THOCSINH q1.MAHS q2.MAHS Tầm ảnh hưởng: Thêm Xóa Sửa HOCSINH + MAHS - + MAHS 4. DETHI(MADETHI, TENDETHI) Bối cảnh: DETHI Điều kiện: "q1, q2 Ỵ TDETHI q1.MADETHI q2.MADETHI Tầm ảnh hưởng: Thêm Xóa Sửa DETHI + MADETHI - + MADETHI 5. CAUHOI(MACAUHOI, NOIDUNG, CAUA, CAUB, CAUC, CAUD, CAUE, DAPAN, HINHVEMH) Bối cảnh: CAUHOI Điều kiện: "q1, q2 Ỵ TCAUHOI q1.MACAUHOI q2.MACAUHOI Tầm ảnh hưởng: Thêm Xóa Sửa CAUHOI + MACAUHOI - + MACAUHOI 6. CHITIETDETHI(MADETHI, MACAUHOI) Bối cảnh: CHITIETDETHI Điều kiện: "q1, q2 Ỵ TCHITIETDETHI q1.MADETHI q2.MADETHI Or q1.MACAUHOI q2.MACAUHOI Tầm ảnh hưởng: Thêm Xóa Sửa CHITIETDETHI + MADETHI, MACAUHOI - + MADETHI, MACAUHOI 7. KYTHI(MAKYTHI, TENKYTHI, NGAYTHI, SOCAUHOI, THOIGIAN, DIEM) Bối cảnh: KYTHI Điều kiện: "q1, q2 Ỵ TKYTHI q1.MAKYTHI q2.MAKYTHI Tầm ảnh hưởng: Thêm Xóa Sửa KYTHI + MAKYTHI - + MAKYTHI 8. BAILAM(MAHS, MAKYTHI, MACAUHOI, TRALOI) Bối cảnh: BAILAM Điều kiện: "q1, q2 Ỵ TBAILAM q1.MAHS q2.MAHS Or q1.MAKYTHI q2.MAKYTHI Or q1.MACAUHOI q2.MACAUHOI Tầm ảnh hưởng: Thêm Xóa Sửa BAILAM + MAHS, MAKYTHI, MACAUHOI - + MAHS, MAKYTHI, MACAUHOI 9. BANGDIEM(MAKYTHI, MAHS, DIEM) Bối cảnh: BANGDIEM Điều kiện: "q1, q2 Ỵ TBANGDIEM q1.MAHS q2.MAHS Or q1.MAKYTHI q2.MAKYTHI Tầm ảnh hưởng: Thêm Xóa Sửa BANGDIEM + MAKYTHI, MAHS - + MAKYTHI, MAHS III. RÀNG BUỘC TOÀN VẸN VỀ PHỤ THUỘC TỒN TẠI: 1. DSLOP (MADETHI, TENDETHI) HOCSINH (MAHS, TENHS, MALOP, NGAYSINH, PHAI, DIACHI, GHICHU, HINHANH) Bối cảnh: DSLOP, HOCSINH Điều kiện: DSLOP[MALOP] É HOCSINH[MALOP] Tầm ảnh hưởng: Thêm Xóa Sửa DSLOP - + MALOP + MALOP HOCSINH + MALOP - + MALOP 2. CHITIETDETHI (MACAUHOI, MACAUHOI) CAUHOI (MACAUHOI, NOIDUNG, CAUA, CAUB, CAUC, CAUD, CAUE, DAPAN, HINHVEMH) Bối cảnh: CHITIETDETHI, CAUHOI Điều kiện: CAUHOI[MACAUHOI] É CHITIETDETHI[MACAUHOI] Tầm ảnh hưởng: Thêm Xóa Sửa DSLOP - + MACAUHOI + MACAUHOI HOCSINH + MACAUHOI - + MACAUHOI 3. CHITIETDETHI (MACAUHOI, MACAUHOI) DETHI (MADETHI, TENDETHI) Bối cảnh: CHITIETDETHI, DETHI Điều kiện: DETHI[MADETHI] É CHITIETDETHI[MADETHI] Tầm ảnh hưởng: Thêm Xóa Sửa DETHI - + MADETHI + MADETHI CHITIETDETHI + MADETHI - + MADETHI 4. KYTHI (MAKYTHI, TENKYTHI, NGAYTHI, SOCAUHOI, THOIGIAN, DIEM) BAILAM (MAKYTHI,MAHS, MACAUHOI, TRALOI) Bối cảnh: KYTHI, BAILAM Điều kiện: KYTHI[MAKYTHI] É BAILAM[MAKYTHI] Tầm ảnh hưởng: Thêm Xóa Sửa KYTHI - + MAKYTHI + MAKYTHI BAILAM + MAKYTHI - + MAKYTHI 5. HOCSINH (MAHS, TENHS, MALOP, NGAYSINH, PHAI, DIACHI, GHICHU, HINHANH) BAILAM (MAKYTHI,MAHS, MACAUHOI, TRALOI) Bối cảnh: HOCSINH, BAILAM Điều kiện: HOCSINH[MAHS] É BAILAM[MAHS] Tầm ảnh hưởng: Thêm Xóa Sửa HOCSINH - + MAHS + MAHS BAILAM + MAHS - + MAHS 6. CAUHOI (MACAUHOI, NOIDUNG, CAUA, CAUB, CAUC, CAUD, CAUE, DAPAN, HINHVEMH) BAILAM (MAKYTHI,MAHS, MACAUHOI, TRALOI) Bối cảnh: CAUHOI, BAILAM Điều kiện: CAUHOI[MACAUHOI] É BAILAM[MACAUHOI] Tầm ảnh hưởng: Thêm Xóa Sửa CAUHOI - + MACAUHOI + MACAUHOI BAILAM + MACAUHOI - + MACAUHOI 7. KYTHI (MAKYTHI, TENKYTHI, NGAYTHI, SOCAUHOI, THOIGIAN, DIEM) BANGDIEM (MAKYTHI,MAHS, DIEMTHI) Bối cảnh: KYTHI, BAILAM Điều kiện: KYTHI[MAKYTHI] É BAILAM[MAKYTHI] Tầm ảnh hưởng: Thêm Xóa Sửa KYTHI - + MAKYTHI + MAKYTHI BAILAM + MAKYTHI - + MAKYTHI 8. HOCSINH (MAHS, TENHS, MALOP, NGAYSINH, PHAI, DIACHI, GHICHU, HINHANH) BANGDIEM (MAKYTHI,MAHS, DIEMTHI) Bối cảnh: HOCSINH, BANGDIEM Điều kiện: HOCSINH[MAHS] É BANGDIEM[MAHS] Tầm ảnh hưởng: Thêm Xóa Sửa HOCSINH - + MAHS + MAHS BANGDIEM + MAHS - + MAHS A. TÌM HIỂU VỀ CÔNG NGHỆ C#.NET I. SƠ LƯỢC VỀ C#.Net: Bộ Visual Studio.Net ra đời là một bước nhảy vọt của công nghệ lập trình, nó cung cấp cho nhà lập trình những phương pháp, công cụ cùng với những đặc điểm mới mà các phiên bản của ngôn ngữ lập trình trước đây còn thiếu sót. Ngôn ngữ lập trình C# (hay còn gọi C Shap) là một ngôn ngữ lập trình trên môi trường windows, cho phép lập trình phát triển về phần cứng, kỹ thuật truyền thông, tối ưu hoá, giao tiếp với Internet… và là phiên bản đầu tiên vừa được hãng Microsoft giới thiệu trong bộ Visual Studio.Net 2003. Khởi đầu với tên gọi là Cool vào khoảng năm 2000, C# đã tạo ra một cuộc tranh luận lớn trên nền .NET. Từ các lời đồn đại, các ước đoán, C# đã trở thành một ngôn ngữ đơn giản và hoàn toàn hướng đối tượng làm hài lòng giới lập trình C++. Như chúng ta đã biết C++ bắt nguồn từ C: trước hết là một bổ sung phức hợp cho C, sau đó là một cố gắng thực sự của định hướng đối tượng. Để tốt hơn C, C++ phải giữ lại một số đặc điểm của ngôn ngữ không hướng đối tượng: đó là những hàm độc lập và các biến toàn cục. C# thì khác, nó tuyệt giao hoàn toàn với các đặc tính như thế. Mọi kiểu biến, kể cả kiểu giá trị đơn giản, đều được xem xét như là một đối tượng. Mọi hàm đều phải thuộc một lớp, không còn được dùng các biến toàn cục. Tuy thế, các lớp chứa các hàm tĩnh hay biến tĩnh có thể được xem và hành động như các hàm độc lập và các biến toàn cục. II. MỘT SỐ KHÁI NIỆM CƠ BẢN TRONG C#: 1. Không gian tên (namespace): Hỗ trợ cho sự cô lập và đóng gói các lớp (class), các giao diện, và các struct có liên quân thành một đơn vị (unit). Cú pháp cho việc khai báo một không gian tên như sau: namespace some-namespace-name{ // các lớp (class), các giao diện, các struct… } Có nhiều không gian tên trong .NET Framework khi tương tác với cơ sở dữ liệu, bạn cần khai báo using trong mã nguồn của chương trình. 2. Toán tử trong C#: Toán tử là phép toán được áp dụng cho các kiểu cơ sở hay kiểu đối tượng object. Toán tử một ngôi là toán tử thực hiện trên một toán hạng duy nhất. Toán tử hai ngôi cần phải có hai toán hạng bên phải và trái. Toán tử quan hệ có dạng là biểu thức Boolean có thể được dùng để tạo các những biểu thức điều kiện. Toán tử Ý nghĩa Toán học +, -, *, /, % Logical &, |, ^, !, ~, &&, || Cộng một ngôi, trừ một ngôi ++, -- Shift (dịch chuyển bit) >>, << Quan hệ so sánh = =, ! =, , = Gán =, + =, - =, * =, / =, % =,! =, ^ =, >= Thông tin kiểu Is Chuyển kiểu (Type) Variable, as Trong đó: - Toán tử is: toán tử is dùng để kiểm tra xem kiểu của một thực thẻ là kiểu gì. C# hỗ trợ rất mạnh thông tin về kiểu trong quá trình chạy (runtime) và toán tử is sử dụng thông tin kiểu này để xác định xem thực thể đã cho có phải là kiểu theo yêu cầu hay không. Cú pháp của toán tử is như sau: expression is type Toán tử is có kết quả là Boolean và có thể được sử dụng trong biểu thức điều kiện. Toán tử is trả về giá trị true nếu các điều kiện sau đây được thoã mãn: * Biểu thức có giá trị khác null. * Biểu thức có thể ép kiểu an toàn. Eùp kiểu ở đây được xem là ép kiểu tường minh (explicit) có dạng: (type) (expression). Nếu cả hai điều kiện trên thỏa mãn, toán tử is sẽ trả về giá trị true, ngược lại false. - Toán tử as: cũng sử dụng thông tin về kiểu trong quá trình thực thi như toán tử is, toán tử as sẽ cố gắng ép kiểu một biểu thức sang kiểu được yêu cầu. Cách ép kiểu thông thường có dạng T(e), trong đó T là kiểu và e là biểu thức. Phép ép kiểu sẽ tạo nên một InvalidCastException khi có sự ép kiểu không hợp lệ. Toán tử as không phát sinh ngoại lệ exception, thay vì vậy, kết quả trả về là giá trị null. Toán tử as sử dụng cú pháp tương tự như toán tử is: expression as type - Lớp: hay còn gọi là class là sự gói gọn các dữ liệu và phương thức (method) hoạt động trên dữ liệu đó. Trong C#, lớp được xem là kiểu dữ liệu tham chiếu (reference), do đó các thể hiện (instance) của lớp sẽ được chứa tại vùng nhớ heap và quản lý bởi GC (bộ thu rom rác). Khi một thể hiện của lớp được tạo, bộ nhớ sẽ phân phối vùng nhớ tương ứng trên heap và các tham chiếu đếùn đối tượng sẽ bắt đầu được đếm. Khi số đếm tham chiếu bằng 0, GC sẽ phục hồi lại vùng nhớ bị chiếm bởi đối tượng và trả bộ nhớ sang trạng thái sẵn sàng để sử dụng. Lớp có thể chứa các field (trường), methods (phương thức), event (sự kiện), properties (thuộc tính) và các lớp lồng nhau. Lớp cũng có thể kế thừa từ những lớp khác và phát triển đa giao diện (multiple intefaces). Lớp có thể khai báo các thành phần là public, protected, private, internal hoặc protected internal. Ví dụ một class đơn giản: Using System; public class hocsinh{ // trường tên học sinh private string Tenhs; // phương thức khởi dựng public hocsinh (string tenhs){ Tenhs = tenhs; } public void speak(){ Console.WriteLine(“Chao ban. Ten toi la {0}”,Tenhs); } } public class simple(){ public static void main(){ hocsinh duong = new hocsinh(“duong”); duong.speak(); } } Các bổ từ truy xuất quy định tầm ảnh hưởng của chúng với các biến trong lớp Bổ từ Ý nghĩa Public Tất cả các mã đều thấy được protected Chỉ có thể thấy được ở lớp hiện tại và lớp kế thừa Private Chỉ thấy được ở lớp hiện tại internal Chỉ thấy được ở gói (assembly) hiện tại protected internal Chỉ thấy được ở gói hiện tại và của kiểu dẫn xuất từ lớp III. WINDOWS FORMS: Windows forms là sự thay thế của .NET cho MFC trong Visual C++, nó hoàn toàn là các lớp hướng đối tượng, mang tính kế thừa dành cho các nhà phát triển ứng dụng trong môi trường .NET. Mỗi thành phần giao diện còn gọi là component đặt trên Forms của windows forms là một thể hiện (instance) cụ thể của một lớp nào đó. Component được định vị trên Forms và thay đổi giao diện thông qua các phương thức (method), thuộc tính (property) của lớp đối tượng. Các công cụ phát triển trực quan sẽ cho phép kéo thả (drag-drop) những thành phần component lên Forms và quản lý chặt chẽ việc khởi tạo mã nguồn cũng như tương tác giữa các thành phần component này với nhau. Tương tác của người dùng với các thành phần component trong Windows Forms thực hiện thông qua sự kiện (event). Mỗi thành phần component cung cấp một tập các sự kiện nguồn (event resource) như sự kiện di chuyển chuột, nút nhấn được kích hoạt, con trỏ thay đổi vị trí… Nhiệm vụ của lập trình viên là viết các bộ xử lý (handler) cho những sự kiện này. Các hàm xử lý sự kiện được gọi thông qua mô hình chuyển giao (deligate) mà không cần dựa vào bất kỳ thông điệp nào trong hệ thống. Sử dụng các điều khiển: - Checkbox và nút Radio: Checkbox có thể được đặt trực tiếp trên form hoặc trong một khung chứa hay một nhóm bao gồm nhiều nút. Nút nhấn Radio thường được kết hợp với những nút khác và thường được đặt chung trong một nhóm các nút có quan hệ với nhau, chọn nút này sẽ dẫn tới hủy chọn các nút khác nhau trong cùng nhóm. Tất cả các nút radio đều sử dụng cùng phương thức xử lý sự kiện kích chuột là OnRadio, trong phương thức này chúng ta duyệt qua tất cả các nút trong nhóm và kiểm tra trạng thái nào đang được chọn, tương ứng với nút được chọn chúng ta sẽ thiết lập các giá trị thích hợp cho những biến thành viên. void OnRadio (Object sender, EventArgs e) { int n = 0; foreach (Object o in radiogroup.Controls ) { if (o is RadioButton) { RadioButton r = (RadioButton) o; if (r.Checked) Radio = n; n++; } } } đối với CheckBox, dữ liệu thể hiện lại là các thuộc tính truy xuất trực tiếp đến giá trị của CheckBox. - Ô soạn thảo Edit: Windows Forms cung cấp thành phần điêu khiển là ô soạn thảo edit có khả năng dùng nhập liệu một dòng hoặc nhiều dòng dữ liệu, bạn có thể dùng thành phần edit cho nhiều mục đích khác nhau.Ví dụ đối tượng edit có thể dùng như một cửa sổ soạn thảo tài liệu giống như notepad của Windows. Hoặc đơn giản chỉ là một khung nhỏ cho phép nhập vào mật khẩu (password) với các ký tự ẩn. Trong các ứng dụng, ô soạn thảo edit hay textbox được sử dụng rộng rãi. - ListBox: Đối tượng ListBox (hộp danh sách) cho phép hiển thị các mục chọn ở dạng danh sách dọc hoặc ngang. Bạn có thể chọn cùng lúc một hoặc nhiều mục chọn trong danh sách. - Dialog (hộp thoại): Có hai kiểu hộp thoại: kiểu modal (bắt buộc nhập liệu) và kiểu modaless (không bắt nhập liệu). + Hộp thoại kiểu modal yêu cấu người dùng phải hoàn tất thao tác nhập liệu hoặc những yêu cầu chọn lựa trước khi quay về dòng hoạt động chính của chương trình (ví dụ hộp Options trong Microsoft Word). + Hộp thoại modaless có thể được dùng để thực hiện thao tác nào đó nhưng vẫn cho phép người dùng tương tác với phần còn lại của chương trình chính (ví dụ như hộp tìm kiếm). Hộp thoại được hiển thị bằng cách gọi hàm ShowDialog. Tất cả các hộp thoại thông dụng đều ra đời và kế thừa từ lớp: System.Windows.Forms.CommoDialog. Bạn có thể dùng lớp cơ sở này để tạo ra các hộp thoại tuỳ biến theo ý mình. IV. TRUY CẬP DỮ LIỆU VỚI ADO.NET: ADO.NET là một lớp trong Visual Studio.NET, chúng chia làm hai loại: lớp kết nối (hay còn gọi Connected Layer) và lớp không kết nối (hay còn gọi Disconnected Layer). Với hai lớp này chúng ta có thể kết nối trên các loại dữ liệu như SQL Server, MySQL, MS Access… Trong trường hợp bạn cần thiết phải truy cập và xử lý đến dữ liệu nguồn như truy cập bằng phát biểu select, insert (them mẫu tin), Delete (xoá)… bạn phải sử dụng lớp kết nối. Ngược lại, khi thao tác trên dữ liệu tạm thời, bạn dùng lớp không kết nối. - Mô hình ADO.NET: ADO.NET Object Model System Data UI Data View Data Provider System.Data Data Relation Data Table Data Table Data Column Data Row Data Reader DataAdapter Command Connection Data Column Data Column Data Row Hình: Mô hình đối tượng ADO.Net cài đặt trên MicroSoft.Net Framework Trong đó: - Data Provider: là một phần của mô hình ADO.NET bao gồm bốn lớp: Connection DataAdapter Command DataReader + Lớp Connection (hay còn gọi lớp kết nối cơ sở dữ liệu): sử dụng kết nối dữ liệu nguồn. Để kết nối chúng ta cần khai báo Connection. Có ba loại kết nối: OdbcConnection, OleDbConnection, và SQLConnection. Ví dụ: kết nối SQLConection: SqlConnection con = new SqlConnection ("server=localhost; database=TRACNGHIEM; user id=sa; password=;"); // Mở kết nối cơ sở dữ liệu con.Open(); //Đóng kết nối con.Close(); // Hủy kết nối con.Dispose(); + DataAdapter: dùng để nhận dữ liệu từ dữ liệu nguồn, sau đó chuyển vào DataSet và các lớp quan hệ như DataTable. DataAdapter sử dụng các đối tượng Command để lấy dữ liệu nguồn và cập nhật trở lại dữ liệu nguồn khi có sự thay đổi. + Command: chức năng của chúng dùng để truy cập dữ liệu từ DataAdapter hay truyền dữ liệu vào DataSet thông qua Adapter. Có bốn thuộc tính của đối tượng Command như sau: * SelectCommand: Truy vấn dữ liệu từ nguồn dữ liệu. * InsetCommand: Thêm dữ liệu vào nguồn dữ liệu. * DeleteComand: xoá dữ liệu nguồn. * UpdateCommand: cập nhật dữ liệu. + DataReader: là lớp chỉ đọc, dữ liệu được đọc theo một chiều từ dữ liệu nguồn. - DataSet: Thuộc lớp không kết nối, là một phần của không gian tên System.Data. Chúng bao gồm bảng (Table), cột (Column), dòng (Rows), quan hệ (Relation) và ràng buộc (Constrains). Một trong những điểm mạnh của DataSet là không phụ thuộc vào dữ liệu nguồn, nó có thể chứa dữ liệu từ một hay nhiều cơ sở dữ liệu khác nhau. Để điền dữ liệu từ DataAdapter vào DataSet chúng ta sử dụng phương thức Fill của DataAdapter. - DataTable: Dùng để chế tác nội dung của bảng trong tập Tables của lớp DataSet. Lớp DataTable nằm trong bộ nhớ truy cập nhanh của dữ liệu từ một bảng, cũng như DataSet, lớp DataTable không có lớp con. - DataView: Sử dụng để xem dữ liệu, cũng chính là trạng thái DefaultView trong đối tượng DataTable. DefaultView chỉ làm việc với các đối tượng DataSet, không kết hợp với DataAdapter. Bạn có thể sử dụng lớp này để lọc (filtering), sắp xếp (sorting), tìm kiếm (search) và điều hướng (navigation) ngay cả khi kích hoạt những hàng đó trong DataTable. - DataRow: Sử dụng để trình bày một hàng trong DataTable. Trong thực tế DataRow và DataColumn là khối chính tạo nên lớp DataTable. - DataColumn: Hiển thị lược đồ của một cột trong lớp DataTable. - DataRelation: Dùng để trình bày mối quan hệ cha/con (parent/child) giữa hai DataTable với nhau. Điều này được thực hiện bằng mối liên kết thông qua hai đối tượng DataColumn tương thích với nhau của hai đối tượng DataTable tương ứng. V. CRYSTAL REPORT: Crystal Report for C#.Net là công cụ chuẩn, cho phép bạn thiết kế báo cáo trên ứng dụng của Visual Basic.NET và Visual C#.Net. Ngoài ra, bạn có thể tạo báo cáo trên ứng dụng Web, sau đó thiết lập như một dịch vụ trên trình chủ. Tập tin Crystal report có tên mở rộng .rpt. Trong Crystal Report có nhiều dạng khác nhau như sau: Standart: Mẫu chuẩn có dạng bảng Form Letter: Có dạng thư hoặc văn bản Form: Dạng Form Cross-Tab: Báo cáo dạng chéo Subrport: Dạng báo cáo con Mail: Thư điện tử. Các thuộc tính của CRYSTALREPORTVIEWER Khi bạn sử dụng CrystalReportViewer để hiển thị trên form của C#.NET, chúng ta cần phải tìm hiểu các thuộc tính của control này: - Name: tên của CrystalReportViewer, tên này dùng để tham chiếu khi cần thiết. - AutoScroll: Hai giá trị True/False, True cho phép tự động hiển thị thanh trượt trong trường hợp trang báo cáo lớn hơn kích thước của Control CrystalReportViewer. - BackColor: màu nền của CrystalReportViewer. - BackGroundImage: Sử dụng tập tin hình ảnh cho nền Report. - DisplayGroundTree: True/False, cho phép hiển thị cây dữ liệu bao gồm các trường của bảng. - Enabled: True/False, cho phép người dùng có thể thực hiện các thao tác trên Report. - ReportSource: vị trí của tập tin .rpt CrystalReportViewer trên đĩa ứng với CrystalReportViewer. - ShowCloseButton: True/False cho phép hiển thị hay không nút Close của CrystalReportViewer trên Toolbar. - ShowGotoPageButton: True/False, cho phép hay không hiển thị nút Next để di chuyển đến trang kế tiếp của CrystalReportViewer trên Toolbar. - ShowPrintButton: True/False, cho phép hiển thị hay không nút Print của CrystalReportViewer trên Toolbar. - ShowRefreshButton: True/False, cho phép hiển thị hay không nút Refresh của CrystalReportViewer trên Toolbar. - ShowTextSearchButton: True/False, cho phép hiển thị hay không nút Search của CrystalReportViewer trên Toolbar. - ShowZoomButton: True/False, cho phép hiển thị hay không nút Zoom của CrystalReportViewer trên Toolbar. - Size: kích thước của Report. Ngoài ra, còn có một số thuộc tính khác của control này, chúng ta có thể sử dụng help để tìm hiểu thêm. B. TÌM HIỂU HỆ QUẢN TRỊ SQL SERVER 2000: I. LỊCH SỬ VÀ PHÁT TRIỂN - SQL SERVER 2000: SQL Server là một hệ thống quản lý cơ sở dữ liệu quan hệ RDBMS hay còn được gọi là Ralational Database Management System, là một trong những mô hình cơ sở dữ liệu quan hệ thông dụng hiện nay. Khi nói đến RDBMS System, chúng ta nhìn lại quá trình phát triển cơ sở dữ liệu qua nhiều thập niên, và ta tìm hiểu xem tại sao các công nghệ cơ sở dữ liệu hiện nay được sử dụng rộng rãi trong lĩnh vực lưu

Các file đính kèm theo tài liệu này:

  • docLUAN VAN1.doc
  • rarANH.rar
  • docBIA.DOC
  • rarcode.rar
  • docMODAU.DOC
  • docMUC LUC.doc
  • docnhan xet.doc
  • docnhiem vu.doc
  • docphan ABC.doc
  • rarsetup.rar