Đây là một giải pháp tin học có tính khả thi cao, khắc phục được những khó khăn mà một trung tâm lớn gặp phải. Tuy nhiên nếu được áp dụng thử sẽ có được những góp ý quý báu, chương trình sẽ được cải tiến để hiệu quả hơn.
Qua việc nghiên cứu đề án chuyên ngành, chúng em đã học được cách thu thập tài liệu, áp dụng kiến thức vào việc giải quyết một vấn đề tin học kinh tế. Cũng qua đề án chuyên ngành này, em thấy rằng cần phải lao động thực sự mới có được một sản phẩm tin học hay, tốt.
Giải pháp tin học này có thể ứng dụng tại các trung tâm đào tạo tin học, các trung tâm đào tạo ngoại ngữ hoặc các trung tâm đào tạo kinh tế ngắn hạn của trường đại học Kinh tế Quốc dân. Điều tất nhiên là phải có những sửa đổi hệ thống để phù hợp với ngữ cảnh áp dụng.
37 trang |
Chia sẻ: aloso | Lượt xem: 1486 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Đề tài Xây dựng hệ thống thông tin trợ giúp quản lý trung tâm đào tạo tin học, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
PHẦN I: GIỚI THIỆU ĐỀ TÀI
Hiện nay, trên các địa bàn của cả nước nói chung, địa bàn Hà Nội nói riêng xuất hiện rất nhiều hình thức đào tạo theo mô hình trung tâm như các trung tâm đào tạo tin học, trung tâm đào tạo ngoại ngữ, các trung tâm đào tạo nghiệp vụ kinh tế ngắn hạn như: kế toán, quản trị kinh doanh,…. Các trung tâm này có quy mô khác nhau. Đối với các trung tâm có quy mô nhỏ thì có thể quản lý theo hình thức thủ công – trên sổ sách. Nhưng đối với các trung tâm lớn do uy tín của mình ngày càng thu hút được nhiều học viên và do đó quy mô của trung tâm ngày càng mở rộng. Điều này làm cho hình thức quản lý một trung tâm theo cách thủ công gặp rất nhiều khó khăn. Cần thiết phải có một giải pháp tin học hoá. Điều đó đã khiến em nảy ra ý định xây dựng một hệ thống thông tin hỗ trợ quản lý một trung tâm đào tạo điển hình. Một trung tâm đào tạo tin học được lấy ra làm ví dụ để xây dựng giải pháp.
Nội dung của đề án gồm 4 phần :
Phần I
:
Giới thiệu đề tài
Phần II
:
Phân tích thiết kế hệ thống thông tin trung tâm đào tạo tin học
Phần III
:
Giới thiệu kỹ thuật lập trình ADO bằng Visual Basic
Phần IV
:
Xây dựng phần mềm quản lý trung tâm đào tạo tin học
Em xin chân thành cảm ơn các thầy cô giáo trong khoa Tin học Kinh tế đã trang bị cho em những kiến thức, những điều kiện về vật chất và tinh thần để hoàn thành đề tài.
Đặc biệt em xin được bày tỏ sự biết ơn tới thầy giáo Phùng Tiến Hải đã trực tiếp giúp đỡ em trong quá trình nghiên cứu đề tài.
Do thời gian, trình độ, kinh nghiệm còn hạn chế nên đề án chuyên ngành không tránh khỏi nhiều thiếu sót. Rất mong nhận được những ý kiến đóng góp từ phía các thầy cô giáo và các bạn sinh viên. Ý kiến xin được gửi về :
Kim Văn Diệp, lớp Tin học Kinh tế 41B, Khoa THKT, Đại học KTQD
Email : kv_diep@yahoo.com
Hà nội, tháng 10 năm 2002
Tác giả
PHẦN II
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG THÔNG TIN CHO TRUNG TÂM ĐÀO TẠO TIN HỌC
I- CÁC GIAI ĐOẠN CỦA PHÁT TRIỂN MỘT HỆ THỐNG THÔNG TIN
Giai đoạn 1 : Đánh giá yêu cầu
Giai đoạn 2 : Phân tích chi tiết
Giai đoạn 3 : Thiết kế logic
Giai đoạn 4 : Đề xuất các phương án của giải pháp
Giai đoạn 5 : Thiết kế vật lý ngoài
Giai đoạn 6 : Triển khai hệ thống
Giai đoạn 7 : Cài đặt và khai thác
Do đề án chuyên ngành là một học phần giúp sinh viên thực hành việc đưa kiến thức đã học vào nghiên cứu và giải quyết một vấn đề tin học, mang tính chất nghiên cứu để phục vụ học tập và là bước tập dượt cho giai đoạn thực tập sau này. Chính vì vậy, trong đề án em chỉ thực hiện được ba giai đoạn đầu tiên là Đánh giá yêu cầu, Phân tích chi tíêt, Thiết kế logic và một phần của giai đoạn 6 - Lập trình xây dựng phần mềm quản lý trung tâm đào tạo tin học.
GIAI ĐOẠN I
ĐÁNH GIÁ YÊU CẦU
1. Đánh giá yêu cầu
Tên đề tài : Xây dựng hệ thống thông tin trợ giúp quản lý trung tâm đào tạo tin học
Người yêu cầu : Trung tâm đào tạo tin học Future (đây chỉ là tên lấy ví dụ).
Mô tả :
- Trung tâm đào tạo tin học Future là một trung tâm đào tạo tin học có uy tín với đội ngũ giáo viên có nhiều kinh nghiệm giảng dạy và hiện nay đang giảng ở các trường đại học và làm tại các công ty tin học lớn.
- Hiện nay trung tâm đang đào tạo các khoá học như sau :
Tin học VP
MS Word
MS Excel
MS Powerpoint
MS Project
MS Outlook
MS Frontpage
Kế toán VN
Fast
Acsoft
Kế toán Mỹ
Effect
Quicken
Lotus Note
Lập trình
Pascal
C, C++
VB, VBScript
Delphi
VC++
Visual Studio.Net
Java, JScript
JSP
ASP
VBA với Excel
Cơ Sở DL
SQL Server
Oracle
MS Access
Visual Poxpro
Informix
Network
1. Thiết kế và quản trị mạng LAN, WAN
2. Khai thác và sử dụng mạng Internet
Đồ hoạ
Autocad
Corel Draw
3D Max
SAP2000
Photoshop
Illustrator
Quarkxpress
- Hệ thống phòng học bao gồm 3 khu nhà với 21 phòng học.
Sau khi hoàn thành khoá học, học viên được cấp chứng chỉ của hội tin học Việt Nam
Học phí được đóng làm 3 lần
2. Vấn đề nảy sinh
Do quy mô của trung tâm khá lớn và với sự tín nhiệm của mình trung tâm ngày càng thu hút được nhiều học viên. Vì thế, quy mô của trung tâm ngày càng lớn do đó công việc quản lý trung tâm về Học viên, giáo viên, phân phối phòng học và học phí ngày càng phức tạp. Chính vì vậy trung tâm quyết định phải tin học hoá quá trình quản lý.
Khó khăn trong việc trả lời người có nhu cầu học đúng lớp mà họ yêu cầu về thời gian
Khó khăn trong việc quản lý và phân phối phòng học
Khó khăn trong việc quản lý học phí, theo dõi học viên nợ học phí
Rắc rối khi phải lưu trữ, tìm kiếm thông tin về học viên và giáo viên bằng sổ sách.
Yêu cầu của trung tâm : Phải khắc phục được những nhược điểm nêu trên bằng cách xây dựng mới hệ thống thông tin cho trung tâm
Khung cảnh hệ thống
Học viên
- Hồ sơ học viên
- Hồ sơ giáo viên
- Sổ sách kế toán
Các báo cáo
Lịch giảng dạy
Thẻ học viên
Thu học phí
Hợp đồng giảng dạy
Phiếu đăng ký
HỆ THỐNG THÔNG TIN QUẢN LÝ TRUNG TÂM
Người có nhu cầu học
Giáo viên có nhu cầu dạy
Kế toán của trung tâm
Giáo viên
Giám đốc trung tâm
3. Đánh giá khả thi của giải pháp
Khả thi về tổ chức
2. Khả thi kỹ thuật
Giải pháp này hoàn toàn khả thi về mặt kỹ thuật
Yêu cầu :
Phần cứng : Một máy PC
Phần mềm : - Phần mềm hệ thống : Hệ điều hành Windows 9x, NT
- Microsoft Office 2000 (Bắt buộc có MS Access 2000)
3. Khả thi về tài chính
1 Máy PC + 1 Máy in 11 Triệu
Viết phần mềm 6,5 Triệu
Hướng dẫn sử dụng 0,5 Triệu
Chi phí khác 2 Triệu
Tổng cộng : 20 Triệu
4. Khả thi về mặt thời gian : 75 Ngày
GIAI ĐOẠN II
PHÂN TÍCH CHI TIẾT
1. Lập kế hoạch nghiên cứu chi tiết
1.1 Thành lập đội ngũ
Gồm các thành viên sau :
Người ra quyết định : Giám đốc trung tâm
Phân tích viên hệ thống
Người sử dụng
Lập trình viên
Hướng dẫn sử dụng
1.2 Lựa chọn phương pháp và công cụ
+ Thực hiện phỏng vấn những người sau :
- Giám đốc trung tâm
- Kế toán viên
- Phụ trách trung tâm ( Nhân viên đăng ký)
+ Nghiên cứu tài liệu :
- Lịch giảng dạy
- Phiếu đăng ký học
- Sổ thu học phí
- Hồ sơ giáo viên, học viên
- Danh sách phòng học
- Danh sách Khoá học, Lớp học
2. nghiên cứu hệ thống thông tin hiện tại
Hệ thống thông tin hiện tại của trung tâm chủ yếu làm việc một cách thủ công nó được mô tả như sau :
+ Khi người có nhu cầu học tại trung tâm đến đăng ký học tại trung tâm qua bàn đăng ký. Người phụ trách của trung tâm sẽ tìm kiếm thông tin về khoá học mà người đó cần. Khi đáp ứng được nhu cầu của người học thì người phụ trách sắp xếp học viên vào đúng lớp và tiến hành thu học phí lần đầu để cấp thẻ học viên. Học phí được thu làm 3 lần trong cả quá trình của khoá học.
+ Khi giáo viên ký kêt hợp đồng giảng dạy với trung tâm thì họ được sắp xếp lịch dạy theo đúng thời gian biểu của họ trong hợp đồng.
+ Nhiệm vụ của người phụ trách là phải khớp lịch giữa người dạy và người học điều này trở nên thật sự khó khăn khi số lượng các khoá học, lớp học, giáo viên, học viên tăng lên.
+ Kế toán viên của trung tâm tiến hành thu học phí của học viên và viết phiếu biên nhận.
+ Người phụ trách kết hợp với kế toán viên để lên các báo cáo cho Giám đốc trung tâm.
3. Chẩn đoán và xác định các yếu tố của giải pháp ( mục tiêu của hệ thống mới)
Vấn đề
Nguyên nhân
Mục tiêu
Giải pháp
1. Tìm kiếm thông tin về giờ học để đáp ứng yêu cầu của người có nhu cầu học rất chậm và bị nhầm lẫn
Có quá nhiều lớp và giờ học khác nhau của một khoá học. Các thông tin này lại lưu trữ trên sổ sách nên rất khó tìm
Quá trình tìm kiếm thông tin được rút gọn khoảng 2 giây là có thể trả lời được
Hệ thống lọc giờ học theo yêu cầu của khách hàng
2. Khi sắp lớp học thường bị nhầm lớp
Do quy mô của trung tâm lớn hơn nữa lịch học tại các phòng lai khó rà soát trên sổ sách.
Không còn tình trạng nhầm lẫn phòng học
Hệ thống báo lỗi khi phân phòng học cho lớp khi cùng thời điểm đó lại có một lớp khác học
3. Không thể ngay một thời điểm thống kê số học viên còn nợ học phí của các lớp
Các lớp nằm ở các trang khách nhau của sổ học viên
Ngay lập tức lọc được số học viên còn nợ học phí lần 1, lần 2, lần 3
Xây dựng chức năng lọc theo những người còn nợ học phí trong chức năng quản lý học viên
4. Quá trình tìm kiếm các thông tin về số lớp của mỗi khoá, số học viên của mỗi lớp rất chậm
Do lưu trữ thủ công
3 giây kể cả các thao tác
Xây dựng chức năng tìm kiếm và lọc tích hợp trên mỗi form chức năng
5. Phải tốn nhiều giấy để lưu hồ sơ học viên, giáo viên, lớp học, khoá học …
Quy mô tăng lên
Giảm thiểu được số giấy tờ ghi chép và lưu trữ
Sử dụng cơ sở dữ liệu để lưu thông tin có hiệu quả hơn, chi phí thấp hơn
GIAI ĐOẠN III
PHÂN TÍCH LOGIC
1. Sơ đồ DFD mức 0 của hệ thống ( Data Flow Diagram – Context )
Báocáo lớp học
Báo cáo tài chính
Hợp đồng giảng dạy
thẻ
học viên
Phiếu lương
Người có nhu cầu học
1.0
Đăng ký
2.0
Xếp lớp
Học viên
Lớp học
3.0
Thu học phí
Giáo viên
Bộ phận tài chính
Sổ phân công
Giám đốc trung tâm
Sổ đăng ký
Phiếu
Đăng ký
4.0
Phân công dạy
Báo cáo giảng dạy
2. Thiết kế cơ sở dữ liệu logic đi từ các thông tin đầu ra
2.1 Các tài liệu đầu ra thu thập được
STT
Mã TL
Tên Tài liệu
Phần tử thông tin trên đầu ra
Nguồn
Mô tả
Ghi chú
1
LGD
Lịch giảng dạy
Lớp học, Phòng học, Tên giáo viên, Khoá học, Giờ học, ngày học
Phụ trách trung tâm
Phân công lịch giảng dạy cho giáo viên
2
PDK
Phiếu đăng ký học
Họ và tên, địa chỉ, điện thoại, ngày sinh, giới tính, Khoá học, thời gian
Phụ trách trung tâm
Khách hàng đăng ký học
3
HGV
Hồ sơ giáo viên
Mã GV, Họ tên, Ngày sinh, giới tính, ngày sinh, thời gian nhận giảng, khoá học nhận giảng, email
Giám đốc trung tâm
Lưu trữ thông tin về giáo viên
4
HHV
Hồ sơ học viên
Mã học viên, Họ và tên, ngày sinh, giới tính, địa chỉ, điện thoại, theo học lớp nào, Thuộc khoá học nào
Giám đốc trung tâm
Lưu trữ thông tin về học viên
5
STP
Sổ thu học phí
Tên học viên, Lớp học, khoá học, lần thu phí 1, lần thu phí2, lần thu phí 3, Ngày thu
Kế toán trung tâm
Lưu trữ và theo dõi thông tin về học phí của học viên
6
DSK
Danh sách khoá học
Mã khoá học, tên khoá học, số giờ, học phí, số tiền đóng mỗi đợt
Phụ trách trung tâm
Cung cấp danh sách các khoá học mà trung tâm đang đảm nhiệm
7
DSL
Danh sách lớp học
Mã lớp, khoá học, giờ học, giáo viên ứng với giờ học, ngày khai giảng
Hạn thu hểt học phí
Phụ trách trung tâm
Cung cấp các danh sách khoá học mà trungtâm đang đảm nhiệm
2.2 Sơ đồ cấu trúc dữ liệu DSD ( Data Structure Diagram )
Phòng học
Thời khoá biểu
Lớp học
Giáo viên
Phụ Trách
Học viên
Khoá học
Học phí
MaPhongHoc
DiaDiem
ID
MaLop
ThoiGianHoc
MaLop
MaGiaoVien
NgayKhaiGiang
MaPhongHoc
HanTraHetHP
MaKhoaHoc
Email
DienThoaiGV
GioiTinh
NgaySinhGV
TenGiaoVien
MaGiaoVien
MaGiaoVien
MaKhoaHoc
MaLop
MaHocVien
TenHV
NgaySinh
GioiTinh
DiaChi
DienThoai
TenKhoaHoc
ThoiGian
HocPhi
Lan1
Lan2
Lan3
MaKhoaHoc
MaHocVien
PhiLan1
NgayTra1
PhiLan2
NgayTra2
PhiLan3
NgayTra3
MaKhoaHoc
2.3 Sơ đồ quan hệ thực thể ERD ( Entity Relationship Diagram )
PHẦN III
GIỚI THIỆU KỸ THUẬT LẬP TRÌNH ADO BẰNG VISUAL BASIC
Cho ®Õn VB 5.0, ADO (®èi tîng d÷ liÖu Activex – Activex Data Object ) trë thµnh nÒn t¶ng cña kü thuËt truy cËp c¬ së d÷ liÖu internet. Trong VB6, ADO 2.0 cµng quan träng h¬n – m¹nh mÏ h¬n. ta cã thÓ dïng ADO kh«ng chØ ®Ó truy cËp c¬ së d÷ liÖu th«ng qua trang web, mµ cßn cã thÓ dïng nã ®Ó lÊy d÷ liÖu tõ øng dông viÕt b»ng Visual Basic. ADO lµ giao diÖn dùa trªn ®èi tîng cho c«ng nghÖ d÷ liÖu míi næi gäi lµ OLE DB
OLE DB ®îc thiÕt kÕ ®Ó thay thÕ ODBC nh mét ph¬ng thøc truy cËp d÷ liÖu. ODBC hiÖn thêi lµ tiªu chuÈn phÝa client sö dông windows rÊt phæ biÕn ®Ó truy cËp c¸c d÷ liÖu quan hÖ bëi v× nã thiÕt lËp c¸c server c¬ së d÷ liÖu quan hÖ cµng tæng qu¸t cµng tèt ®Õn c¸c øng dông client. OLE DB ®i s©u h¬n mét bíc b»ng c¸ch lµm cho tÊt c¶ nguån d÷ liÖu trë thµnh tæng qu¸t ®èi víi øng dông client
I. X©y dùng øng dông Visual Basic víi ADO
ADO lµ c«ng nghÖ truy cËp c¬ së d÷ liÖu híng ®èi tîng t¬ng tù DAO vµ RDO
ADO hiÖn nay ®îc Microsoft xem lµ kü thuËt ®Ó truy cËp c¬ së d÷ liÖu tõ web server. Bëi v× ADO ®îc cung cÊp díi d¹ng th viÖn activeX Server (t¬ng tù ADO vµ RDO), ta cã thÓ tho¶i m¸i dïng ADO trong øng dông visual basic. trong thùc tÕ , b»ng nhiÒu c¸ch , ta sÏ thÊy r»ng sö dông ADO ®Ó lµm viÖc víi c¬ së d÷ liÖu Client / Server th× dÔ h¬n c¸c kü thuËt kh¸c .
1. T×m hiÓu cÊu tróc OLE DB /ADO
PhÇn lín c¸c nhµ lËp tr×nh visual basic kh«ng t¬ng t¸c trùc tiÕp víi OLE DB .
Tr×nh cung cÊp OLE DB kh«ng nhiÒu nh c¸c tr×nh ®iÒu khiÓn ODBC, nhng sè lîng nµy ®· t¨ng lªn ®¸ng kÓ tõ khi ADO 2.0 ®îc ph¸t hµnh vµo n¨m 1998 . Phiªn b¶n nµy, ®· ®îc ®· vµo Visual Basic 6.0, bao gåm c¸c tr×nh cung cÊp côc bé cho SQL server, Oracle, vµ Microsoft Jet / Access.
Cã nhiÒu kh¶ n¨ng b¹n cã thÓ dïng ADO vµ OLE DB ®Ó ®¹t ®îc nguån d÷ liÖu quan hÖ ngay khi kh«ng cã tr×nh cung cÊp OLE DB côc bé. Bëi v× ®· cã mét tr×nh cung cÊp OLE DB tæng qu¸t cho c¬ së d÷ liÖu quan hÖ ODBC.
Ta chØ cÇn lËp tr×nh víi phÇn giao diÖn ngêi sö dông ë phÝa client. Bëi v× viÖc truy cËp d÷ liÖu trªn c¶ tr×nh duyÖt web vµ øng dông Visual Basic ®îc chuyÓn hÕt vÒ phÝa ActiveX Server ,ta cã thÓ b¶o ®¶m r»ng logic ch¬ng tr×nh lu«n nhÊt qu¸n, bÊt kÓ lo¹i øng dông nµo ®ang ®îc dïng.
Client Application
Client WorkStation
Remote Data Object
ODBC Driver
ODBC Driver Manager
ActiveX Data Object
OLEDB Data Provider
OLEDB
Relation Database
Document Server
Email Server
H×nh trªn m« t¶ sö dông ADO vµ OLEDB ®Ó truy nhËp c¬ së d÷ liÖu
2. Cµi ®Æt vµ thiÕt lËp tham chiÕu ®Õn ADO trong øng dông visual basic.
ADO ®îc cµi ®Æt nh mét phÇn cña Visual Basic 6.0. Phiªn b¶n míi nhÊt cña ADO cho phÐp t¶i xuèng miÔn phÝ t¹i ®Þa chØ.
http : //www.microsoft.com/data/ado/. Khi Microsoft ph¸t hµnh c¸c cËp nhËt vµ nh÷ng tÝnh n¨ng t¨ng cêng cho ADO, ta cã thÓ t¶i xuèng tõ web. Nhí r»ng c¸c chøc n¨ng ADO víi m«i trêng ph¸t triÓn bÊt kú cã thÓ ®îc xö lý víi c¸c ®èi tîng Activex / COM, bao gåm Visual Basic, Visual C++, Microsoft office ,vµ kÞch b¶n trªn web Active Server Page.
Sau khi cµi ®Æt xong, ta b¾t ®Çu sö dông nã b»ng c¸ch thiÕt lËp tham chiÕu ®Õn th viÖn ADO trong øng dông VB, t¬ng tù nh khi ta thiªt lËp tham chiÕu ®Õn th viÖn ADO hay RDO:
trong ®Ò ¸n visual basic ,chän project , references.
hép tho¹i references xuÊt hiÖn .
chän vµo hép ®¸nh dÊu “microsoft activeX data objects 2.0 library” råi nhÊn Ok
Khi tham chiÕu th viÖn ADO trong ®Ò ¸n, b¶o ®¶m r»ng kh«ng cã tham chiÕu ®Õn th viÖn “microsoft activeX data objects 2.0 recordset”. §©y lµ phiªn b¶n lo¹i nhÑ cña th viÖn ADO ®îc thiÕt kÕ ®Ó sö dông trªn phÝa client cña øng dông client / server. Nã chØ hç trî c¸c ®èi tîng Recordset vµ field. NÕu nhËn thÊy r»ng kh«ng thÓ t¹o ®îc instance cña ®èi tîng Connection hay Command trong øng dông ADO, ta cã thÓ nghÜ ®Õn nguyªn nh©n nµy.
3. Sö dông ADO víi c¸c th viÖn ®èi tîng truy cËp d÷ liÖu kh¸c.
NÕu b¹n t¹o øng dông ®îc thiÕt kÕ ®Ó sö dông ADO kÕt hîp víi th viÖn ®èi tîng truy cËp d÷ liÖu kh¸c, nh ADO, cÇn ph¶i cÈn thËn ph©n biÖt gi÷a, vÝ dô nh, ®èi tîng Recordset cña DAO vµ Recordset cña ADO. Chóng kh«ng thÓ ®æi chç cho nhau ®îc.
NÕu ta tham chiÕu ®Õn võa DAO võa ADO trong ®Ò ¸n vµ ta t¹o mét biÕn Recordset, lµm thÕ nµo ®Ó nhËn biÕt Recordset cña DAO hay cña ADO ? C©u tr¶ lêi lµ thø tù ta thiÕt lËp tham chiÕu vµo ®Ò ¸n. NÕu ta thªm mét tham chiÕu ®Õn th viÖn DAO tríc, t¹o ®èi tîng Recordset sÏ cho ta mét Recordset kiÓu DAO ta cÇn dïng tªn líp ®Çy ®ñ ADODB. Recordset ®Ó t¹o ®èi tîng Recordset cña ADO mét c¸ch têng minh. (tªn têng minh cña mét líp cßn ®îc hiÓu nh lµ progID ).
Mét sè m«i trêng ph¸t triÓn, nh lµ ASP vµ c¸c phiªn b¶n cò cña øng dông Microsoft Office, kh«ng hç trî rµng buéc sím. §iÒu nµy cã nghÜa lµ ta kh«ng thÓ thiÕt lËp tham chiÕu ®Õn th viÖn ®èi tîng theo c¸ch cã thÓ lµm b»ng hép tho¹i Recordset trong Visual Basic. §èi víi c¸c m«i trêng ®ã, ta lu«n lu«n dïng có ph¸p ®èi tîng th viÖn ®Ó t¹o ®èi tîng tõ th viÖn ADO. NÕu kh«ng muèn tham chiÕu trùc tiÕp ®Õn th viÖn ®èi tîng trong ch¬ng tr×nh ta cã c¸ch kh¸c. Ta cã thÓ kiÓm so¸t th viÖn ®èi tîng nµo ®îc truy cËp mÆc ®Þnh b»ng c¸ch dïng gi¸ trÞ møc u tiªn trong hép tho¹i References .
VÝ dô, ®Ó cÊp cho th viÖn ®èi tîng DAO møc u tiªn cao h¬n th viÖn ®èi tîng ADO, ta lµm nh sau :
Trong ®Ò ¸n VB, chän Project, References
Tham chiÕu ®Õn Microsoft dao 3.51 objects library vµ Microsoft ActiveX Data Objects 2.0 library (gi¶ sö chóng ®· ®îc cµi ®Æt trªn m¸y )
NhÊn (nhng kh«ng bá chän) vµo tham chiÕu ®Õn th viÖn ®èi tîng DAO
NhÊn vµo mòi tªn trá lªn – xuèng cã tªn lµ Priority. Tham chiÕu ®Õn th viÖn ®èi tîng DAO di chuyÓn vÒ phÝa trªn danh s¸ch. §iÒu nµy cã nghÜa lµ DAO sÏ ®îc dïng khi ta t¹o mét ®èi tîng ( nh lµ ®èi tîng Recordset ) cã cïng tªn víi ®èi tîng trong th viÖn ADO. ví dụ :
Option Explicit
' references dao 3.51
' references ado 2.0
Dim db As dao.Database
Private adoRS As ADODB.Recordset
Private daoRS As dao.Recordset
Private cn As ADODB.Connection
Sub Form_load()
Set cn = New ADODB.Connection
StrSQL = "SELECT * from tblGiaoVien"
……..
End Sub
4. Dïng ®èi tîng Connection cña ADO ®Ó kÕt nèi víi nguån d÷ liÖu
1.4.1. ChØ ra tr×nh cung cÊp ®Ó kÕt nèi
Dïng chuçi kÕt nèi trong ADO ®Ó cung cÊp th«ng tin vÒ c¸ch thøc kÕt nèi víi Server c¬ së d÷ liÖu. Ta dïng tr×nh cung cÊp ODBC cho OLE DB, chuçi kÕt nèi t¬ng tù chuçi kÕt nèi ODBC. §iÒu nµy cã nghÜa lµ th«ng tin chÝnh x¸c ®îc mong chê bëi tr×nh ®iÒu khiÓn ODBC cã thÓ thay ®æi tuú theo c¸ch thùc hiÖn. §èi víi c¸c tr×nh cung cÊp kh¸c, chuçi kÕt nèi cã thÓ cã mét có ph¸p hoµn toµn kh¸c.
Khi ta dïng tr×nh cung cÊp ODBC, thuéc tÝnh ConnectString cã thÓ lµ mét DSN (Tªn nguån d÷ liÖu) hay nã lµ kÕt nèi kh«ng cã DSN. §©y lµ mét vÝ dô cña mét kÕt nèi ®Õn c¬ së d÷ liÖu dïng tr×nh cung cÊp ODBC víi DSN:
cn.Provider = “MSDASQL”
cn.ConnectString = “DSN=MyDB” ‘ với MyDB là tªn DSN ta t¹o
Sö dông mét DSN trong chuçi kÕt nèi dÜ nhiªn yªu cÇu mét DSN tªn lµ MyDB thùc sù tån t¹i trªn m¸y Client.
Connection object
Errors Collection
Error object
Properties Collection
Properties object
Properties
Attributes
CommandTimeOut
ConnetionString
ConnectionTimeOut
CursorLocation
DefautDatabase
Errors Collection
Isolation Level
Mode
PropertiesCollection
Provider
State
Version
Methods
BeginTrans
Cancel
Close
CommitTrans
Execute
Open
OpenSchema
RolbackTrans
Events
BeginTransComplete
CommitTransComplete
ConnectComplete
Disconnect
ExecuteComplete
Informessage
RolbackTransComplete
WillConnect
WillExecute
M« h×nh ®èi tîng Connection cña ADO
Trêng hîp kÕt nèi kh«ng cã DSN:
cn.Provider = “MSDASQL”
cn.ConnectString = “DRIVER= {SQL=Server};DATABASE=MyDB”;UID=randy;PWD=prince;”
KÕt nèi nµy sÏ nèi kÕt server nhanh h¬n bëi v× nã kh«ng cÇn ®äc th«ng tin DSN tõ b¶ng ®¨ng ký cña Windows. Tuy nhiªn, nã kÐm linh ho¹t v× nã g¾n chÆt th«ng tin nèi víi ch¬ng tr×nh ®· ®îc biªn dÞch.
VÝ dô kÕ tiÕp thÓ hiÖn ®èi tîng Connection dïng tr×nh cung cÊp Microsoft Jet OLE DB. §èi víi tr×nh cung cÊp Jet, chuçi kÕt nèi lµ ®êng dÉn vµ tËp tin MDB:
cn.Provider = “Microsoft Jet OLE DB.3.51”
cn.ConnectString = “c:\data\CSDL.mdb”
§Ó kÕt nèi víi c¬ së d÷ liÖu b¶o mËt dïng ADO vµ tr×nh cung cÊp Jet, ta ph¶i cung cÊp thªm th«ng tin th«ng qua tËp hîp Properties cña ®èi tîng Connection. Thêng lµ tªn ngêi dông, mËt khÈu, vÞ trÝ cña c¬ së d÷ liÖu chøa th«ng tin vÒ b¶o mËt:
cn.Provider = “Microsoft Jet OLE DB.3.51”
cn.ConnectString = “c:\data\CSDL.MDB” ‘ KÕt nèi víi c¬ së d÷ liÖu Access 97
cn.properties (“password”) = “mypass”
cn.properties (“User ID”) = “myname”
cn.Open
§Ó nèi víi mét c¬ së d÷ liÖu SQL Server, ta dïng tr×nh cung cÊp SQLOLEDB.1:
cn.Provider = “SQLOLEDB.1”
cn.ConnectString = “DATABASE= mydata; SERVER = mysvr; UID = user; PWD = mypass;”
Lu ý r»ng ë trêng hîp nµy, chuçi kÕt nèi cña SQL Server t¬ng tù víi chuçi kÕt nèi kh«ng cã DSN, ngo¹i trõ tham sè DRIVER =.
§Ó kÕt nèi víi Oracle, ta dïng tr×nh ®iÒu khiÓn Oracle, gäi lµ MSDAORA:
cn.Provider = “MSDAORA”
cn.ConnectString = user/mypass
5. Làm việc với con trỏ
Tương tự RDO và DAO, ADO hỗ trợ một số kiểu con trỏ. Ngoài việc cung cấp hỗ trợ duyệt qua các mẩu tin tại một thời điểm , các kiểu con trỏ khác nhau cho phép ta điều khiển cách quản lý của một Recordset.
Quy định vị trí con trỏ bằng cách gán gán giá trị con trỏ cho thuộc tính Recordset
Kiểu con trỏ
Hằng
Mô tả
Phía Client
adUseClient
Tạo con trỏ phía client
Phía Server
adUseServer
Tạo con trỏ phía Server
Forward-Only
adOpenForwardOnly
Không dùng con trỏ ta chỉ có thể chuyển
về phía trước trong recordset. nếu sử dụng MovePrious và MoveNext sẽ sinh lỗi
Keyset
adOpenKeyset
Ta sẽ không thấy mẩu tin mới do người sử dụng khác thêm vào nhưng khi họ xoá, sửa sẽ làm ảnh hưởng đến Recordset của ta
Dynamic
adOpenDynamic
Ta có thể thấy toàn bộ thay đổi trên dữ liệu do những người khác thực hiện trong khi ta đang mở recordset
Static
adOpenStatic
bản sao toàn bộ cơ sở dữ liệu của một recordset
6. Chiến lược khoá bản ghi
ADO cho phép quy định các kiểu khoá mẩu tin khác nhau. Ta dung chức năng này khi cần kiểm soát cách thức cập nhật mẩu tin với nhiều người sử dụng trong cơ sở dữ liệu.
Hằng
Mô tả
AdLockReadOnly (Mặc định)
cấm cập nhật mẩu tin
AdLockPressimistic
Mẩu tin trong Recordset sẽ bị khoá ngay khi bắt đầu sửa đổi, tiếp tục khoá cho đến khi thi hành phương thức Update hay di chuyển qua mẩu tin khác
AdLockOptimistic
Mẩu tin bị khoá ngay trong khi thi hành phương thức Update hay di chuyển qua mẩu tin khác
AdLockBatchOptimistic
Cập nhật nhiều mẩu tin cùng lúc
7. Đóng và mở kêt nối đến nguồn dữ liệu
- Mở một connection : Cn.Open [connect], [UserID], [Password]
- Đóng một connection: Cn.Close và Set Cn=Nothing để huỷ hẳn biến connection
Ví dụ :
‘ Tham chiếu đến ADO 2.1
Dim Cn as connetion
Private Sub Form_Load()
Set cn=new connection
Cn.open “DSN=MyDB;”
End sub
Đoạn chương trình này giả sử rằng ta có tên nguồn dữ liều ODBC (DSN) là MyDB được cài trên máy. Nếu chưa cài DSN này, hay không muốn tạo nó trên máy Client, ta có thể cung cấp tất cả thông tin kết nối cùng lúc dưới dạng một kết nối không có DSN.
Khi đã hoàn tất với đối tượng Connection của ADO, ta nên luôn luôn đóng nó bằng phương thức Close. Cn.Close
Đóng kết nối một cách tường minh bảo đảm rằng tài nguyên bất kỳ (trên Client hoặc Server hoặc cả hai) liên quan với kết nối này đều được nhả đúng quy ước.
8. Sử dụng đối tượng Recordset của ADO để thao tác với dữ liệu
Đối tượng Recordset của ADO, tương tự Recordset của DAO và rdoResultset của RDO, là phương pháp truy cập thông tin được trả về từ trình cung cấp dữ liệu, Recorset của ADO có nhiều thuộc tính và phương thức trùng với Recordset của các mô hình khác, vì thế có thể làm việc với chúng tương tự các Recordset khác. Xem mô hình sau để thấy được cấu trúc của đối tượng RecordSet
Thủ tục tạo Recordset của ADO tương tự tạo rdoResultset của RDO. Tuy nhiên, ADO thêm một thay đổi lý thú: khả năng tạo đối tượng Recordset không đòi hỏi một đối tượng Connection ngầm (Khác với Recordset ngắt kết nôí - kết nối vẫn có, nhưng không có biến đối tượng thể hiện nó).
Ví dụ sau trình bày cách tạo đối tượng Recordset của ADO theo cách cổ điển. Kỹ thuật này gần gũi với nhà lập trình RDO - trước hết tạo đối tượng Connection, rồi thi hành truy vấn trên kết nối bằng cách truyền một câu truy vấn SQL đến phương thức Execute của đối tượng Connection.
Lưu ý: Chuỗi lệnh tạo Recordset của ADO có thể là tên bảng tên truy vấn, hay câu lệnh SQL nó hoạt động tương tự phương thức OpenRecordset trong DAO.
Ví dụ: Tạo đối tượng Recordset của ADO dùng đối tượng Connection và Recordset.
Option Explicit
‘References ADO 2.1
Private cn As Connection
Private Sub Form Load ()
Set cn = new ADODB. Connection
Cn.connectionString = “DSN = MyDB”
Cn. Open
End Sub
Private Sub cmdquery CN Click()
Dim rs As ADODB. Recordset
Set rs = new ADODB. Recordset
Rs. Source = “select * ”&–
“from tblcustomer”& –
“where State = ‘DE’ ”& –
“Order by LastName, FirstName”
Set rs. Active Connection = cn
rs. Open
1srData.. Clear
Do Until rs. EOF
lstData. AddItem rs. Fields (“FirstName”)
Rs. Fields (“LastName”) & “ ” &
Rs. Fields (“Address”)
Rs. MoveNext
Loop
End Sub
Private Sub From UnLoad (Cancel As Integer)
Cn. Close
Set cn = Nothing
End Sub
Recordset object
Fields collection
Field object
Property collection
Property object
Properties
AbsolutePage
AbsolutePosition
ActiveCommand
ActiveConnection
BOF
Bookmark
CacheSize
CursorType
DataMember
DataSource
EditMode
EOF
Fileds collection
Filter
LockType
MarshalOptions
MaxRecords
PageCount
PageSize
PropertiesCollection
RecordCount
Sort
Source
State
Status
StayInSync
Methods
AddNew
Cancel
CancelBatch
CancelUpdate
Clone
CompareBookmarks
Delete
Find
GetRows
GetString
Move
MoveFirst
MoveLast
MoveNext
MovePrevious
NextRecordset
Open
Requery
Resync
Save
Supports
Update
UpdateBatch
Events
EndOfRecordset
FetchComplete
FetchProgress
FieldChangeComplete
MoveComplete
RecordChangeComplete
RecordsetChangeComplete
WillChangeField
WillChangeRecord
WillChangeRecordset
WillMove
Các thuộc tính và phương thức của đối tượng Recordset của ADO được liệt kê trong mô hình
Như một giải pháp khác cho kỹ thuật này, ADO cho phép tạo Recordset không cần tạo đối tượng Conection trước. Ta truyền một chuỗi kết nối cho phương thức Open của đối tượng Recordset.
Private Sub cmdQueryRS Click ()
Dim rs As ADODB. Recordset
Det rs = New ADODB. Recordset
Rs. Source = “select”
“from tblcustomer” &
where State = ‘DE’ &
“order by LastName, FirstName”
rs. ActiveConnection = “DSN=MyDB”
rs. Open
lstData.Clear
Do Until rs. EOF
lstData. AddItem rs. Fields (“FirstName”) & “ ”&
Rs. Fields (“LastName”) & “ ”&
Rs. Fields (“Address”)
Rs.MoveNext
Loop
End Sub
Đoạn chương trình này làm việc, không cần sửa đổi, trên mọi nguồn dữ liệu quan hệ có điều khiển ODBC. Ta có thể dễ dàng sửa đổi chương trình để nó hoạt động với một trong những trình cung cấp OLE DB cục bộ - chỉ cần thêm một dòng lệnh,quy định thuộc tính Provider của đối tượng Connection.
Kỹ thuật này tiện dụng trong trường hợp ta không cần kết nối thường xuyên đến cơ sở dữ liệu và trở ra. Nếu ứng dụng muốn có kết nối thường xuyên với cơ sở dữ liệu, ta nên mở và duy trì một đối tượng Connection. Tốt nhất nên giữ kết nối được mở liên tục dến cơ sở dữ liệu thay vì lặp đi lặp lại việc mở và đóng.
8.1. Dùng đối tượng Recordset để cập nhật và thêm mẩu tin mới.
Thêm mới và cập nhật mẩu tin trong ADO hầu như tương tự trong DAO.
8.1.1. Thêm mẩu tin mới.
1.Mở Recordset.
2.Thi hành phương thức Addnew của đối tượng Recordset
3.Gán giá trị cho các trường trong đối tượng Recordset
4.Lưu mẩu tin bằng cách thi hành phương thức Update của đối tượng Recordset
Rs.AddNew
‘ Các lệnh cập nhật vào các trường dữ liệu
Rs.Update
8.1.2. Cập nhật mẩu tin.
1. Mở Recordset
2. Gán giá trị cho các trường trong Recordset (Lưu ý rằng ta không cần thi hành phương thức Edit của đối tượng Recordset như ta làm với DAO– ADO không làm như thế).
3. Lưu mẩu tin bằng cách thi hành phương thức update của đối tượng Recordset.
Ứng dụng minh hoạ nhập mới và cập nhật mẩu tin cho phép ta hiển thị hộp danh sách các khách hàng, rồi chọn một khách hàng để soạn thảo.
Option Explicit
'References ADO 2.1
Private cn As ADODB.Connection
Private mrscust As ADODB.Recordset
Private Sub form_load()
Set cn = New ADODB.Connection
cn.ConnectionString = "DSN=MyDB;"
cn.Open
Set mrscust = New ADODB.Recordset
mrscust.LockType = adlocktimistic
mrscust.CursorType = adOpenKeyset
End Sub
Private Sub cmdlist_click()
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
rs.Source="select*"&_
"from tblcustomer"&_
"where state='DE'=&_
"order by LastName, FirstName"
Set rs.ActiveConnection = cn
rs.Open
lstdata.Clear
Do Until rs.EOF
…
Để sử dụng ứng dụng này, thi hành nó, rồi nhấn nút showlist để hiển thị danh sách khách hàng. Khi người sử dụng nhấn trên một khách hàng trong danh sách, chi tiết về khách hàng đó hiển thị trong các hộp văn bản. Để sửa đổi mẩu tin, sửa giá trị trong hộp văn bản, rồi nhấn update.
Để cập nhật, thủ tục sự kiện click của nút update trả về dữ liệu và sau đó thi hành cập nhật trên đó. Đây không phải là cách hiệu quả nhất trong môi trường client/server, nhưng nó hoạt động tốt với cơ sở dữ liệu access.
Lưu ý rằng trong ADO chế độ khoá mẩu tin mặc định là chỉ đọc vì vậy ta phải đổi thuộc tính lockmode của đối tượng Recordset sang chế độ soạn thảo trước khi thi hành cập nhật hay thêm mới.
Điểm khác biệt đáng kể giữa chương trình này và chương trình viết bằng DAO là ADO không có phương thức Edit. Nếu Recordset cho phép sửa đổi ta chỉ cần đổi nội dung của một trường và sau đó thi hành phương thức update để ghi thông tin về cơ sở dữ liệu.
Để thêm mới mẩu tin, ta thêm một nút lệnh Add As new vào ứng dụng:
Trong một ứng dụng thực tế ta bọc chức năng Update và Insert trong lệnh save. Kiểm tra trạng thái của Recordset chẳng hạn, nếu nó chứa một giá trị trong trường khoá chính nghĩa là mẩu tin cần cập nhật hơn là thêm mới.
9. Thi hành một truy vấn sử dụng các đối tượng command và parameter của ADO.
Sau khi kết nối thành công với nguồn dữ liệu thông qua đối tượng Connection ta bắt đầu phát các lệnh trên kết nối đó. Ta dùng đối tượng command của ADO.
Vị trí của đối tượng command trong mô hình đối tượng của ADO như sau:
Command object
Properties
ActiveConnection
CommandText
CommandTimeout
CommandType
Name
ParametersCollection
Prepared
Propertiescollection
State
Methods
Cancel
CreateParameter
Execute
Parameter collection
Parameter object
Properties collection
Property object
Các phương thức và thuộc tính của đối tượng Command của ADO
Trong các ví dụ trước ta chỉ dùng đối tượng connection và Recordset không dùng command. Nói chung ta dùng đối tượng command khi ta muốn thi hành một thủ tục chứa sẵn hay ta cần phát một truy vấn có tham số.
Lưu ý: Một hứa hẹn của kỹ thuật OLE DB và ADO là trong tương lai các trình cung cấp dữ liệu khác. Ví dụ một bản tính có thể cung cấp lệnh tính toán lại, một nơi chứa thư điện tử có thể có một số kiểu gửi thư. Thủ tục gét data sau đây là mở rộng của ví dụ trước sử dụng đối tượng command để gọi một truy vấn chứa sẵn có tham số. Hàm này trả về một Recordset khi nó thi hành.
Public Function GetData(lngID As Long) As ADODB.Recordset
Dim cmd As ADODB.Command
Dim rs As ADODB.Recordset
Dim p As ADODB.Parameter
Set cmd = New ADODB.Command
Set cmd.ActiveConnection = Conn
cmd.CommandType = adCmdStoredProc
cmd.CommandText = "Query1"
Set p = cmd.CreateParameter("PID", adInteger, adParamInput, , lngID)
cmd.Parameters.Append p
Set rs = cmd.Execute
Set GetData = rs
Set rs = Nothing
End Function
Truy vấn có tham số cho ta tính linh hoạt của một truy vấn mà ứng dụng có thể sửa đổi lúc thi hành cùng với hiệu quả của một truy vấn đã được biên dịch.
Vị trí của Parameter của ADO trong mô hình đối tượng của ADO như sau:
Command object
Parameters collection
Parameter object
Properties
Attributes
Direction
Name
NumericScale
Precision
Propertiescollection
Value
Size
Type
Methods
AppendChunk
10. Dùng đối tượng Field của ADO để truy cập dữ liệu của Recordset
Dùng đối tượng Field và tập hợp Fields khi có một đối tượng Recordset của ADO và ta muốn đọc hay sửa đổi giá trị trong trường dữ liệu của mẩu tin hiện hành. Kỹ thuật này gần như đồng nhất với tập hợp cùng tên trong DAO và RDO.
Vị trí của đối tượng Field của ADO trong mô hình đối tượng của ADO như sau:
Recordset object
Fields collection
Field object
Properties collection
Property object
Properties
ActualSize
Attributes
DataFormat
DefinedSize
Name
NumericScale
OriginalValue
Precision
Propertiescollection
Type
UnderlyingValue
Value
Methods
AppendChunk
GetChunk
Nói chung nếu đã quen thuộc trong việc truy cập trường dữ liệu trong đối tượng Recordset của DAO ta sẽ thấy ở đây không có gì khác.
11. Dùng tập hợp Errors của ADO để xử lý lỗi.
Trong ADO hay các mô hình đối tượng truy cập cơ sở dữ liệu khác một số lỗi có thể sảy ra.
Vị trí của đối tượng Error của ADO trong mô hình đối tượng của ADO như sau:
Connection Object
Errors Collection
Error object
Properties
Description
HelpContext
HelpFile
NativeError
Number
Source
SQLState
Trong Visual basic một lỗi phát sinh khi ADO bắt gặp lỗi. Tương tự DAO và RDO ta có thể lặp xuyên qua tập hợp Errors để hiển thị hay xử lý trên các thông báo lỗi giữa Client và Server.
12. Sử dụng tập hợp Properties của ADO để kiểm tra các thuộc tính đặc biệt của một trình cung cấp.
Ngoài các đối tượng và thuộc tính qui ước DAO cung cấp tập hợp Properties mở rộng có thể đựơc gán cho từng đối tượng trong mô hình đối tượng. Tương tự ADO cũng cung cấp tập hợp này nhưng với sự khác biệt quan trọng – các đối tượng Property của ADO không thể được tạo ra hay sửa đổi bởi ứng dụng. Thay vào đó chúng chịu sự điều khiển của trình cung cấp dữ liệu.
Vị trí của đối tượng Property của ADO trong mô hình đối tượng của ADO như sau:
Connection object
Properties collection
Property object
Properties
Attributes
Name
Type
Value
Command object
Field object
Recordset object
Với trình cung cấp ODBC của OLE DB số thuộc tính của trinh cung cấp được mở rộng rất nhiều. Nhớ rằng kiểu và giá trị của các thuộc tính này thay đổi tuỳ theo trình cung cấp.
II. DỊCH VỤ DỮ LIỆU TỪ XA CỦA ADO
Dịch vụ dữ liệu từ xa (Remote Data Services) dùng để lấy các recordset của ADO từ Web server. Thư viện này , đi kèm với ADO , chủ yếu cho phép ta dùng HTTP (vận chuyển trên mạng của Web) làm vận chuyển trên mạng cho ứng dụng cơ sở dữ liệu. chủ yếu được dùng trong các ứng dụng trình duyệt Web (Client), nó cũng hoạt động tốt với các Client của VB.
Lưu ý RDS có tên cũ là Nối kết dữ liệu nâng cao (Advanced Data Connector - ADC). Bạn có thể tìm hiểu thêm tại địa chỉ :
http:// www.microsoft.com/data/ado/rds
Ta có thể dùng đối tượng Data Control của RDS để lấy về một đối tượng Recordset của ADO trên Internet. Đối tượng này được phục vụ từ một máy chạy với Microsoft Internet Information Server 3.0 trở lên, có khả năng trả về đối tượng Recordset của ADO đến bất kì Client qua HTTP . Cách dễ nhất để minh hoạ cách dùng RDS là thi hành một truy vấn trên Web Server dùng đối tượng DataControl của RDS.
1. Tạo một đề án Standard EXE mới.
2. Trong menu Project References, Lập một tham chiếu đến Microsoft Remote Data Services 2.0 Library và Microsoft ActiveX Data Objects 2.0 Recordset Library.
3.Tạo một hộp văn bản một nút lệnh và một danh sách trên biểu mẫu.
4. Đưa vào đoạn chương trình sau:
Option Explicit
References rds
Private rdc As rds.datacontrol
Private Sub cmdquery_click()
Screen.MousePointer = vbhourglass
Set rdc = New rds.datacontrol
rdc.sql = "select*from tblcustomer" & "where steat = 'IN'"
rdc.ExecuteOptions adcExecasync
rdc.Connect = "DSN=JetNovelty;"
rdc.server = ""
rdc.Refresh
'Wait until server respond
While rdc.ReadyState = adcReadySteateLoaed 'busy
DoEvents
Wend
Do until rdc.recordset.Eof
With rdc.Recordset
1 stcustomer.AddItem.Fields ("firstname") & " " & .Fields("lastname")
.MoveNext
Endwith
Loop
Set rdc = Nothing
Screen.MousePointer = vbNormal
End Sub
Trong ví dụ này server “localhost” được dùng . Đây là một cách gọi tắt của Webserver chứa trên cùng một máy. Nó rất tiện dụng khi cần kiểm nghiệm chương trình. Vòng lặp While Wend dùng để chờ đáp ứng của server. Đây là tính năng bất đồng bộ của lệnh gọi HTTP . Ta không thể chắc chắn mất bao lâu thì server đáp ứng , vì vậy ta phải chờ (Đối tượng Data Control của RDS có khả năng lắng nghe sự kiện nếu ta khai báo nó với từ khoá WithEvents).
PHẦN IV
XÂY DỰNG PHẦN MỀM HỖ TRỢ QUẢN LÝ TRUNG TÂM ĐÀO TẠO
I - Giới thiệu
- Phần mềm xây dựng nhằm hỗ trợ quản lý tại các trung tâm đào tạo điển hình. Trong đề tài có lấy một trung tâm đào tạo tin học để minh hoạ. Tất nhiên việc sử dụng phần mềm này để phục vụ quản lý của các loại hình đào tạo khác nhau cần phải có những sửa đổi nhất định của phần mềm cho phù hợp với ngữ cảnh quản lý của loại hình đào tạo đó.
- Phần mềm này được xây dựng để khắc phục tất cả các nhược điểm của việc quản lý thủ công. Đồng thời, chương trình còn giúp trung tâm tiết kiệm sổ sách, nhân lực trong việc quản lý, lưu trữ được thông tin lâu hơn và bảo mật.
- Phần mềm quản lý trung tâm đào tạo được viết bằng ngôn ngữ lập trình Visual Basic 6.0 với cơ sở dữ liệu là Microsoft Access 2000. Trong chương trình sử dụng công nghệ truy cập dữ liệu ADO.
II - Các đặc trưng của phần mềm quản lý trung tâm đào tạo
Hệ thống bảo mật mức người dùng khi truy nhập các chức năng của chương trình
Tất cả các User được phép truy nhập vào mọi chức năng trừ chức năng quản lý người sử dụng. Chỉ có User được chỉ định là Admin mới có quyền truy nhập chức năng này
Cơ sở dữ liệu được chuẩn hoá phù hợp quy tắc kiện toàn thực thể và kiện toàn dữ liệu, dữ liệu được kiểm tra kỹ khi cập nhật
Giao diện thân thiện với người sử dụng. các form, Report được thiết kế tương tự các mẫu sổ sách cũ của trung tâm
Cung cấp hệ thống trợ giúp ngay lập tức với các công cụ như :
- Tool Tip Text
- On line Help
- Graphical Buttons
- Message Box
5. Các Form của chương trình bao gồm :
- Form quản lý
Quản lý học viên
Quản lý giáo viên
Quản lý lớp học
Quản lý khoá học
- Form nhập dữ liệu
Đăng ký học viên
Sửa thông tin học viên
Nhập, sửa khoá học
Nhập, sửa lớp học
Nhập, sửa khoá học
Nhập, sửa giáo viên
Nhập thời gian
Nhập phòng học
Form thu học phí
- Form Quản lý User tích hợp cả hai chức năng quản lý và cập nhật
6. Các báo cáo
Danh sách học viên : khi in có thể chọn danh sách học viên theo từng lớp hoặc từng khoá học
Danh sách giáo viên
Danh sách lớp học
Danh sách khoá học
7. Các hình thức truy nhập đến các chức năng
Thanh thực đơn ( Menu bar )
Biểu tượng ( Icon )
Popup Menu
III – Giao diện các chức năng chính của phần mềm và cách thức sử dụng
Giao diện màn hình chính
hình 1
Form Đăng ký học viên
Khi đăng ký, người sư dụng khai báo các thông tin về học viên. Sau đó chọn khoá học trong ComboBox theo yêu cầu của học viên. Dữ liệu xung quanh khoá học này sẽ được tự động hiển thị. Double click vào danh sách thời gian mà khách hàng (KH) cầu và ấn nút lọc xem thời gian đó có thích hợp với yêu cầu không. Nếu có, lớp học có thời gian mà KH yêu cầu sẽ xuất hiện trong Listview bên cạnh. Lúc này ta chỉ việc Double Click vào lớp học đó rồi ấn nút Đăng ký để đăng ký học viên này. Xem hình 2
Hình 2 - Đăng ký học viên
3. Form Thu học phí
Khi đã trở thành học viên của trung tâm tên của học viên sẽ xuất hiện trong cây danh sách trên form Khoá học ->Lớp học ->Tên học viên. Click vào mỗi thành viên trong lớp đó ta sẽ thấy trạng thái đóng học phí của học viên này. Khi cần thu học phí của học viên này ta ta chỉ cần tick vào khoản học phí đó, cho biết ngày thu và ấn nút Ghi nhận để cập nhật vào cơ sở dữ liệu và tiến hành in phiếu biên nhận. Xem hình 3
Hình3-Quản lý học phí
4. Form chức năng quản lý lớp học
Khi đã hình thành các lớp của mỗi khoá học ta tiến hành quản lý thông quan form này (Xem hình 4). Các lớp được thể hiện trên danh sách với các tiêu chí lọc khác nhau. Có thể xem các danh sách các lớp học của một khoá học, theo lớp mà giáo viên đảm nhiệm, theo thời gian học, theo vị trí lớp học hoặc theo tất cả các tiêu chí. Trên form có bổ sung các chức năng thêm, sửa, xoá một lớp học. Thêm phòng học nếu trung tâm mở thêm các cơ sở, Thêm thời điểm học nếu trung tâm có khả năng.
Hình 4 - Quản lý lớp học
5. Form chức năng quản lý khoá học
Trên form này có thể theo dõi được hết tất cả các khoá học của trung tâm (xem hình 5). Khi trung tâm mở rộng quy mô về các khoá học có thể sử dụng chức năng thêm khoá học. Ngoài ra có thể sửa, xoá các thông tin liên quan đến khoá học. Trên form này cũng cho phép in ra danh sách khoá học khi người có nhu cầu học cần tham khảo. Cách sử dụng có thể tham khảo trong Help
Hình 5-quản lý khoá học
6. Form chức năng quản lý học viên
Sau quá trình đăng ký, thông tin về học viên được cập nhật vào cơ sở dữ liệu và được thể hiện trên form này (xem hình 6 ). Các thông tin này có thể được xem dựa vào các tiêu chí như Khoá học, theo lớp hoặc lọc ra những học viên còn nợ học phí. Ngoài ra các thông tin này nếu có sai sót ta có thể sửa đổi hoặc xoá bỏ học viên đó khỏi lớp. Cách sử dụng có thể tham khảo trong Help
Hình 6 - Quản lý học viên
7. Form quản lý giáo viên
Trên form này ( Xem hình 7) ta có thể xem các thông tin của giáo viên theo các khoá học, các lớp học, các thời gian biểu mà giáo viên đó đảm nhiệm. Đồng thời có thể thêm sửa, thông tin về giáo viên. Cách sử dụng có thể tham khảo trong Help
Hình 7- Quản lý giảng viên
8. Form chức năng quản lý người sử dụng
Trên form này tích hợp cả chức năng quản lý và cập nhật thông tin User trên form. Chức năng này chỉ có người được chỉ định là quản trị phần mềm này mới có quyền truy nhập. Cách sử dụng có thể tham khảo trong Help
Hình 8- Quản lý người dùng
KẾT LUẬN
Đây là một giải pháp tin học có tính khả thi cao, khắc phục được những khó khăn mà một trung tâm lớn gặp phải. Tuy nhiên nếu được áp dụng thử sẽ có được những góp ý quý báu, chương trình sẽ được cải tiến để hiệu quả hơn.
Qua việc nghiên cứu đề án chuyên ngành, chúng em đã học được cách thu thập tài liệu, áp dụng kiến thức vào việc giải quyết một vấn đề tin học kinh tế. Cũng qua đề án chuyên ngành này, em thấy rằng cần phải lao động thực sự mới có được một sản phẩm tin học hay, tốt.
Giải pháp tin học này có thể ứng dụng tại các trung tâm đào tạo tin học, các trung tâm đào tạo ngoại ngữ hoặc các trung tâm đào tạo kinh tế ngắn hạn của trường đại học Kinh tế Quốc dân. Điều tất nhiên là phải có những sửa đổi hệ thống để phù hợp với ngữ cảnh áp dụng.
Hướng phát triển của chương trình
1. Xây dựng hệ thống HelpContextID cho từng ngữ cảnh và hệ thống WhatThisHelp cho từng điều khiển để việc sử dụng chương trình được thuận tiện hơn,
2. Xây dựng chức năng quản lý và theo dõi giảng dạy hàng ngày của giáo viên
Xây dựng phần mềm trên kiến trúc Client / Server để khi trung tâm đào tạo có những cơ sở ở cách xa nhau cũng có thể quản lý và theo dõi được các vấn đề của trung tâm.
TÀI LIỆU THAM KHẢO
1. Giáo trình hệ thống thông tin quản lý : TS. Trương Văn Tú – TS. Trần Thị Song Minh
2. Kỹ thuật lập trình Visual Basic DataBase : Nguyễn Hữu Anh
3. Desktop programming visual basic : Microsoft Express 2000
4. Microsoft Developer Network – MSDN Library January 2000 : Microsoft Express
5. Các tài liệu thu thập được từ một số trung tâm đào tạo tin học và trung tâm đào tạo ngoại ngữ.
MỤC LỤC
Phần I Giới thiệu đề tài
1
Phần II Phân tích hệ thống thông tin trung tâm đào tạo tin học
2
Giai đoạn I : Đánh giá yêu cầu
2
1. Đánh giá yêu cầu
2
2. Vấn đề nảy sinh
3
3. Đánh giá khả thi của giải pháp
4
Giai đoạn II :Phân tích chi tiết
5
1, 2 Lập kế hoạch và nghiên cứu hệ thống thông tin hiện tại
5
3. Chẩn đoán và xác định các yếu tố của giải pháp
6
Giai đoạn III: Phân tích Logic
7
1. Sơ đồ luồng dữ liệu DFD
7
2. Thiết kế cơ sở dữ liệu từ các thông tin đầu ra
8
Phần III Kỹ thuật lập trình ADO bằng Visual Basic
10
I. Xây dựng ứng dụng Visual Basic với ADO
10
1. Tìm hiểu cấu trúc OLEDB /ADO
10
2. Cài đặt và tham chiếu đến ADO trong ứng dụng VB
11
3. Sử dụng ADO với các loại đối tượng truy cập dữ liệu khác
12
4. Sử dụng đối tượng Connection để truy cập cơ sở dữ liệu
13
5. Làm việc với con trỏ
14
6. Chiến lược khoá bản ghi
15
7. Mở và đóng kết nối
15
8. Sử dụng đối tượng Recordset của ADO
16
9. Sử dụng đối tượng command và parameter của ADO
19
10. Dùng đối tượng Field của ADO để truy cập dữ liệu
21
11. Sử dụng đối tượng Error để bắt lỗi
22
12. Sử dụng đối tượng Properties
23
II. Sử dụng dịch vụ dữ liệu từ xa của ADO
23
Phần IV. Xây dựng phần mềm quản lý trung tâm đào tạo tin học
25
I. Giới thiệu
25
II. Các đặc trưng của phần mềm
III. Giao diện các chức năng chính của phần mềm và cách thức sử dụng
27
Kết luận
35
Tài liệu tham khảo
36
Các file đính kèm theo tài liệu này:
- 35358.doc