Bài giảng Lập trình windows: Lập trình cơ sở dữ liệu với thư viện ADO

Ứng dụng quản lý

•Hệthống quản lý học sinh: lưu trữthông tin liên

quanđếnhọcsinh

quan đến học sinh

•Hệthống quản lý sinh viên: lưu trữthông tin liên

quanđến sinh viên

quan đến sinh viên

•Hệthống quản lý nhân sự: lưu trữthông tin liên

đế hâ ê ô

quan đến nhân viên trongcôngty

•Hệthống quản lý tiền lương

•Hệthống quản lý kếtoán

• Hệthống quảntrị dựán

pdf63 trang | Chia sẻ: oanh_nt | Lượt xem: 1431 | Lượt tải: 0download
Bạn đang xem trước 20 trang nội dung tài liệu Bài giảng Lập trình windows: Lập trình cơ sở dữ liệu với thư viện ADO, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Đại Học Sư Phạm Tp. Hồ Chí Minh Khoa Toán – Tin Học LẬP TRÌNH WINDOWS Lập trình cơ sở dữ liệu với thư viện ADO (ADO – ACTIVEX DATA OBJECT) • Tổng quan về lập trình CSDL • Thư viện ADO • Lập trình CSDL với ADO Trần Ngọc Bảo - Email: tnbao.dhsp@gmail.com Đại Học Sư Phạm Tp. Hồ Chí Minh Khoa Toán – Tin Học LẬP TRÌNH WINDOWS Lập trình cơ sở dữ liệu với thư viện ADO (ADO – ACTIVEX DATA OBJECT) • Tổng quan về lập trình CSDL • Thư viện ADO • Lập trình CSDL với ADO S S Ứng dụng quản lý N D O W S N D O W S D O D O • Hệ thống quản lý học sinh: lưu trữ thông tin liên quan đến học sinh R Ì N H W I R Ì N H W I V Ớ I A D V Ớ I A D • Hệ thống quản lý sinh viên: lưu trữ thông tin liên quan đến sinh viên N L Ậ P T R N L Ậ P T R C S D L V C S D L V • Hệ thống quản lý nhân sự: lưu trữ thông tin liên đế hâ ê ô Ọ C P H Ầ N Ọ C P H Ầ N R Ì N H C R Ì N H C quan n n n vi n trong c ng ty • Hệ thống quản lý tiền lương I Ả N G H Ọ I Ả N G H Ọ L Ậ P T R L Ậ P T R • Hệ thống quản lý kế toán • Hệ thống quản trị dự án B À I G I B À I G I L L • ….. TRẦN NGỌC BẢO ” KHOA TOÁN -TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ” (3)3 S S Ứng dụng Windows (Windows Application) N D O W S N D O W S D O D O R Ì N H W I R Ì N H W I V Ớ I A D V Ớ I A D N L Ậ P T R N L Ậ P T R C S D L V C S D L V Ọ C P H Ầ N Ọ C P H Ầ N R Ì N H C R Ì N H C I Ả N G H Ọ I Ả N G H Ọ L Ậ P T R L Ậ P T R B À I G I B À I G I L L TRẦN NGỌC BẢO ” KHOA TOÁN -TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ” (4)4 Thông tin học sinh được lưu trữ như thế nào ? S S Ứng dụng Windows (Windows Application) N D O W S N D O W S D O D O R Ì N H W I R Ì N H W I V Ớ I A D V Ớ I A D N L Ậ P T R N L Ậ P T R C S D L V C S D L V Ọ C P H Ầ N Ọ C P H Ầ N R Ì N H C R Ì N H C I Ả N G H Ọ I Ả N G H Ọ L Ậ P T R L Ậ P T R B À I G I B À I G I L L TRẦN NGỌC BẢO ” KHOA TOÁN -TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ” (5)5 Thông tin nhân viên được lưu trữ như thế nào ? S S Mẫu biểu trong các ứng dụng N D O W S N D O W S D O D O R Ì N H W I R Ì N H W I V Ớ I A D V Ớ I A D N L Ậ P T R N L Ậ P T R C S D L V C S D L V Ọ C P H Ầ N Ọ C P H Ầ N R Ì N H C R Ì N H C I Ả N G H Ọ I Ả N G H Ọ L Ậ P T R L Ậ P T R B À I G I B À I G I L L Thông tin thể hiện trên báo cáo được lấy từ đâu ? TRẦN NGỌC BẢO ” KHOA TOÁN -TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ” (6)6 S S Mẫu biểu trong các ứng dụng N D O W S N D O W S D O D O R Ì N H W I R Ì N H W I V Ớ I A D V Ớ I A D N L Ậ P T R N L Ậ P T R C S D L V C S D L V Ọ C P H Ầ N Ọ C P H Ầ N R Ì N H C R Ì N H C I Ả N G H Ọ I Ả N G H Ọ L Ậ P T R L Ậ P T R B À I G I B À I G I L L Thông tin thể hiện trên báo cáo được lấy từ đâu ? TRẦN NGỌC BẢO ” KHOA TOÁN -TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ” (7)7 S S Dữ liệu trong các ứng dụng quản lý N D O W S N D O W S D O D O Thông tin học sinh được lưu trữ như thế nào ? Tất cả thông tin liên quan đến học sinh như: Lý R Ì N H W I R Ì N H W I V Ớ I A D V Ớ I A D lịch học sinh, điểm thi, chuyên cần, lớp học, khối…. Được lưu trữ trong CƠ SỞ DỮ LIỆU N L Ậ P T R N L Ậ P T R C S D L V C S D L V Thông tin nhân viên được lưu trữ như thế nào ? Ọ C P H Ầ N Ọ C P H Ầ N R Ì N H C R Ì N H C Tất cả thông tin liên quan đến nhân viên như: Lý lịch nhân viên, quá trình công tác, quá trình l kh h ở kỷ l ậ Đ l ữ I Ả N G H Ọ I Ả N G H Ọ L Ậ P T R L Ậ P T R ương, en t ư ng, u t…. ược ưu tr trong CƠ SỞ DỮ LIỆU B À I G I B À I G I L L Thông tin thể hiện trên báo cáo được lấy từ đâu ? Tất cả thông tin thể hiện trên báo cáo được lấy TRẦN NGỌC BẢO ” KHOA TOÁN -TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ” (8)8 từ CƠ SỞ DỮ LIỆU S S Tương tác dữ liệu: thêm, xóa,... N D O W S N D O W S D O D O R Ì N H W I R Ì N H W I V Ớ I A D V Ớ I A D N L Ậ P T R N L Ậ P T R C S D L V C S D L V Ọ C P H Ầ N Ọ C P H Ầ N R Ì N H C R Ì N H C Lấy dữ liệu I Ả N G H Ọ I Ả N G H Ọ L Ậ P T R L Ậ P T R Thêm dữ B À I G I B À I G I L L liệu Xó dữ liệ Sử dữ liệ TRẦN NGỌC BẢO ” KHOA TOÁN -TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ” (9)9 a u a u S S Tương tác dữ liệu: thêm, xóa,... N D O W S N D O W S D O D O Thêm dữ liệu R Ì N H W I R Ì N H W I V Ớ I A D V Ớ I A D Cập nhật dữ liệu N L Ậ P T R N L Ậ P T R C S D L V C S D L V Xóa dữ liệu Ọ C P H Ầ N Ọ C P H Ầ N R Ì N H C R Ì N H C Lấy dữ liệu I Ả N G H Ọ I Ả N G H Ọ L Ậ P T R L Ậ P T R ấ Ê Ó Ử Ấ B À I G I B À I G I L L T t cả các thao tác TH M, X A, S A, TRUY V N dữ liệu đều liên quan đến ngôn SQL: INSERT DELETE UPDATE SELECT TRẦN NGỌC BẢO ” KHOA TOÁN -TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ” (10)10 , , , S S Lệnh INSERT (tt) ể N D O W S N D O W S D O D O • Dùng đ thêm 1 hay nhiều dòng vào Table trong CSDL R Ì N H W I R Ì N H W I V Ớ I A D V Ớ I A D • Cú pháp (thêm 1 dòng) N L Ậ P T R N L Ậ P T R C S D L V C S D L V INSERT INTO () VALUES () Ọ C P H Ầ N Ọ C P H Ầ N R Ì N H C R Ì N H C – Thêm mới một nhân viên có họ = ‘Le’, tên lót = ‘Van’, tên = I Ả N G H Ọ I Ả N G H Ọ L Ậ P T R L Ậ P T R INSERT INTO NHANVIEN(HONV, TENLOT, TENNV, MANV) ‘Tuyen’ với mã số = ‘NV001’ vào Table NhanVien B À I G I B À I G I L L VALUES (‘Le’, ‘Van’, ‘Tuyen’, ‘NV001’) TRẦN NGỌC BẢO ” KHOA TOÁN -TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ” (11)11 S S Lệnh DELETE N D O W S N D O W S D O D O • Dùng để xóa các dòng của bảng Cú há R Ì N H W I R Ì N H W I V Ớ I A D V Ớ I A D • p p DELETE FROM N L Ậ P T R N L Ậ P T R C S D L V C S D L V [WHERE ] Ọ C P H Ầ N Ọ C P H Ầ N R Ì N H C R Ì N H C O –Xoá nhân viên có mã số = ‘345345345’ trong Table NhanVien I Ả N G H Ọ I Ả N G H Ọ L Ậ P T R L Ậ P T R DELETE FR M NHANVIEN WHERE MANV=‘345345345’ ấ B À I G I B À I G I L L DELETE FROM NHANVIEN –Xoá t t cả nhân viên có trong Table NhanVien TRẦN NGỌC BẢO ” KHOA TOÁN -TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ” (12)12 S S Lệnh UPDATE N D O W S N D O W S D O D O • Dùng để thay đổi giá trị của thuộc tính cho các dòng của bảng R Ì N H W I R Ì N H W I V Ớ I A D V Ớ I A D • Cú pháp N L Ậ P T R N L Ậ P T R C S D L V C S D L V UPDATE Ọ C P H Ầ N Ọ C P H Ầ N R Ì N H C R Ì N H C SET =, = I Ả N G H Ọ I Ả N G H Ọ L Ậ P T R L Ậ P T R , … B À I G I B À I G I L L [WHERE ] TRẦN NGỌC BẢO ” KHOA TOÁN -TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ” (13)13 S S Lệnh UPDATE N D O W S N D O W S D O D O Ví dụ R Ì N H W I R Ì N H W I V Ớ I A D V Ớ I A D – Sửa thuộc tính ngày sinh của nhân viên có mã số = ‘345345345’ trong Table NhanVien là ’08/12/1965’ N L Ậ P T R N L Ậ P T R C S D L V C S D L V UPDATE NHANVIEN SET NGSINH=’08/12/1965’ Ọ C P H Ầ N Ọ C P H Ầ N R Ì N H C R Ì N H C WHERE MANV=‘333445555’ – Sửa thuộc tính lương của tất cả nhân viên bằng lương cũ * 1.1 I Ả N G H Ọ I Ả N G H Ọ L Ậ P T R L Ậ P T R UPDATE NHANVIEN B À I G I B À I G I L L SET LUONG=LUONG*1.1 TRẦN NGỌC BẢO ” KHOA TOÁN -TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ” (14)14 S S CÚ PHÁP CÂU LỆNH SELECT N D O W S N D O W S D O D O SELECT FROM R Ì N H W I R Ì N H W I V Ớ I A D V Ớ I A D WHERE GROUP BY N L Ậ P T R N L Ậ P T R C S D L V C S D L V HAVING ORDER BY Ọ C P H Ầ N Ọ C P H Ầ N R Ì N H C R Ì N H C Dùng để lấy dữ liệu từ CSDL hiển thị lên màn hình, I Ả N G H Ọ I Ả N G H Ọ L Ậ P T R L Ậ P T R report,… B À I G I B À I G I L L TRẦN NGỌC BẢO ” KHOA TOÁN -TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ” (15)15 S S Lập trình CSDL trong ứng dụng quản lý N D O W S N D O W S D O D O CT Nhân sự ™ Thành phần giao diện R Ì N H W I R Ì N H W I V Ớ I A D V Ớ I A D N L Ậ P T R N L Ậ P T R C S D L V C S D L V Kết nối ™Giao tiếp dữ liệu Ọ C P H Ầ N Ọ C P H Ầ N R Ì N H C R Ì N H C CSDL I Ả N G H Ọ I Ả N G H Ọ L Ậ P T R L Ậ P T R CSDL ™ Thành phần dữ liệu B À I G I B À I G I L L TRẦN NGỌC BẢO ” KHOA TOÁN -TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ” (16)16 S S Lập trình CSDL trong ứng dụng quản lý N D O W S N D O W S D O D O CT Nhân sự ™ Thành phần giao diện: Visual Basic, Visual C++, C#, VB.NET, R Ì N H W I R Ì N H W I V Ớ I A D V Ớ I A D Delphi… N L Ậ P T R N L Ậ P T R C S D L V C S D L V Kết nối ™Giao tiếp dữ liệu: ODBC, DAO ADODB ADO NET Ọ C P H Ầ N Ọ C P H Ầ N R Ì N H C R Ì N H C CSDL , , . ,.. I Ả N G H Ọ I Ả N G H Ọ L Ậ P T R L Ậ P T R CSDL ™ Thành phần dữ liệu: MS B À I G I B À I G I L L Access, SQL Server, Oracle,… TRẦN NGỌC BẢO ” KHOA TOÁN -TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ” (17)17 S S Một số hệ quản trị CSDL thông dụng N D O W S N D O W S D O D O ™ Thành phần dữ liệu: MS Access, SQL Server, Oracle R Ì N H W I R Ì N H W I V Ớ I A D V Ớ I A D ™MS Access 2000/XP/2003 ,… N L Ậ P T R N L Ậ P T R C S D L V C S D L V ™MS SQL Server 7.0/2000/2005 Ọ C P H Ầ N Ọ C P H Ầ N R Ì N H C R Ì N H C ™Oracle 8i/9i/10i/11iCSDL I Ả N G H Ọ I Ả N G H Ọ L Ậ P T R L Ậ P T R ™My SQL B À I G I B À I G I L L TRẦN NGỌC BẢO ” KHOA TOÁN -TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ” (18)18 Đại Học Sư Phạm Tp. Hồ Chí Minh Khoa Toán – Tin Học LẬP TRÌNH WINDOWS Lập trình cơ sở dữ liệu với thư viện ADO (ADO – ACTIVEX DATA OBJECT) • Tổng quan về lập trình CSDL • Thư viện ADO • Lập trình CSDL với ADO S S Sử dụng thư viện ADO N D O W S N D O W S D O D O Làm thế nào để sử dụng được thư viện ADO để kết nối dữ liệu trong Visual C++ ? R Ì N H W I R Ì N H W I V Ớ I A D V Ớ I A D Tạo CMyADO Class : // Thêm dòng dưới đây vào đầu Class . N L Ậ P T R N L Ậ P T R C S D L V C S D L V #import "C:\Program Files\Common Files\System\ADO\msado15.dll" \ no_namespace rename("EOF", "EndOfFile") Ọ C P H Ầ N Ọ C P H Ầ N R Ì N H C R Ì N H C ™ Tạo InitSQLServer() Function trong CMyADO Class : BOOL CMyADO::InitSQLServer() I Ả N G H Ọ I Ả N G H Ọ L Ậ P T R L Ậ P T R { if(FAILED(CoInitialize(NULL))) t FALSE B À I G I B À I G I L L re urn ; return TRUE; } TRẦN NGỌC BẢO ” KHOA TOÁN -TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ” (20)20 S S Thư viện ADO N D O W S N D O W S D O D O R Ì N H W I R Ì N H W I V Ớ I A D V Ớ I A D N L Ậ P T R N L Ậ P T R C S D L V C S D L V Ọ C P H Ầ N Ọ C P H Ầ N R Ì N H C R Ì N H C I Ả N G H Ọ I Ả N G H Ọ L Ậ P T R L Ậ P T R B À I G I B À I G I L L TRẦN NGỌC BẢO ” KHOA TOÁN -TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ” (21)21 S S Thư viện ADO N D O W S N D O W S D O D O ™Connection R Ì N H W I R Ì N H W I V Ớ I A D V Ớ I A D ™Command N L Ậ P T R N L Ậ P T R C S D L V C S D L V ™RecordSet Ọ C P H Ầ N Ọ C P H Ầ N R Ì N H C R Ì N H C ™ Field I Ả N G H Ọ I Ả N G H Ọ L Ậ P T R L Ậ P T R B À I G I B À I G I L L ™Parameter TRẦN NGỌC BẢO ” KHOA TOÁN -TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ” (22)22 S S Kết nối Data Source N D O W S N D O W S D O D O ™MS Access C ti R Ì N H W I R Ì N H W I V Ớ I A D V Ớ I A D onnec on N L Ậ P T R N L Ậ P T R C S D L V C S D L V Ứng dụng ™MS SQL Server File *.mdb nào ? VD: QLHS.mdb, QLNS mdb Ọ C P H Ầ N Ọ C P H Ầ N R Ì N H C R Ì N H C Connection . I Ả N G H Ọ I Ả N G H Ọ L Ậ P T R L Ậ P T R Ứng dụng S ? B À I G I B À I G I L L - erver - DatabaseName ? - User Name ? TRẦN NGỌC BẢO ” KHOA TOÁN -TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ” (23)23 - Password ? S S Đối tượng Connection N D O W S N D O W S D O D O ‰ Ý nghĩa Đối tượng Connection dùng để mở kết nối với nguồn cơ sở dữ R Ì N H W I R Ì N H W I V Ớ I A D V Ớ I A D liệu, có thể hiểu đối tượng Connection đóng vai trò là chìa khóa mở kết nối giữa ứng dụng với cơ sở dữ liệu (Access, SQL Server, Oracle,…) N L Ậ P T R N L Ậ P T R C S D L V C S D L V ‰ Ví dụ: ể ế ố Ọ C P H Ầ N Ọ C P H Ầ N R Ì N H C R Ì N H C Đ k t n i ứng dụng quản lý học sinh với cơ sở dữ liệu quản lý học sinh được lưu trữ trong Access chúng ta cần tạo một đối tượng Connection chỉ đến tập tin Access, ví dụ QLHS.mdb hay I Ả N G H Ọ I Ả N G H Ọ L Ậ P T R L Ậ P T R C:\C4W\Data\QLHS.mdb Để kết nối ứng dụng quản lý học sinh với cơ sở dữ liệu quản lý B À I G I B À I G I L L học sinh được lưu trữ trong SQL Server chúng ta cần tạo một đối tượng Connection chỉ đến DB nào ? Server nào ? Với User và password nào ? TRẦN NGỌC BẢO ” KHOA TOÁN -TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ” (24)24 S S Đối tượng Connection N D O W S N D O W S D O D O Connection object R Ì N H W I R Ì N H W I V Ớ I A D V Ớ I A D Properties Method Event At ib t B i T B i T C l t N L Ậ P T R N L Ậ P T R C S D L V C S D L V r u es eg n rans eg n rans omp e e CommandTimeOut Cancel CommitTransComplete ConnectionString Close ConnectComplete ConnectionTimeOut CommitTrans DisConnect Ọ C P H Ầ N Ọ C P H Ầ N R Ì N H C R Ì N H C CursorLocation Execute ExecuteComplete DefaultDatabase Open InfoMessage Errors Collection OpenShema RollbackTransComplete I Ả N G H Ọ I Ả N G H Ọ L Ậ P T R L Ậ P T R Isolation Level RollbackTrans WillConnect Mode WillExecute Properties collection P id B À I G I B À I G I L L rov er State Version TRẦN NGỌC BẢO ” KHOA TOÁN -TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ” (25)25 S S Đối tượng Connection N D O W S N D O W S D O D O ‰ Thuộc tính: ConnectionString Thuộc tính ConnetionString dùng để gán tên tập tin MDB nếu sử d A h ặ á lậ S N DBN U N R Ì N H W I R Ì N H W I V Ớ I A D V Ớ I A D ụng ccess o c x c p erver ame, ame, ser ame, Password nếu kết nối với SQL Server ‰ Ph ơng thức Open N L Ậ P T R N L Ậ P T R C S D L V C S D L V ư : Sau khi xác lập thuộc tính ConnetionString, gọi hàm Open để mở Connnection Ọ C P H Ầ N Ọ C P H Ầ N R Ì N H C R Ì N H C . Thông thường trong một ứng dụng Connection chỉ mở một lần khi load ứng dụng ế ể ể I Ả N G H Ọ I Ả N G H Ọ L Ậ P T R L Ậ P T R ‰ Phương thức: Close Æ Bi n Connection thường được khai báo toàn cục đ có th sử dụng trong toàn bộ ứng dụng B À I G I B À I G I L L Phương thức Close được gọi để đóng Connection. Thông thường trong một ứng dụng gọi close đối tượng connection khi TRẦN NGỌC BẢO ” KHOA TOÁN -TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ” (26)26 kết thúc chương trình S S Đối tượng Connection N D O W S N D O W S D O D O ™Kết nối CSDL SQL Server //Kh i bá biế ả lý i R Ì N H W I R Ì N H W I V Ớ I A D V Ớ I A D a o n qu n connect on _ConnectionPtr m_pConnection; HRESULT hr; N L Ậ P T R N L Ậ P T R C S D L V C S D L V hr = m_pConnection.CreateInstance( __uuidof( Connection ) ); if (SUCCEEDED(hr)) { hr= m pConnection->Open( bstr t(L"Provider=sqloledb;Data Ọ C P H Ầ N Ọ C P H Ầ N R Ì N H C R Ì N H C _ _ _ Source=ServerName;InitialCatalog=DatabaseName;"), _bstr_t(L"UserName"), I Ả N G H Ọ I Ả N G H Ọ L Ậ P T R L Ậ P T R _bstr_t(L"Password"), adModeUnknown); if (SUCCEEDED(hr)) { B À I G I B À I G I L L bRes = TRUE; } } TRẦN NGỌC BẢO ” KHOA TOÁN -TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ” (27)27 S S Tương tác dữ liệu: thêm, xóa,... N D O W S N D O W S D O D O R Ì N H W I R Ì N H W I V Ớ I A D V Ớ I A D N L Ậ P T R N L Ậ P T R C S D L V C S D L V Ọ C P H Ầ N Ọ C P H Ầ N R Ì N H C R Ì N H C Lấy dữ liệu I Ả N G H Ọ I Ả N G H Ọ L Ậ P T R L Ậ P T R Thê B À I G I B À I G I L L m dữ liệu TRẦN NGỌC BẢO ” KHOA TOÁN -TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ” (28)28 Xóa dữ liệu Sửa dữ liệu S S Thực thi câu lệnh Insert/Delete... N D O W S N D O W S D O D O Thêm dữ liệu R Ì N H W I R Ì N H W I V Ớ I A D V Ớ I A D Cập nhật dữ liệu N L Ậ P T R N L Ậ P T R C S D L V C S D L V Xóa dữ liệu Ọ C P H Ầ N Ọ C P H Ầ N R Ì N H C R Ì N H C Lấy dữ liệu I Ả N G H Ọ I Ả N G H Ọ L Ậ P T R L Ậ P T R B À I G I B À I G I L L Thực thi các câu lệnh Insert, Delete, update, Select thông qua đối tượng Command TRẦN NGỌC BẢO ” KHOA TOÁN -TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ” (29)29 S S Đối tượng Command N D O W S N D O W S D O D O Command Object R Ì N H W I R Ì N H W I V Ớ I A D V Ớ I A D Properties Method ActiveConnection Cancel CommandText CreateParameter CommandTimeOut Execute N L Ậ P T R N L Ậ P T R C S D L V C S D L V CommandType Name Parameter Collection P d Ọ C P H Ầ N Ọ C P H Ầ N R Ì N H C R Ì N H C repare Properties Collection State* I Ả N G H Ọ I Ả N G H Ọ L Ậ P T R L Ậ P T R Parameter Colection Parameter Object B À I G I B À I G I L L Properties Collection Properties Object TRẦN NGỌC BẢO ” KHOA TOÁN -TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ” (30)30 S S Đối tượng Command N D O W S N D O W S D O D O ‰ Thuộc tính: ActiveConnection Thuộc tính ActiveConnetion dùng để gán một đối tượng C ti đ đ ở R Ì N H W I R Ì N H W I V Ớ I A D V Ớ I A D onnec on ang ược m ‰ Thuộc tính: CommandText N L Ậ P T R N L Ậ P T R C S D L V C S D L V Thuộc tính CommandText dùng để xác định câu lệnh SQL “thao tác” cần thực hiện trong 4 loại thao tác : SELECT, INSERT, DELETE UPDATE Ọ C P H Ầ N Ọ C P H Ầ N R Ì N H C R Ì N H C , ‰ Thuộc tính: CommandType Thuộc tính CommandType dùng để xác định nội dung trong I Ả N G H Ọ I Ả N G H Ọ L Ậ P T R L Ậ P T R CommandText thuộc loại nào ? CommandText là tên của Table/Views, Tên Stored procedure hay một câu lệnh SQL ? B À I G I B À I G I L L ‰ Phương thức: Execute Phương thức Execute được gọi để thực thi một câu lệnh SQL TRẦN NGỌC BẢO ” KHOA TOÁN -TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ” (31)31 được gán cho trong thuộc tính CommandText S S Đối tượng Command N D O W S N D O W S D O D O //Khai báo biến quản lý Command C dPt C d R Ì N H W I R Ì N H W I V Ớ I A D V Ớ I A D _ omman r g_p m ; ™Kết nối CSDL thông qua Connection N L Ậ P T R N L Ậ P T R C S D L V C S D L V ‰ Cú pháp Ọ C P H Ầ N Ọ C P H Ầ N R Ì N H C R Ì N H C g_pCmd.CreateInstance(__uuidof(Command)); g_pCmd->ActiveConnection=m_pConnection; //với m pConnection là 1 connection đang mở I Ả N G H Ọ I Ả N G H Ọ L Ậ P T R L Ậ P T R _ B À I G I B À I G I L L TRẦN NGỌC BẢO ” KHOA TOÁN -TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ” (32)32 S S Đối tượng Command N D O W S N D O W S D O D O //Khai báo biến quản lý Command R Ì N H W I R Ì N H W I V Ớ I A D V Ớ I A D ™Th thi â lệ h SQL I t/D l t /U d t _CommandPtr g_pCmd; N L Ậ P T R N L Ậ P T R C S D L V C S D L V ực c u n : nser e e e p a e ‰ Cú pháp Ọ C P H Ầ N Ọ C P H Ầ N R Ì N H C R Ì N H C CString sSQL; C d >C dT t b t t( SQL) I Ả N G H Ọ I Ả N G H Ọ L Ậ P T R L Ậ P T R g_p m - omman ex =_ s r_ s ; g_pCmd->CommandType=adCmdText; B À I G I B À I G I L L _variant_t vRecsAffected(0L); TRẦN NGỌC BẢO ” KHOA TOÁN -TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ” (33)33 g_pCmd->Execute(&vRecsAffected,NULL,adOptionUnspecified); S S Đối tượng Command N D O W S N D O W S D O D O ™ Thực thi câu lệnh SQL: Insert/Delete/Update ‰ Ví dụ: thực thi một câu lệnh SQL Xóa dữ liệu từ Table HocSinh R Ì N H W I R Ì N H W I V Ớ I A D V Ớ I A D CString sSQL=“Delete From HocSinh”; C d >C dT t b t t( SQL) N L Ậ P T R N L Ậ P T R C S D L V C S D L V g_p m - omman ex =_ s r_ s ; g_pCmd->CommandType=adCmdText; _variant_t vRecsAffected(0L); Ọ C P H Ầ N Ọ C P H Ầ N R Ì N H C R Ì N H C try { C d >E t (& R Aff t d NULL dO ti U ifi d) I Ả N G H Ọ I Ả N G H Ọ L Ậ P T R L Ậ P T R g_p m - xecu e v ecs ec e , ,a p on nspec e ; } catch( _com_error &e ) B À I G I B À I G I L L { AfxMessageBox("loi"); } TRẦN NGỌC BẢO ” KHOA TOÁN -TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ” (34)34 S S Đối tượng Command N D O W S N D O W S D O D O ™ Thực thi câu lệnh SQL: Insert/Delete/Update ‰ Ví dụ: thực thi một câu lệnh SQL Insert dữ liệu vào Table HocSinh R Ì N H W I R Ì N H W I V Ớ I A D V Ớ I A D CString sSQL=""; N L Ậ P T R N L Ậ P T R C S D L V C S D L V sSQL = "Insert into HocSinh(MaHS,TenHS) Values(5"; sSQL = sSQL + ",\'TNB\')"; g_pCmd->CommandText=_bstr_t(sSQL); Ọ C P H Ầ N Ọ C P H Ầ N R Ì N H C R Ì N H C g_pCmd->CommandType=adCmdText; _variant_t vRecsAffected(0L); try I Ả N G H Ọ I Ả N G H Ọ L Ậ P T R L Ậ P T R { g_pCmd->Execute(&vRecsAffected,NULL,adOptionUnspecified); } B À I G I B À I G I L L catch( _com_error &e ) { //Xu ly loi TRẦN NGỌC BẢO ” KHOA TOÁN -TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ” (35)35 } S S Đối tượng Command N D O W S N D O W S D O D O ™Thực thi câu lệnh SELECT Kết quả câu truy vấn SELECT là một danh sách, ví dụ như danh R Ì N H W I R Ì N H W I V Ớ I A D V Ớ I A D sách sinh viên, danh sách học sinh, danh sách nhân viên,… ÆCần có đối tượng lưu trữ kết quả thực thi lệnh SELECT Æ Đó là đối tượng Recordset N L Ậ P T R N L Ậ P T R C S D L V C S D L V ‰ Cú pháp Ọ C P H Ầ N Ọ C P H Ầ N R Ì N H C R Ì N H C CString sSQL; g_pCmd->CommandText=_bstr_t(sSQL); I Ả N G H Ọ I Ả N G H Ọ L Ậ P T R L Ậ P T R g_pCmd->CommandType=adCmdText; B À I G I B À I G I L L _variant_t vRecsAffected(0L); g_pRS = g_pCmd->Execute(&vRecsAffected,NULL,adOptionUnspecified); TRẦN NGỌC BẢO ” KHOA TOÁN -TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ” (36)36 S S Đối tượng Recordset N D O W S N D O W S D O D O Recordset Object Properties Method Events AbsolutePage AddNew EndOfRecordset R Ì N H W I R Ì N H W I V Ớ I A D V Ớ I A D AssolutePosition Cancel FetchComplete ActiveCommand CancelBatch FetchProcess ActiveConnection CancelUpdate FieldChangeComplete BOF Clone MoveComplete Bookmark CompareBookmarks RecordChangeComplete N L Ậ P T R N L Ậ P T R C S D L V C S D L V CatcheSize Delete RecordsetChangeComlete CursorLocation Find WillChangeField CursorType GetRows WillChangeRecord DataMember GetString WillChangeRecordset DataSource Move WillMove Ọ C P H Ầ N Ọ C P H Ầ N R Ì N H C R Ì N H C EditMode MoveFirst EOF MoveLast Fields Collection MoveNext Filter MovePrevious L kT N tR d t I Ả N G H Ọ I Ả N G H Ọ L Ậ P T R L Ậ P T R oc ype ex ecor se MarshalOptions Open MaxRecords Requery PageCount Resync Pagesize Save B À I G I B À I G I L L Properties Collection Supports RecordCount Update Sort Updatebatch State Status TRẦN NGỌC BẢO ” KHOA TOÁN -TIN

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

  • pdf58.pdf
Tài liệu liên quan