Lập trình Windows - Bài 07

Lập trình cơ sở dữ liệu với thư viện ADO ã Hệ thống quản lý học sinh: lưu trữ thông tin liên 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 ã Hệ thống quản lý nhân sự: lưu trữ thông tin liên quan đến nhân viên trong công ty ã Hệ thống quản lý tiền lương ã Hệ thống quản lý kế toán ã Hệ thống dự án ã

pdf63 trang | Chia sẻ: tlsuongmuoi | Lượt xem: 1944 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Lập trình Windows - Bài 07, để 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 HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ” (37)37 staylnSync S S Đối tượng Recordset N D O W S N D O W S D O D O Recordset Object R Ì N H W I R Ì N H W I V Ớ I A D V Ớ I A D Properties Method Events AbsolutePage AddNew EndOfRecordset AssolutePosition Cancel FetchComplete N L Ậ P T R N L Ậ P T R C S D L V C S D L V ActiveCommand CancelBatch FetchProcess ActiveConnection CancelUpdate FieldChangeComplete BOF Clone MoveComplete ….. Ọ C P H Ầ N Ọ C P H Ầ N R Ì N H C R Ì N H C Fields Collection I Ả N G H Ọ I Ả N G H Ọ L Ậ P T R L Ậ P T R Fields object Properties Colection B À I G I B À I G I L L Property Object TRẦN NGỌC BẢO ” KHOA TOÁN -TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ” (38)38 S S Đối tượng Recordset N D O W S N D O W S D O D O //Khai báo biến quản lý RecordSet RecordsetPtr g pRS; R Ì N H W I R Ì N H W I V Ớ I A D V Ớ I A D _ _ ™Thực thi câu lệnh SELECT N L Ậ P T R N L Ậ P T R C S D L V C S D L V g_pRS.CreateInstance(__uuidof(Recordset)); ‰ Cú pháp Ọ C P H Ầ N Ọ C P H Ầ N R Ì N H C R Ì N H C g_pRS->CursorType = adOpenStatic; // Use client cursor to enable AbsolutePosition property. g pRS->CursorLocation = adUseClient; I Ả N G H Ọ I Ả N G H Ọ L Ậ P T R L Ậ P T R _ CString sSQL; g_pCmd->CommandText=_bstr_t(sSQL); B À I G I B À I G I L L g_pCmd->CommandType=adCmdText; _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 ” (39)39 S S Đối tượng Recordset N D O W S N D O W S D O D O //Khai báo biến quản lý RecordSet RecordsetPtr g pRS; R Ì N H W I R Ì N H W I V Ớ I A D V Ớ I A D _ _ ‰ Ví dụ: thực thi một câu lệnh SQL Select dữ liệu từ Table HocSinh N L Ậ P T R N L Ậ P T R C S D L V C S D L V g_pRS.CreateInstance(__uuidof(Recordset)); g_pRS->CursorType = adOpenStatic; Ọ C P H Ầ N Ọ C P H Ầ N R Ì N H C R Ì N H C // Use client cursor to enable AbsolutePosition property. g_pRS->CursorLocation = adUseClient; I Ả N G H Ọ I Ả N G H Ọ L Ậ P T R L Ậ P T R CString sSQL=“Select * from HocSinh”; g_pCmd->CommandText=_bstr_t(sSQL); B À I G I B À I G I L L g_pCmd->CommandType=adCmdText; _variant_t vRecsAffected(0L); TRẦN NGỌC BẢO ” KHOA TOÁN -TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ” (40)40 g_pRS = g_pCmd->Execute(&vRecsAffected,NULL,adOptionUnspecified); S S Đối tượng Recordset N D O W S N D O W S D O D O ™Duyệt toàn bộ các mẫu tin trong RecordSet R Ì N H W I R Ì N H W I V Ớ I A D V Ớ I A D g_pRS->MoveFirst(); ‰ Cú pháp N L Ậ P T R N L Ậ P T R C S D L V C S D L V while (! g_pRS->EndOfFile) { _variant_t vField1; Ọ C P H Ầ N Ọ C P H Ầ N R Ì N H C R Ì N H C _variant_t vField2; vField1 = g_pRS->GetCollect(L“FieldName1"); vField2 = g pRS->GetCollect(L“FieldName2"); 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 g_pRS->MoveNext(); } TRẦN NGỌC BẢO ” KHOA TOÁN -TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ” (41)41 S S Đối tượng Recordset ™D ệt t à bộ á ẫ ti t R dS t N D O W S N D O W S D O D O uy o n c c m u n rong ecor e ‰ Ví dụ: thực thi một câu lệnh SQL Select 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=""; sSQL = "Select * from HocSinh"; …. N L Ậ P T R N L Ậ P T R C S D L V C S D L V _variant_t vRecsAffected(0L); g_pRS=doc->myADO.g_pCmd->Execute(&vRecsAffected,NULL,adOptionUnspecified); //Duyet toan bo cac mau tin CString s; Ọ C P H Ầ N Ọ C P H Ầ N R Ì N H C R Ì N H C g_pRS->MoveFirst(); while (!g_pRS->EndOfFile) { I Ả N G H Ọ I Ả N G H Ọ L Ậ P T R L Ậ P T R _variant_t vMaHS; _variant_t vTenHS; vMaHS = doc->myADO.g_pRS->GetCollect(L"MaHS"); B À I G I B À I G I L L vTenHS = doc->myADO.g_pRS->GetCollect(L"TenHS"); s.Format("%d",vMaHS.intVal); MessageBox(s); g pRS->MoveNext(); TRẦN NGỌC BẢO ” KHOA TOÁN -TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ” (42)42 _ } S S Đối tượng Recordset N D O W S N D O W S D O D O ™Các phương thức duyệt mẫu tin R Ì N H W I R Ì N H W I V Ớ I A D V Ớ I A D g_pRs->MoveFirst() ‰ Về đầu danh sách N L Ậ P T R N L Ậ P T R C S D L V C S D L V g pRs-> MoveLast() ‰ Về cuối danh sách Ọ C P H Ầ N Ọ C P H Ầ N R Ì N H C R Ì N H C _ ‰ Di chuyển về sau một mẫu tin I Ả N G H Ọ I Ả N G H Ọ L Ậ P T R L Ậ P T R g_pRs-> MoveNext() ‰ Về đầu về trước một mẫu tin B À I G I B À I G I L L g_pRs-> MovePrevious() TRẦN NGỌC BẢO ” KHOA TOÁN -TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ” (43)43 S S Đối tượng Recordset N D O W S N D O W S D O D O ™Các phương thức duyệt mẫu tin R Ì N H W I R Ì N H W I V Ớ I A D V Ớ I A D TenMH Nhap mon tin hoc Cau truc du lieu Mhoc MaMH COSC1310 COSC3320 TinChi Khoa 4 4 CNTT CNTT g_pRs->MoveFirst() N L Ậ P T R N L Ậ P T R C S D L V C S D L V Toan roi rac Co so du lieu MATH2410 COSC3380 3 3 TOAN CNTT Ọ 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 ” (44)44 S S Đối tượng Recordset N D O W S N D O W S D O D O ™Các phương thức duyệt mẫu tin R Ì N H W I R Ì N H W I V Ớ I A D V Ớ I A D TenMH Nhap mon tin hoc Cau truc du lieu Mhoc MaMH COSC1310 COSC3320 TinChi Khoa 4 4 CNTT CNTT N L Ậ P T R N L Ậ P T R C S D L V C S D L V Toan roi rac Co so du lieu MATH2410 COSC3380 3 3 TOAN CNTT g_pRs->MoveLast() Ọ 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 ” (45)45 S S Đối tượng Recordset N D O W S N D O W S D O D O ™Các phương thức duyệt mẫu tin R Ì N H W I R Ì N H W I V Ớ I A D V Ớ I A D TenMH Nhap mon tin hoc Cau truc du lieu Mhoc MaMH COSC1310 COSC3320 TinChi Khoa 4 4 CNTT CNTT N L Ậ P T R N L Ậ P T R C S D L V C S D L V Toan roi rac Co so du lieu MATH2410 COSC3380 3 3 TOAN CNTT g_pRs->MoveNext() Ọ 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 ” (46)46 S S Đối tượng Recordset N D O W S N D O W S D O D O ™Các phương thức duyệt mẫu tin R Ì N H W I R Ì N H W I V Ớ I A D V Ớ I A D TenMH Nhap mon tin hoc Cau truc du lieu Mhoc MaMH COSC1310 COSC3320 TinChi Khoa 4 4 CNTT CNTT N L Ậ P T R N L Ậ P T R C S D L V C S D L V Toan roi rac Co so du lieu MATH2410 COSC3380 3 3 TOAN CNTT g pRs >MoveNext() Ọ C P H Ầ N Ọ C P H Ầ N R Ì N H C R Ì N H C g_pRs->EOF = True _ - 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 ” (47)47 S S Đối tượng Recordset N D O W S N D O W S D O D O ™Các phương thức duyệt mẫu tin R Ì N H W I R Ì N H W I V Ớ I A D V Ớ I A D TenMH Nhap mon tin hoc Cau truc du lieu Mhoc MaMH COSC1310 COSC3320 TinChi Khoa 4 4 CNTT CNTT g_pRs->MovePrevious() N L Ậ P T R N L Ậ P T R C S D L V C S D L V Toan roi rac Co so du lieu MATH2410 COSC3380 3 3 TOAN CNTT Ọ 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 ” (48)48 S S Đối tượng Recordset N D O W S N D O W S D O D O ™Các phương thức duyệt mẫu tin R >BOF T R Ì N H W I R Ì N H W I V Ớ I A D V Ớ I A D TenMH Nhap mon tin hoc Mhoc MaMH COSC1310 TinChi Khoa 4 CNTT g_pRs->MovePrevious() g_p s- = rue N L Ậ P T R N L Ậ P T R C S D L V C S D L V Cau truc du lieu Toan roi rac Co so du lieu COSC3320 MATH2410 COSC3380 4 3 3 CNTT TOAN CNTT Ọ 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 ” (49)49 S S Đối tượng Field N D O W S N D O W S D O D O Recordset Object Fields Collection R Ì N H W I R Ì N H W I V Ớ I A D V Ớ I A D Field Object Properties Methods N L Ậ P T R N L Ậ P T R C S D L V C S D L V ActualSize AppendChunk Atributes GetChunk DataFormat DefinedSi e Ọ C P H Ầ N Ọ C P H Ầ N R Ì N H C R Ì N H C z Name NumericScale OriginalValue P i i I Ả N G H Ọ I Ả N G H Ọ L Ậ P T R L Ậ P T R rec s on Properties Collection Type UnderlyingValue B À I G I B À I G I L L Value Properties Collection TRẦN NGỌC BẢO ” KHOA TOÁN -TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ” (50)50 Properties Object Đạ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 Lập trình CSDL với ADO ố N D O W S N D O W S D O D O Phòng giáo vụ tại một trường Đại học mu n tin học hóa việc quản lý đăng ký học chuyên đề của sinh viên. Kết quả phân tích thiết kế được mô hình CSDL quan hệ như sau: R Ì N H W I R Ì N H W I V Ớ I A D V Ớ I A D 1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, DCHI, MANGANH) Tân từ: Mỗi sinh viên có một mã số duy nhất (MASV), một họ tên N L Ậ P T R N L Ậ P T R C S D L V C S D L V (HOTEN), thuộc một phái (PHAI), có một ngày sinh (NGAYSINH), có một địa chỉ (DCHI), và học một ngành (MANGANH) M SV T SV N Kh Ọ C P H Ầ N Ọ C P H Ầ N R Ì N H C R Ì N H C a en am oa K28.103.001 Trần Quốc Thanh 1 CNTT K28 101 001 Nguyễn Công Phú 1 TOAN I Ả N G H Ọ I Ả N G H Ọ L Ậ P T R L Ậ P T R . . K28.101.002 Phan Anh Khanh 1 TOAN K27 101 001 Ph Khá h Như 2 TOAN B À I G I B À I G I L L . . ạm n K26.102.001 Trần Ngọc Dung 3 VLY TRẦN NGỌC BẢO ” KHOA TOÁN -TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ” (52)52 K25.201.001 Phạm Khánh Như 4 HOA S S Lập trình CSDL với ADO ế ế N D O W S N D O W S D O D O Thi t k màn hình quản lý sinh viên cho phép thực hiện các thao tác liên quan đến sinh viên như: R Ì N H W I R Ì N H W I V Ớ I A D V Ớ I A D ‰ Xem danh sách sinh viên ‰ Thêm mới sinh viên N L Ậ P T R N L Ậ P T R C S D L V C S D L V ‰ Xóa sinh viên khỏi danh sách ‰ Thay đổi thông tin sinh viên Ọ 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 ” (53)53 S S Xem danh sách sinh viên ế ế N D O W S N D O W S D O D O Thi t k màn hình quản lý sinh viên cho phép thực hiện các thao tác liên quan đến sinh viên như: Lấy danh sách R Ì N H W I R Ì N H W I V Ớ I A D V Ớ I A D sinh viên lưu trữ trong table SinhVien trong N L Ậ P T R N L Ậ P T R C S D L V C S D L V CSDL hiển thị lên Grid trong màn hình Thông tin Ọ C P H Ầ N Ọ C P H Ầ N R Ì N H C R Ì N H C sinh viên I Ả N G H Ọ I Ả N G H Ọ L Ậ P T R L Ậ P T R Thực hiện truy vấn B À I G I B À I G I L L dữ liệu với câu lệnh SELECT TRẦN NGỌC BẢO ” KHOA TOÁN -TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ” (54)54 S S Xem danh sách sinh viên ế ế N D O W S N D O W S D O D O Thi t k màn hình quản lý sinh viên cho phép thực hiện các thao tác liên quan đến sinh viên như: Lấy danh sách R Ì N H W I R Ì N H W I V Ớ I A D V Ớ I A D sinh viên lưu trữ trong table SinhVien trong N L Ậ P T R N L Ậ P T R C S D L V C S D L V CSDL hiển thị lên Grid trong màn hình Thông tin Ọ C P H Ầ N Ọ C P H Ầ N R Ì N H C R Ì N H C sinh viên I Ả N G H Ọ I Ả N G H Ọ L Ậ P T R L Ậ P T R Thực hiện truy vấn B À I G I B À I G I L L dữ liệu với câu lệnh SELECT SELECT MASV, TENSV, NAM, KHOA FROM SINHVIEN TRẦN NGỌC BẢO ” KHOA TOÁN -TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ” (55)55 S S Xem danh sách sinh viên N D O W S N D O W S D O D O Lấy danh sách sinh viên lưu trữ trong table SinhVien trong CSDL hiển thị lên Grid trong màn hình Thông tin sinh viên R Ì N H W I R Ì N H W I V Ớ I A D V Ớ I A D Cần phải sử dụng các đối tượng sau trong thư viện ADO ‰ C ti N L Ậ P T R N L Ậ P T R C S D L V C S D L V onnec on Thiết lập kết nối với CSDL có chứa Table SinhVien Ọ C P H Ầ N Ọ C P H Ầ N R Ì N H C R Ì N H C ‰ Command Thực thi câu lệnh SQL I Ả N G H Ọ I Ả N G H Ọ L Ậ P T R L Ậ P T R SELECT MASV, TENSV, NAM, KHOA FROM SINHVIEN B À I G I B À I G I L L ‰ Recordset Chứa kết quả thực thi câu lệnh SQL SELECT trên TRẦN NGỌC BẢO ” KHOA TOÁN -TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ” (56)56 S S Thêm mới sinh viên ế ế N D O W S N D O W S D O D O Thi t k màn hình quản lý sinh viên cho phép thực hiện các thao tác liên quan đến sinh viên như: Lấy thông tin sinh R Ì N H W I R Ì N H W I V Ớ I A D V Ớ I A D viên trong màn hình Thông tin sinh viên lưu vào N L Ậ P T R N L Ậ P T R C S D L V C S D L V Table HocSinh Ọ 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 Thực hiện câu lệnh B À I G I B À I G I L L INSERT TRẦN NGỌC BẢO ” KHOA TOÁN -TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ” (57)57 S S Thêm mới sinh viên N D O W S N D O W S D O D O Lấy thông tin sinh viên trong màn hình Thông tin sinh viên lưu vào table SinhVien R Ì N H W I R Ì N H W I V Ớ I A D V Ớ I A D Cần phải sử dụng các đối tượng sau trong thư viện ADO ‰ C ti N L Ậ P T R N L Ậ P T R C S D L V C S D L V onnec on Thiết lập kết nối với CSDL có chứa Table SinhVien Ọ C P H Ầ N Ọ C P H Ầ N R Ì N H C R Ì N H C ‰ Command Thực thi câu lệnh SQL I Ả N G H Ọ I Ả N G H Ọ L Ậ P T R L Ậ P T R INSERT INTO SINHVIEN (MASV, TENSV, NAM, KHOA) VALUES (‘????’,’????’,???,’???’) B À I G I B À I G I L L Các giá trị MASV, TENSV,.. Được lấy từ các control TRẦN NGỌC BẢO ” KHOA TOÁN -TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ” (58)58 (Edittext) trong màn hình thông tin sinh viên S S Xóa sinh viên ế ế N D O W S N D O W S D O D O Thi t k màn hình quản lý sinh viên cho phép thực hiện các thao tác liên quan đến sinh viên như: Xóa sinh viên R Ì N H W I R Ì N H W I V Ớ I A D V Ớ I A D đang được chọn trong danh sách sinh viên 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 Thực hiện câu lệnh B À I G I B À I G I L L DELETE TRẦN NGỌC BẢO ” KHOA TOÁN -TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ” (59)59 S S Xóa sinh viên N D O W S N D O W S D O D O Xóa sinh viên đang được chọn trong danh sách sinh viên ra khỏi table SinhVien R Ì N H W I R Ì N H W I V Ớ I A D V Ớ I A D Cần phải sử dụng các đối tượng sau trong thư viện ADO ‰ C ti N L Ậ P T R N L Ậ P T R C S D L V C S D L V onnec on Thiết lập kết nối với CSDL có chứa Table SinhVien Ọ C P H Ầ N Ọ C P H Ầ N R Ì N H C R Ì N H C ‰ Command Thực thi câu lệnh SQL I Ả N G H Ọ I Ả N G H Ọ L Ậ P T R L Ậ P T R DELETE FROM SINHVIEN WHERE MASV = ‘???’ B À I G I B À I G I L L Giá trị MASV được lấy từ các control (MaSV) trong màn TRẦN NGỌC BẢO ” KHOA TOÁN -TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ” (60)60 hình thông tin sinh viên S S Cập nhật thông tin sinh viên ế ế N D O W S N D O W S D O D O Thi t k màn hình quản lý sinh viên cho phép thực hiện các thao tác liên quan đến sinh viên như: Thay đổi thông tin R Ì N H W I R Ì N H W I V Ớ I A D V Ớ I A D sinh viên đang được chọn bằng thông tin đã được N L Ậ P T R N L Ậ P T R C S D L V C S D L V sửa đổi trong màn hình thông tin sinh viên Ọ 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 Thực hiện câu lệnh B À I G I B À I G I L L UPDATE TRẦN NGỌC BẢO ” KHOA TOÁN -TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ” (61)61 S S Cập nhật thông tin sinh viên N D O W S N D O W S D O D O Để cập nhật thông tin sinh viên trên màn hình vào table SinhVien trong CSDL R Ì N H W I R Ì N H W I V Ớ I A D V Ớ I A D Cần phải sử dụng các đối tượng sau trong thư viện ADO ‰ C ti N L Ậ P T R N L Ậ P T R C S D L V C S D L V onnec on Thiết lập kết nối với CSDL có chứa Table SinhVien Ọ C P H Ầ N Ọ C P H Ầ N R Ì N H C R Ì N H C ‰ Command Thực thi câu lệnh SQL I Ả N G H Ọ I Ả N G H Ọ L Ậ P T R L Ậ P T R UPDATE SINHVIEN SET HOTEN = ‘???’, NAM = ???, KHOA = ‘???’ WHERE MASV = ‘???’ B À I G I B À I G I L L Các giá trị MASV, TENSV,.. Được lấy từ các control TRẦN NGỌC BẢO ” KHOA TOÁN -TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ” (62)62 (Edittext) trong màn hình thông tin sinh viên S S 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 ” (63)63

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

  • pdfLẬP TRÌNH WINDOWS bài 07.pdf
Tài liệu liên quan