Xây dựng phần mềm quản lý trung tâm đào tạo tin học
Trang 1PHẦ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ấthiệ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 đàotạ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ìnhthứ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ìnhngà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ônggặ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 trungtâ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 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ànthà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ếpgiú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ôngtránh khỏi nhiều thiếu sót Rất mong nhận được những ý kiến đóng góp từ phíacá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ả
Trang 2PHẦ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ếnthứ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ấtnghiê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 saunà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
o Tên đề tài : Xây dựng hệ thống thông tin trợ giúp quản lý trung tâm đào
Trang 3- Hiện nay trung tâm đang đào tạo các khoá học như sau :
- 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ọcViệ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àycà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ọchoá quá trình quản lý
mà họ yêu cầu về thời gian
học phí
giáo viên bằng sổ sách
o 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
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
Trang 44 Khả thi về mặt thời gian : 75 Ngày
Học viên
Giáo viên
Giám đốctrung tâm
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
Trang 5GIAI ĐOẠN II PHÂN TÍCH CHI TIẾT
1 Lập kế hoạch nghiên cứu chi tiết
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 :
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ắpxế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ếplị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
Trang 6+ 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 đốctrung 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
sổ sách nên rấtkhó tìm
Quá trình tìmkiếm thông tinđược rút gọnkhoảng 2 giây là
có thể trả lời được
Hệ thống lọc giờhọc theo yêu cầucủa khách hàng
rà soát trên sổsách
Không còn tìnhtrạng nhầm lẫnphòng học
Hệ thống báo lỗikhi phân phònghọc cho lớp khicùng thời điểm đólại có một lớpkhác học
Ngay lập tức lọcđược số học viêncòn nợ học phí lần
1, lần 2, lần 3
Xây dựng chứcnăng lọc theonhững người còn
nợ học phí trongchức năng quản lýhọc viên
lọc tích hợp trênmỗi form chứcnăng
Trang 7GIAI ĐOẠN III PHÂN TÍCH LOGIC
1 Sơ đồ DFD mức 0 của hệ thống ( Data Flow Diagram – Context )
Báo cá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
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
Trang 82 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
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
Trang 92.2 Sơ đồ cấu trúc dữ liệu DSD ( Data Structure Diagram )
MaLop MaGiaoVien NgayKhaiGiang MaPhongHoc HanTraHetHP MaKhoaHoc
Email DienThoaiGV GioiTinh NgaySinhGV TenGiaoVien MaGiaoVien
MaHocVien PhiLan1 NgayTra1 PhiLan2 NgayTra2 PhiLan3 NgayTra3 MaKhoaHoc
2.3 Sơ đồ quan hệ thực thể ERD ( Entity Relationship Diagram )
MaPhongHoc DiaDiem
ID MaLop ThoiGianHoc
MaGiaoVien MaKhoaHoc
MaLop MaHocVien TenHV NgaySinh GioiTinh DiaChi DienThoai
TenKhoaHoc ThoiGian HocPhi Lan1 Lan2 Lan3 MaKhoaHoc
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í
Trang 10PHẦ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 DataObject ) trở thành nền tảng của kỹ thuật truy cập cơ sở dữ liệuinternet 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ệuthô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 đốitợ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ứctruy 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ổngquát càng tốt đến các ứng dụng client OLE DB đi sâu hơn mộtbớ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ệnactiveX Server (tơng tự ADO và RDO), ta có thể thoải mái dùngADO trong ứng dụng visual basic trong thực tế , bằng nhiềucá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ếpvới OLE DB
Trình cung cấp OLE DB không nhiều nh các trình điều khiểnODBC, nhng số lợng này đã tăng lên đáng kể từ khi ADO 2.0 đợcphát hành vào năm 1998 Phiên bản này, đã đợc đã vào VisualBasic 6.0, bao gồm các trình cung cấp cục bộ cho SQL server,Oracle, và Microsoft Jet / Access
Trang 11Có nhiều khả năng bạn có thể dùng ADO và OLE DB để đạt đợcnguồ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átcho 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íaclient 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 ActiveXServer ,ta có thể bảo đảm rằng logic chơng trình luôn nhấtquán, bất kể loại ứng dụng nào đang đợc dùng
Remote Data
Object
ODBC Driver
ODBC Driver
Manager
ActiveX Data Object
OLEDB Data Provider OLEDB
Relation Database
Document Server
Email Server
Trang 12http : //www.microsoft.com/data/ado/ Khi Microsoft phát hànhcá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áttriể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ảntrên web Active Server Page.
Sau khi cài đặt xong, ta bắt đầu sử dụng nó bằng cách thiếtlậ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:
1 trong đề án visual basic ,chọn project , references
2 hộp thoại references xuất hiện
3 chọn vào hộp đánh dấu “microsoft activeX data objects2.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.0recordset” Đâ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ằngkhông thể tạo đợc instance của đối tợng Connection hayCommand trong ứng dụng ADO, ta có thể nghĩ đến nguyênnhâ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ẩnthậ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à tatạo một biến Recordset, làm thế nào để nhận biết Recordsetcủa DAO hay của ADO ? Câu trả lời là thứ tự ta thiết lập thamchiếu vào đề án Nếu ta thêm một tham chiếu đến th việnDAO trớc, tạo đối tợng Recordset sẽ cho ta một Recordset kiểuDAO ta cần dùng tên lớp đầy đủ ADODB Recordset để tạo đốitợng Recordset của ADO một cách tờng minh (tên tờng minh củamộ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 đốitợng theo cách có thể làm bằng hộp thoại Recordset trong VisualBasic Đố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
Trang 13tham 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 đợctruy cập mặc định bằng cách dùng giá trị mức u tiên trong hộpthoại References
Ví dụ, để cấp cho th viện đối tợng DAO mức u tiên cao hơn thviện đối tợng ADO, ta làm nh sau :
1 Trong đề án VB, chọn Project, References
2 Tham chiếu đến Microsoft dao 3.51 objects library vàMicrosoft ActiveX Data Objects 2.0 library (giả sử chúng đã đợccài đặt trên máy )
3 Nhấn (nhng không bỏ chọn) vào tham chiếu đến th viện
đối tợng DAO
4 Nhấn vào mũi tên trỏ lên – xuống có tên là Priority Thamchiếu đến th viện đối tợng DAO di chuyển về phía trên danhsá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 thviệ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áchthức kết nối với Server cơ sở dữ liệu Ta dùng trình cung cấpODBC 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ởitrình điều khiển ODBC có thể thay đổi tuỳ theo cách thựchiệ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:
Trang 14cn.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 DSNtên là MyDB thực sự tồn tại trên máy Client
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”
{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”
State Version
Methods
BeginTrans Cancel Close CommitTrans Execute Open OpenSchema RolbackTrans
Events
BeginTransComplete CommitTransComplete ConnectComplete Disconnect ExecuteComplete Informessage RolbackTransComplete WillConnect
WillExecute
Connection object
Errors Collection Error object Properties Collection Properties object
Trang 15Properties 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”
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 chophộ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
Forward-Only adOpenForward
Only Khụng dựng con trỏ ta chỉ cú thể chuyểnvề phớa trước trong recordset nếu sử dụng
MovePrious và MoveNext sẽ sinh lỗi
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
do những người khỏc thực hiện trong khi ta đang mở recordset
recordset
6 Chiến lược khoỏ bản ghi
Trang 16ADO cho phép quy định các kiểu khoá mẩu tin khác nhau Ta dung chức năngnà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
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
phương thức Update hay di chuyển qua
mẩu tin khá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ếnconnection
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ênmá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ếtnố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 Clienthoặ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à rdoResultsetcủ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 Recordsetcủ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 Recordsetkhác Xem mô hình sau để thấy được cấu trúc của đối tượng RecordSet
Trang 17Thủ 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ỏimộ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 đếnphươ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”) & “ ” &
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
StayInSyncMethods
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
Trang 18Cá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
Trang 19Do Until rs EOF
lstData AddItem rs Fields (“FirstName”) & “ ”&
Rs Fields (“LastName”) & “ ”&
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 RecordsetRs.AddNew
‘ Các lệnh cập nhật vào các trường dữ liệu
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 danhsá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