Bài giảng Nhập môn công nghệ phần mềm - Chương 11: Architecture và Framework - Trần Ngọc Bảo

pdf 83 trang cucquyet12 3681
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Nhập môn công nghệ phần mềm - Chương 11: Architecture và Framework - Trần Ngọc Bảo", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_nhap_mon_cong_nghe_phan_mem_chuong_11_architecture.pdf

Nội dung text: Bài giảng Nhập môn công nghệ phần mềm - Chương 11: Architecture và Framework - Trần Ngọc Bảo

  1. Đại Học Sư Phạm Tp. Hồ Chí Minh Khoa Toán – Tin Học NHẬP MÔN CÔNG NGH Ệ PHẦNMN MỀM Architecture & Framework Người trình bày: Trần Ngọc Bảo Email: tnbao.dhsp@gmail.com
  2. MỤC TIÊU MM ỀỀ • Biết được kiến trúc một ứng dụng N MN M ẦẦ HH PPPP ỆỆ • Biết được lập trình CSDL sử dụng ATION ATION G NGHG NGH TTTT Visual Basic và ADODB MENMEN MÔN CÔNMÔN CÔN EEEE • Biết được cách tổ chứccmôhình3l mô hình 3 lớp P P Ậ Ậ IMPLIMPL NG NH NG NH ẢẢ BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ((22))
  3. NỘI DUNG TRÌNH BÀY MM ỀỀ N MN M • Kiến trúc của 1 application ẦẦ HH PPPP ỆỆ • Lập trình CSDL với Visual Basic & ATION ATION G NGHG NGH TTTT ADODB MENMEN MÔN CÔNMÔN CÔN EEEE P P Ậ Ậ • Mô hình 3 lớp ( 3-tier) IMPLIMPL NG NH NG NH ẢẢ BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ((33))
  4. NỘI DUNG TRÌNH BÀY MM ỀỀ N MN M • Kiến trúc của 1 application ẦẦ HH PPPP ỆỆ • Lập trình CSDL với Visual Basic & ATION ATION G NGHG NGH TTTT ADODB MENMEN MÔN CÔNMÔN CÔN EEEE P P Ậ Ậ • Mô hình 3 lớp ( 3-tier) IMPLIMPL NG NH NG NH ẢẢ BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ((44))
  5. Mô hình phần mềm MM ỀỀ Hệ thống tin học N MN M ẦẦ Người dùng HH PPPP ỆỆ Hệ thống giao diện ATION ATION G NGHG NGH TTTT Phần mềm MENMEN Hệ thống xử lý MÔN CÔNMÔN CÔN EEEE P P Ậ Ậ IMPLIMPL Hệ thống dữ liệu NG NH NG NH ẢẢ Phần cứng BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN5 HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ((55))
  6. Các kiểu kiến trúc của 1 App. MM ỀỀ N MN M Qui trình xử lý một thao tác thông thường ẦẦ HH PPPP ỆỆ ATION ATION G NGHG NGH TTTT 2. Kiểm 1. Nhập dữ liệu 3. Truy vấn tra, xử lý, database tính toán Database MENMEN MÔN CÔNMÔN CÔN EEEE 5. Hi ểnnth thị kết 4. Tr ả kếtqut quả P P quả Ậ Ậ Bussiness Logic Data Access Logic IMPLIMPL Presentation Logic NG NH NG NH ẢẢ BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ((66))
  7. Các kiểu kiến trúc của 1 App. MM ỀỀ N MN M ẦẦ Mô hình kiến trúc 1 lớp HH PPPP ỆỆ ATION ATION G NGHG NGH TTTT 2. Kiểm 1. Nhập dữ liệu 3. Truy vấn tra, xử lý, database MENMEN tính toán Database MÔN CÔNMÔN CÔN EEEE 5Hi5. Hiểnnth thị kết 4Tr4. Trả kếtqut quả P P Ậ Ậ quả Bussiness Logic Data Access Logic IMPLIMPL Presentation Logic NG NH NG NH ẢẢ BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ((77))
  8. Các kiểu kiến trúc của 1 App. MM ỀỀ N MN M ẦẦ HH Mô hình kiến trúc 2 lớp PPPP ỆỆ ATION ATION G NGHG NGH TTTT 2. Kiểm 1. Nhập dữ liệu 3. Truy vấn tra, xử lý, database MENMEN tính toán MÔN CÔNMÔN CÔN Database EEEE P P 5. Hiển thị kết 4. Trả kết quả Ậ Ậ quả IMPLIMPL Bussiness Logic Data Access Logic NG NH NG NH Presentation Logic ẢẢ BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ((88))
  9. Các kiểu kiến trúc của 1 App. MM ỀỀ N MN M ẦẦ Mô hình kiến trúc 3 lớp HH PPPP ỆỆ ATION ATION G NGHG NGH TTTT 2. Kiểm 1. Nhập dữ liệu 3. Truy vấn tra, xử lý, database MENMEN tính toán Database MÔN CÔNMÔN CÔN EEEE 5Hi5. Hiểnnth thị kết 4Tr4. Trả kếtqut quả P P Ậ Ậ quả Bussiness Logic Data Access Logic IMPLIMPL Presentation Logic NG NH NG NH ẢẢ BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM ((99))
  10. NỘI DUNG TRÌNH BÀY MM ỀỀ N MN M • Kiến trúc của 1 application ẦẦ HH PPPP ỆỆ • Lập trình CSDL với Visual Basic & ATION ATION G NGHG NGH TTTT ADODB MENMEN MÔN CÔNMÔN CÔN EEEE P P Ậ Ậ • Mô hình 3 lớp ( 3-tier) IMPLIMPL NG NH NG NH ẢẢ BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (10(10))
  11. CSDL trong ứng dụng quản lý CT Kế toán CT Nhân sự CT Tiền lương Kết nối Kết nối Kết nối CSDL CSDL CSDL CSDL CSDL CSDL Tran Ngoc BaoTRẦ N NG Ọ C B Ả O ” KHOA TOÁN -TIN- TIN H Ọ C ” ĐẠ I H Ọ C S Ư PHDaiDaiẠ hocM TP.HCM Su Pham ((11TP.HCM11))
  12. CSDL trong ứng dụng quản lý MM ỀỀ N MN M CT Nhân sự ẦẦ ™ Thành phầngiaodiện HH PPPP ỆỆ ATION ATION G NGHG NGH TTTT Kết nối ™ Giao tiếpdữ liệu MENMEN MÔN CÔNMÔN CÔN EEEE CSDL P P Ậ Ậ IMPLIMPL NG NH NG NH ẢẢ CSDL ™ Thành phầndữ liệu BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (12(12))
  13. CSDL trong ứng dụng quản lý MM ỀỀ N MN M ™ Thành phầngiaodiện: ẦẦ CT Nhân sự HH PPPP Visual Basic, Visual C++, ỆỆ C#, VB.NET, Delphi ATION ATION G NGHG NGH TTTT Kết nối ™ Giao tiếpdữ liệu: ODBC, MENMEN MÔN CÔNMÔN CÔN EEEE CSDL DAO, ADODB, ADO.NET, P P Ậ Ậ IMPLIMPL NG NH NG NH ẢẢ CSDL ™ Thành phầndữ liệu: MS BÀI GIBÀI GI Access, SQL Server, Oracle, TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (13(13))
  14. Thành phần giao diện MM ỀỀ N MN M ẦẦ HH PPPP ỆỆ ATION ATION G NGHG NGH TTTT MENMEN MÔN CÔNMÔN CÔN EEEE P P Ậ Ậ IMPLIMPL NG NH NG NH ẢẢ BÀI GIBÀI GI Thông tin học sinh TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (14(14))
  15. Thành phần giao diện MM ỀỀ N MN M ẦẦ HH PPPP ỆỆ ATION ATION G NGHG NGH TTTT MENMEN MÔN CÔNMÔN CÔN EEEE P P Ậ Ậ IMPLIMPL NG NH NG NH ẢẢ BÀI GIBÀI GI Thông tin giáo viên TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (15(15))
  16. Thành phần dữ liệu MM ỀỀ N MN M ẦẦ ™ MS Access 2000/XP/2003 HH PPPP ỆỆ ATION ATION G NGHG NGH TTTT ™ MS SQL Server 7.0/2000/2005 MENMEN MÔN CÔNMÔN CÔN EEEE P P Ậ Ậ ™ Oracle 8i/9i/10i/11i IMPLIMPL NG NH NG NH ẢẢ BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (16(16))
  17. Hệ quản trị CSDL MS Access MM ỀỀ N MN M ẦẦ HH PPPP ỆỆ ATION ATION G NGHG NGH TTTT MENMEN MÔN CÔNMÔN CÔN EEEE P P Ậ Ậ IMPLIMPL NG NH NG NH ẢẢ BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (17(17))
  18. Hệ quản trị CSDL MS Access MM ỀỀ ™ Thành phần định nghĩacấutrúcCSDL N MN M ẦẦ HH PPPP ỆỆ ATION ATION G NGHG NGH TTTT MENMEN MÔN CÔNMÔN CÔN EEEE P P Ậ Ậ IMPLIMPL NG NH NG NH ẢẢ BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (18(18))
  19. Hệ quản trị CSDL MS Access MM ỀỀ ™ Thành phần khai thác dữ liệu N MN M ẦẦ HH PPPP ỆỆ ATION ATION G NGHG NGH TTTT MENMEN MÔN CÔNMÔN CÔN EEEE P P Ậ Ậ IMPLIMPL NG NH NG NH ẢẢ BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (19(19))
  20. Hệ quản trị CSDL SQL Server MM ỀỀ N MN M ẦẦ HH PPPP ỆỆ ATION ATION G NGHG NGH TTTT MENMEN MÔN CÔNMÔN CÔN EEEE P P Ậ Ậ IMPLIMPL NG NH NG NH ẢẢ BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (20(20))
  21. Hệ quản trị CSDL SQL Server MM ỀỀ ™ Thành phần định nghĩacấutrúcCSDL N MN M ẦẦ HH PPPP ỆỆ ATION ATION G NGHG NGH TTTT MENMEN MÔN CÔNMÔN CÔN EEEE P P Ậ Ậ IMPLIMPL NG NH NG NH ẢẢ BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (21(21))
  22. Hệ quản trị CSDL SQL Server MM ™ Thành phần khai thác dữ liệu ỀỀ N MN M ẦẦ HH PPPP ỆỆ ATION ATION G NGHG NGH TTTT MENMEN MÔN CÔNMÔN CÔN EEEE P P Ậ Ậ IMPLIMPL NG NH NG NH ẢẢ BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (22(22))
  23. CSDL trong ứng dụng quản lý CT Kế toán CT Nhân sự CT Tiền lương Kết nối Kết nối Kết nối CSDL CSDL CSDL CSDL Tran Ngoc BaoTRẦ N NG Ọ C B Ả O ” KHOA TOÁN -TIN- TIN H Ọ C ” ĐẠ I H Ọ C S Ư PHDaiDaiẠ hocM TP.HCM Su Pham (23(TP.HCM23))
  24. Truy xuất CSDL trong ứng dụng quản lý Tran Ngoc BaoTRẦ N NG Ọ C B Ả O ” KHOA TOÁN -TIN- TIN H Ọ C ” ĐẠ I H Ọ C S Ư PHDaiDaiẠ hocM TP.HCM Su Pham (24(TP.HCM24))
  25. Hệ quản trị CSDL SQL Server Tran Ngoc BaoTRẦ N NG Ọ C B Ả O ” KHOA TOÁN -TIN- TIN H Ọ C ” ĐẠ I H Ọ C S Ư PHDaiDaiẠ hocM TP.HCM Su Pham (25(TP.HCM25)) 25
  26. Thành phần giao tiếp dữ liệu - OLE DB/ADO MM ỀỀ N MN M Client Application ẦẦ HH PPPP ỆỆ Remote Data Object ActiveX Data Object ATION ATION G NGHG NGH TTTT ODBC Driver OLE DB Data Provider MENMEN MÔN CÔNMÔN CÔN EEEE ODBCDriver OLE DB Document Server P P Ậ Ậ Manager IMPLIMPL NG NH NG NH ẢẢ Email Server Relational Database BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (26(26))
  27. CẤU TRÚC OLE DB/ADO Web Browser MS Internet Information Server with Active Server Pages Client Application ActiveX Server ADO OLE DB Database Tran Ngoc BaoTRẦ N NG Ọ C B Ả O ” KHOA TOÁN -TIN- TIN H Ọ C ” ĐẠ I H Ọ C S Ư PHDaiDaiẠ hocM TP.HCM Su Pham (27(TP.HCM27))
  28. Sử dụng thư viện ADODB MM ỀỀ ™ Click ch uột menu “Pro ject\RfReferences” N MN M ẦẦ HH ™ Chọn mục “Microsoft ActiveX Data Object 2.5 PPPP ỆỆ Library” ATION ATION G NGHG NGH TTTT MENMEN MÔN CÔNMÔN CÔN EEEE P P Ậ Ậ IMPLIMPL NG NH NG NH ẢẢ BÀI GIBÀI GI ™ Click OK TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (28(28))
  29. Truy xuất dữ liệu MM ỀỀ Parameters/SQL N MN M ẦẦ HH Config QQyuery PP PP ỆỆ constr ATION ATION G NGHG NGH Connect i on TTTT Object Command/ DataAdapter MENMEN MÔN CÔNMÔN CÔN EEEE P P Ậ Ậ DB Fill IMPLIMPL Grid NG NH NG NH ẢẢ Recordset BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (29(29))
  30. Các đối tượng trong thư viện ADODB MM ỀỀ N MN M ẦẦ HH PPPP ỆỆ ATION ATION G NGHG NGH TTTT MENMEN MÔN CÔNMÔN CÔN EEEE P P Ậ Ậ IMPLIMPL NG NH NG NH ẢẢ BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (30(30))
  31. ADO Object Model MM ỀỀ Property (Optional) N MN M ẦẦ HH PPPP ỆỆ Command Connection ATION ATION G NGHG NGH (Optional) TTTT MENMEN Recordset MÔN CÔNMÔN CÔN EEEE P P Ậ Ậ IMPLIMPL NG NH NG NH ẢẢ Error Field Parameter BÀI GIBÀI GI (Optional) (Optional) TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (31(31))
  32. ADO Object MM ỀỀ N MN M ™ Connection ẦẦ HH PPPP ỆỆ ™ Command ATION ATION G NGHG NGH TTTT ™ RecordSet MENMEN MÔN CÔNMÔN CÔN EEEE P P Ậ Ậ ™ Field IMPLIMPL NG NH NG NH ẢẢ BÀI GIBÀI GI ™ Parameter TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (32(32))
  33. Kết nối Data Source MM ™ MS Access ỀỀ N MN M ẦẦ HH PPPP ỆỆ Connection ATION ATION G NGHG NGH TTTT ™ MS SQL Server File *.mdb nào ? VD: QLHS.mdb, MENMEN MÔN CÔNMÔN CÔN EEEE QQSdbLNS.mdb P P Ậ Ậ Connection IMPLIMPL NG NH NG NH ẢẢ Ứng dụng - Server ? BÀI GIBÀI GI - DatabaseName ? - User Name ? - Password ? TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (33(33))
  34. ADO Object - Connection MM ỀỀ Connection object N MN M ẦẦ HH PPPP ỆỆ Properties Method Event Atributes Begin Trans BeginTransComplete CommandTimeOut Cancel CommitTransComplete ATION ATION G NGHG NGH ConnectionString Close ConnectComplete TTTT ConnectionTimeOut CommitTrans DisConnect CursorLocation Execute ExecuteComplete DefaultDatabase Open InfoMessage MENMEN Errors Collection OpenShema RollbackTransComplete MÔN CÔNMÔN CÔN EEEE P P Isolation Level RollbackTrans WillConnect Ậ Ậ Mode WillExecute Properties collection IMPLIMPL Provider NG NH NG NH State ẢẢ Version BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (34(34))
  35. ADO Object - Connection MM ỀỀ ‘Khai báo biến quản lý connection Dim con As New ADODB.Connection N MN M ẦẦ HH PPPP ỆỆ ™ Kết nối CSDL Access ‰ Cú pháp ATION ATION G NGHG NGH TTTT con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=DuongDanTapTinAccess;Persist Security Info=False" MENMEN con.Open MÔN CÔNMÔN CÔN EEEE P P Ậ Ậ ‰ Ví dụ IMPLIMPL Private Sub MoKetNoiCSDL() NG NH NG NH ẢẢ con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\QLHS.mdb;Persist Security Info=False" BÀI GIBÀI GI con.Open End Sub TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (35(35))
  36. ADO Object - Connection MM ỀỀ ™ Kết nối CSDL Access N MN M ẦẦ Private Sub MoKetNoiCSDL() HH PPPP Dim strConString as String ỆỆ Dim strFileName as String ‘ Tập tin Access (mdb) cùng thư mục tập tin EXE ATION ATION G NGHG NGH TTTT strFileName = App.Path & “\QLHS.mdb” strConString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=“ & strFileName & “;Persist Security Info=False“ MENMEN MÔN CÔNMÔN CÔN EEEE con.ConnectionString = strConString P P Ậ Ậ con.Open End Sub IMPLIMPL NG NH NG NH ẢẢ BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (36(36))
  37. ADO Object - Connection MM ỀỀ ™ Kết nối CSDL SQL Server N MN M ẦẦ ‰ Cú pháp HH PPPP ỆỆ con.ConnectionString = "Provider=SQLOLEDB.1;Password=MatKhau;Persist Security Info=True;User ID=TenNguoiDung;Initial Catalog=TenCSDL;Data ATION ATION G NGHG NGH Source=TenServer" TTTT con.Open MENMEN MÔN CÔNMÔN CÔN EEEE ‰ Ví d ụ P P Ậ Ậ Private Sub MoKetNoiCSDL() IMPLIMPL con.ConnectionString = "Provider=SQLOLEDB.1;Password=sa;Persist NG NH NG NH ẢẢ SitIfTUIDSecurity Info=True;User ID=sa;IIitilCtlnitial Catalog=QLHS QLHSDt;Data Source=ngoc-bao" con.Open BÀI GIBÀI GI End Sub TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (37(37))
  38. ADO Object - Connection MM ỀỀ ™ Kết nối CSDL SQL Server N MN M ẦẦ Private Sub MoKetNoiCSDL() HH PPPP Dim s tr Con Str ing as Str ing ỆỆ Dim strServerName as String Dim strDatabaseName as string ATION ATION G NGHG NGH Dim strUserName as String TTTT Dim strPassword as String strConString = "Provider=SQLOLEDB.1;” MENMEN strConString = strConString & “Password=“ & strUserName & “;” MÔN CÔNMÔN CÔN EEEE P P strConstring = strconstring & “Persist Security Info=True;” Ậ Ậ strConstring = strConstring & “User ID=“ & strPassword & “;” IMPLIMPL strconstring = strconstring & “Initial Catalog=“ & NG NH NG NH strDatabaseName & “;” ẢẢ strconstring = strconstring & “ Data Source=“ strServerName con.ConnectionString = strConString BÀI GIBÀI GI con.Open End Sub TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (38(38))
  39. ADO Object - Connection MM ỀỀ ™ Đóng kết nối CSDL N MN M ẦẦ Private Sub DongKetNoiCSDL() HH PPPP con.Close ỆỆ End Sub ATION ATION G NGHG NGH TTTT MENMEN MÔN CÔNMÔN CÔN EEEE P P Ậ Ậ IMPLIMPL NG NH NG NH ẢẢ BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (39(39))
  40. Tương tác dữ liệu: thêm, xóa, Lấydy dữ liệu Thêm dữ liệu Xóa dữ liệu Sửa dữ liệu Tran Ngoc BaoTRẦ N NG Ọ C B Ả O ” KHOA TOÁN -TIN- TIN H Ọ C ” ĐẠ I H Ọ C S Ư PHDaiDaiẠ hocM TP.HCM Su Pham (40(TP.HCM40))
  41. Thực thi câu lệnh Insert/Delete MM ỀỀ N MN M ẦẦ Thêm dữ liệu HH PPPP ỆỆ Cập nhật dữ liệu ATION ATION G NGHG NGH TTTT Xóa dữ liệu MENMEN MÔN CÔNMÔN CÔN EEEE P P Ậ Ậ Lấy dữ liệu IMPLIMPL NG NH NG NH ẢẢ Thực thi các câu lệnh Insert, Delete, update, Select thông qua BÀI GIBÀI GI đốiti tượng Command TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (41(41))
  42. ADO Object - Command MM Command Object ỀỀ N MN M ẦẦ HH Properties Method PPPP ActiveConnection Cancel ỆỆ CommandText CreateParameter CommandTimeOut Execute CommandType ATION ATION G NGHG NGH TTTT Name Parameter Collection Prepared MENMEN Properties Collection MÔN CÔNMÔN CÔN EEEE State* P P Ậ Ậ IMPLIMPL Parameter Colection NG NH NG NH ẢẢ Parameter Object Properties Collection BÀI GIBÀI GI Properties Object TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (42(42))
  43. ADO Object - Command MM ỀỀ ‘Khai báo biến quản lý Command Dim cmd As New ADODB.Command N MN M ẦẦ HH PPPP ỆỆ ™ Kết nối CSDL thông qua Connection ‰ Cú pháp ATION ATION G NGHG NGH TTTT cmd.ActiveConnection = con ’với con là 1 connection đang mở MENMEN MÔN CÔNMÔN CÔN EEEE P P Ậ Ậ IMPLIMPL NG NH NG NH ẢẢ BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (43(43))
  44. ADO Object - Command MM ‘Khai báo biến quản lý Command ỀỀ Dim cmd As New ADODB.Command N MN M ẦẦ HH PPPP ™ Thựcthicâulc thi câu lệnh SQL: Insert/Delete/Update ỆỆ ‰ Cú pháp ATION ATION G NGHG NGH TTTT cmd.CdTtCommandText = SQLStr ing Cmd.CommandType = adCmdText Cmd.Execute MENMEN MÔN CÔNMÔN CÔN EEEE P P ‰ Ví dụ: thực thi một câu lệnh SQL xóa dữ liệu từ Table HS Ậ Ậ Private Sub XoaToanBoDuLieuHS() IMPLIMPL NG NH NG NH cmd.ActiveConnection =con ẢẢ cmd.CommandText = “Delete from HS” cmd.CommandType = adCmdText BÀI GIBÀI GI cmd.Execute End Sub TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (44(44))
  45. ADO Object - Command ‘Khai báo biếnqun quản lý Command MM ỀỀ Dim cmd As New ADODB.Command N MN M ẦẦ HH ™ Thựcthicâulc thi câu lệnh SELECT PPPP ỆỆ ‰ Cú pháp Dim rs as New ADODB.RecordSet ATION ATION G NGHG NGH TTTT cmd.CdTtCommandText = SQLStr ing Cmd.CommandType = adCmdText Set rs = Cmd.Execute MENMEN MÔN CÔNMÔN CÔN EEEE P P ‰ Ví dụ: thực thi một câu lệnh SQL Select dữ liệu từ Table HS Ậ Ậ Private Sub XoaToanBoDuLieuHS() IMPLIMPL Dim rs as New ADODB.RecordSet NG NH NG NH ẢẢ cmd.ActiveConnection =con cmd.CommandText = “Select * from HS” BÀI GIBÀI GI cmd.CommandType = adCmdText Set rs = cmd.ExecuteExecute End Sub TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (45(45))
  46. ADO Object - Recordset RdtObjtRecordset Object MM ỀỀ Properties Method Events N MN M AbsolutePage AddNew EndOfRecordset ẦẦ AssolutePosition Cancel FetchComplete HH ActiveCommand CancelBatch FetchProcess PPPP ActiveConnection CancelUpdate FieldChangeComplete ỆỆ BOF Clone MoveComplete Bookmark CompareBookmarks RecordChangeComplete CatcheSize Delete RecordsetChangeComlete ATION ATION G NGHG NGH CursorLocation Find WillChangeField TTTT CursorType GetRows WillChangeRecord DataMember GetString WillChangeRecordset DataSource Move WillMove EditMode MoveFirst MENMEN EOF MoveLast MÔN CÔNMÔN CÔN EEEE Fie lds C oll ecti on MNtMoveNext P P Filter MovePrevious Ậ Ậ LockType NextRecordset MarshalOptions Open IMPLIMPL MaxRecords Requery NG NH NG NH PageCount Resync ẢẢ Pagesize Save Properties Collection Supports RecordCount Update BÀI GIBÀI GI Sort Updatebatch State Status staylnSync TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (46(46))
  47. ADO Object - Recordset MM ỀỀ Recordset Object N MN M ẦẦ HH PPPP Properties Method Events ỆỆ AbsolutePage AddNew EndOfRecordset AssolutePosition Cancel FetchComplete ActiveCommand CancelBatch FetchProcess ATION ATION G NGHG NGH ActiveConnection CancelUpdate FieldChangeComplete TTTT BOF Clone MoveComplete MENMEN MÔN CÔNMÔN CÔN EEEE P P Fields Collection Ậ Ậ Fields object IMPLIMPL NG NH NG NH ẢẢ Properties Colection Property Object BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (47(47))
  48. ADO Object - RecordSet ‘Khai báo biếnqun quản lý RecordSet MM ỀỀ Dim cmd As New ADODB.RecordSet N MN M ẦẦ HH ™ Thựcthicâulc thi câu lệnh SELECT PPPP ỆỆ ‰ Cú pháp Dim rs as New ADODB.RecordSet ATION ATION G NGHG NGH TTTT cmd.CdTtCommandText = SQLStr ing Cmd.CommandType = adCmdText Set rs = Cmd.Execute MENMEN MÔN CÔNMÔN CÔN EEEE P P ‰ Ví dụ: thực thi một câu lệnh SQL Select dữ liệu từ Table HS Ậ Ậ Private Sub XoaToanBoDuLieuHS() IMPLIMPL Dim rs as New ADODB.RecordSet NG NH NG NH ẢẢ cmd.ActiveConnection =con cmd.CommandText = “Select * from HS” BÀI GIBÀI GI cmd.CommandType = adCmdText Set rs = cmd.ExecuteExecute End Sub TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (48(48))
  49. ADO Object - RecordSet MM ỀỀ ‘Khai báo biến quản lý RecordSet Dim cmd As New ADODB.RecordSet N MN M ẦẦ HH PPPP ỆỆ ™ Duyệt toààbn bộ các mẫu tin trong RecordSet ‰ Cú pháp ATION ATION G NGHG NGH TTTT Dim rs as New ADODB.RecordSet cmd.CommandText = SQLString MENMEN Cmd.CommandType = adCmdText MÔN CÔNMÔN CÔN EEEE Rs. Open Cmd P P Ậ Ậ Rs.MoveFirst While rs.EOF = False IMPLIMPL NG NH NG NH ’MsgBox rs.Fields(0) or rs.Fields(“TenField”) ẢẢ rs.MoveNext Wend BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (49(49))
  50. ADO Object - RecordSet MM ỀỀ ™ Duyệt toàn bộ các mẫu tin trong RecordSet N MN M ẦẦ HH ‰ Ví d ụ:th: thựccthim thi một câu lệnh SQL Select d ữ liệuut từ Table HS PPPP ỆỆ Dim rs as New ADODB.RecordSet cmd.CommandText = “Select * from HS” ATION ATION G NGHG NGH TTTT Cmd.CommandType = adCmdText Rs.Open Cmd MENMEN Rs.MoveFirst MÔN CÔNMÔN CÔN EEEE While rs.EOF = False P P Ậ Ậ ’MsgBox rs.Fields(0) or rs.Fields(“TenHocSinh”) rs.MoveNext IMPLIMPL NG NH NG NH Wend ẢẢ BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (50(50))
  51. ADO Object - RecordSet MM ỀỀ ™ Các phương thức duyệt mẫu tin N MN M ẦẦ ‰ Về đầu danh sách HH PPPP ỆỆ Rs.MoveFirst ‰ Về cuối danh sách ATION ATION G NGHG NGH TTTT Rs.MoveLast MENMEN MÔN CÔNMÔN CÔN EEEE ‰ Di chuyển về sau mộtmt mẫutinu tin P P Ậ Ậ Rs.MoveNext IMPLIMPL NG NH NG NH ‰ Về đầuuv về trướccm mộttm mẫutinu tin ẢẢ Rs.MovePrevious BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (51(51))
  52. ADO Object - RecordSet MM ỀỀ ™ Các phương thức duyệt mẫu tin N MN M ẦẦ Mhoc TenMH MaMH TinChi Khoa HH PPPP Nhap mon tin hoc COSC1310 4 CNTT Rs.MoveFirst ỆỆ Cau truc du lieu COSC3320 4 CNTT Toan roi rac MATH2410 3 TOAN ATION ATION G NGHG NGH TTTT CdliCo so du lieu COSC3380 3 CNTT MENMEN MÔN CÔNMÔN CÔN EEEE P P Ậ Ậ IMPLIMPL NG NH NG NH ẢẢ BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (52(52))
  53. ADO Object - RecordSet MM ỀỀ ™ Các phương thức duyệt mẫu tin N MN M ẦẦ Mhoc TenMH MaMH TinChi Khoa HH PPPP Nhap mon tin hoc COSC1310 4 CNTT ỆỆ Cau truc du lieu COSC3320 4 CNTT Toan roi rac MATH2410 3 TOAN ATION ATION G NGHG NGH TTTT CdliCo so du lieu COSC3380 3 CNTT Rs.MoveLast MENMEN MÔN CÔNMÔN CÔN EEEE P P Ậ Ậ IMPLIMPL NG NH NG NH ẢẢ BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (53(53))
  54. ADO Object - RecordSet MM ỀỀ ™ Các phương thức duyệt mẫu tin N MN M Mhoc TenMH MaMH TinChi Khoa ẦẦ HH PPPP Nhap mon tin hoc COSC1310 4 CNTT ỆỆ Cau truc du lieu COSC3320 4 CNTT Toan roi rac MATH2410 3 TOAN ATION ATION G NGHG NGH Co so du lieu COSC3380 3 CNTT Rs.MoveNext TTTT MENMEN MÔN CÔNMÔN CÔN EEEE P P Ậ Ậ IMPLIMPL NG NH NG NH ẢẢ BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (54(54))
  55. ADO Object - RecordSet MM ỀỀ ™ Các phương thức duyệt mẫu tin N MN M ẦẦ Mhoc TenMH MaMH TinChi Khoa HH PPPP Nhap mon tin hoc COSC1310 4 CNTT ỆỆ Cau truc du lieu COSC3320 4 CNTT Toan roi rac MATH2410 3 TOAN ATION ATION G NGHG NGH TTTT Co so du lieu COSC3380 3CNTT Rs.EOF = True Rs.MoveNext MENMEN MÔN CÔNMÔN CÔN EEEE P P Ậ Ậ IMPLIMPL NG NH NG NH ẢẢ BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (55(55))
  56. ADO Object - RecordSet MM ỀỀ ™ Các phương thức duyệt mẫu tin N MN M ẦẦ Mhoc TenMH MaMH TinChi Khoa HH PPPP Nhap mon tin hoc COSC1310 4 CNTT ỆỆ Rs.MovePrevious Cau truc du lieu COSC3320 4 CNTT Toan roi rac MATH2410 3 TOAN ATION ATION G NGHG NGH TTTT Co so du lieu COSC3380 3CNTT MENMEN MÔN CÔNMÔN CÔN EEEE P P Ậ Ậ IMPLIMPL NG NH NG NH ẢẢ BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (56(56))
  57. ADO Object - RecordSet MM ỀỀ ™ Các phương thức duyệt mẫu tin N MN M ẦẦ Mhoc TenMH MaMH TinChi Khoa HH Rs.BOF = True Rs.MovePrevious PPPP Nhap mon tin hoc COSC1310 4 CNTT ỆỆ Cau truc du lieu COSC3320 4 CNTT Toan roi rac MATH2410 3 TOAN ATION ATION G NGHG NGH TTTT Co so du lieu COSC3380 3CNTT MENMEN MÔN CÔNMÔN CÔN EEEE P P Ậ Ậ IMPLIMPL NG NH NG NH ẢẢ BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (57(57))
  58. ADO Object - Field Recordset Object MM ỀỀ Fields Collection N MN M ẦẦ HH PPPP Field Object ỆỆ Properties Methods ActualSize AppendChunk ATION ATION G NGHG NGH TTTT Atributes GetChunk DataFormat DefinedSize MENMEN Name MÔN CÔNMÔN CÔN EEEE NumericScale P P OriginalValue Ậ Ậ Precision Properties Collection IMPLIMPL Type NG NH NG NH ẢẢ UnderlyingValue Value BÀI GIBÀI GI Properties Collection Properties Object TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (58(58))
  59. Mô hình 1 tier MM ỀỀ N MN M ẦẦ HH PPPP ỆỆ ATION ATION G NGHG NGH TTTT Mànhình1 Mànhình2 Mànhình3 Giao diện Giao diện Giao diện MENMEN MÔN CÔNMÔN CÔN EEEE Xử lý Xử lý Xử lý P P Ậ Ậ Truy xuấtdữ liệu Truy xuấtdữ liệu Truy xuấtdữ liệu IMPLIMPL NG NH NG NH ẢẢ BÀI GIBÀI GI CSDL TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (59(59))
  60. Mô hình 1 tier MM ỀỀ N MN M ẦẦ HH PPPP ỆỆ ATION ATION G NGHG NGH TTTT MànhìnhQLGV MànhìnhTracứuGV Mànhìnhin DSGV Giao diện Giao diện Giao diện MENMEN MÔN CÔNMÔN CÔN EEEE Xử lý Xử lý Xử lý P P Ậ Ậ Select/Insert/Delete/Update Select Select IMPLIMPL NG NH NG NH ẢẢ BÀI GIBÀI GI CSDL TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (60(60))
  61. Mô hình 2 tier MM ỀỀ N MN M ẦẦ HH PPPP ỆỆ ATION ATION G NGHG NGH TTTT Màn hình 1 Màn hình 2 Màn hình 3 Giao diện Giao diện Giao diện MENMEN MÔN CÔNMÔN CÔN EEEE P P Ậ Ậ Xử lý Xử lý Xử lý IMPLIMPL NG NH NG NH Truy xuất dữ liệu ẢẢ BÀI GIBÀI GI CSDL TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (61(61))
  62. Mô hình 2 tier MM ỀỀ N MN M ẦẦ HH PPPP ỆỆ ATION ATION G NGHG NGH TTTT Màn hình QLGV Màn hình Tra cứu GV Màn hình In DSGV Giao diện Giao diện Giao diện MENMEN MÔN CÔNMÔN CÔN EEEE P P Ậ Ậ Xử lý Xử lý Xử lý IMPLIMPL NG NH NG NH Truy xuất dữ liệu (Select/Insert/Delete/Update) ẢẢ BÀI GIBÀI GI CSDL TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (62(62))
  63. SQL Server Object – Stored Procedure MM ỀỀ Khái niệm N MN M ™ Stored Procedure là các thủ tục được xây dựng để thực hiện các xử lý liên quan ẦẦ HH đếnvin việccd dữ liệu. PPPP ỆỆ ™ Stored Procedure được lưu trữ và thi hành ngay trong Server khi có yêu cầu. ATION ATION G NGHG NGH Các thao tác liên quan đến Stored Procedure TTTT ™ Tạo Stored Procedure ƒ Mở DB cần tạo table bằng cách click vào dấu + bên trái tên của MENMEN MÔN CÔNMÔN CÔN EEEE DB để hiển thị các mục con trong DB. Ví dụ: Diag,grams, Tables , P P Views, Stored procedure, Ậ Ậ ƒ Click phải chuột vào mục Stored procedures IMPLIMPL NG NH NG NH ƒ Chọn chức nănggp New Stored procedure tron g menu sổ ẢẢ xuống, xuất hiện dialog soạn thảo nội dung của stored BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (63(63))
  64. SQL Server Object – Stored Procedure MM ỀỀ N MN M ẦẦ HH PPPP ỆỆ ATION ATION G NGHG NGH TTTT MENMEN MÔN CÔNMÔN CÔN EEEE P P Ậ Ậ IMPLIMPL NG NH NG NH ẢẢ BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (64(64))
  65. SQL Server Object – Stored Procedure MM ™ Tạo Stored Proce dure ỀỀ ƒ Đặt tên Stored trong [PROCEDURE NAME] ƒ Viết nội dung stored N MN M ẦẦ ƒ Sau khi viết xong nội dung xử lý trong stored HH ƒ Nhấn Check Syntax: để kiểm tra cú pháp củaacáccâul các câu lệnh trong stored PPPP ƒ Nhấn OK: Lưu stored ỆỆ ƒ Nhấn Cancel: hủy bỏ thao tác tạo ™ Sửa Stored Procedure ATION ATION ƒ Click vào mục Stored procedures để hiển thị danh sách Stored procedure tương ứng G NGHG NGH TTTT (bên phải) ƒ Chọn Stored procedure trong danh sách Stored procedures ƒ Click phải chuột vào mục Stored procedure cần sửa, vd: MyStoredPro MENMEN ƒ Chọn mục Properties trong menu context MÔN CÔNMÔN CÔN EEEE ƒ Xuấthit hiện màn hình tương tự như màn hình Stored procedure P P ƒ Thực hiện các thao tác tương tự như phần tạo Ậ Ậ ™ Xóa Stored Procedure ƒ Click vào mục Stored procedures để hiển thị danh sách Stored procedure tương ứng IMPLIMPL (bên phải) NG NH NG NH ƒ Chọn Stored proce dure trong dan h s ác h Store d proce dure ẢẢ ƒ Click phải chuột vào mục Stored procedure cần xóa, vd: MyStoredPro ƒ Chọn mục Delete trong menu context BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (65(65))
  66. SQL Server Object – Stored Procedure CREATE PROCEDURE StoredName MM ỀỀ @Parameter1 DataType [=DefaultValue,] N MN M @Parameter2 DataType OUTPUT, ẦẦ HH PPPP @Parame ter 3 Da ta Type OUTPUT ỆỆ AS BEGIN ATION ATION G NGHG NGH TTTT BEGIN TRANSACTION {T-SQL Statement1} If @Error 0 IMPLIMPL Goto Err_Handle NG NH NG NH COMMIT TRANSACTION ẢẢ Return(0) Err_Handle: BÀI GIBÀI GI ROLLBACK TRANSACTION Return(@Error) END TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (66(66))
  67. SQL Server Object – Stored Procedure Cấutrúccu trúc củaam một Stored Procedure bao gồmcácphm các phầnchínhsaun chính sau đây MM Phần Tên ỀỀ Cú pháp CREATE PROCEDURE StoredName N MN M ẦẦ Ý nghĩa HH Định nghĩaath thủ tụcnc nộivi với tên là StoredName PPPP Ví dụ ỆỆ CREATE PROCEDURE DemNhanVien AS SELECT Count(*) ATION ATION G NGHG NGH FROM NhanVien TTTT Phần tham số Tương tự như bất kỳ một thủ tục nào trong một ngôn ngữ lập trình, phần tham số của một Stored được khai báo ngay sau phần tên của nó. MENMEN MÔN CÔNMÔN CÔN EEEE Tham số nhập P P Cú pháp: Ậ Ậ @Parameter1 DataType [=DefaultValue] @Parameter1: Tên của biến số IMPLIMPL DataType: Kiểu dữ liệu của biến NG NH NG NH DefaultValue: Giá trị mặc định củaabi biến ẢẢ BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (67(67))
  68. SQL Server Object – Stored Procedure CREATE PROCEDURE TruyenThamSo MM @param0 int=NULL, Giá trị mặc định là NULL ỀỀ @param1 int=1, Giá trị mặc định là 1 N MN M @param2 int=2 Giá trị mặc định là 2 ẦẦ AS HH PPPP SELECT @param 0, @param 1, @param 2 ỆỆ Với câu lệnh thực thi thủ tục TruyenThamSo EXEC TruyenThamSo Kết quả ATION ATION G NGHG NGH (()Null) 12 TTTT EXEC TruyenThamSo 10,20,30 Kết quả 10 20 30 MENMEN EXEC TruyenThamSo @param2=200, @param1=NULL MÔN CÔNMÔN CÔN EEEE Kếtqut quả P P Null Null 200 Ậ Ậ EXEC TruyenThamSo 0, DEFAULT, 20 IMPLIMPL Kết quả 0 1 200 NG NH NG NH ẢẢ BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (68(68))
  69. SQL Server Object – Stored Procedure MM Tham số xuất ỀỀ Cú pháp: @Parameter1 DataType OUTPUT N MN M ẦẦ @Parameter1: Tên của biến số HH DataType: Kiểudu dữ liệucu củaabi biến PPPP ỆỆ DefaultValue: Giá trị mặc định của biến Ví dụ: Khai báo thủ tục ATION ATION CREATE PROCEDURE count_tables @authorcount int OUTPUT, G NGHG NGH TTTT @titlecount int OUTPUT AS SELECT * FROM authors MENMEN SET @authorcount=@@ROWCOUNT MÔN CÔNMÔN CÔN EEEE SELECT * FROM titles P P SET @titlecount=@@ROWCOUNT Ậ Ậ RETURN(0) Thực thi thủ tục IMPLIMPL DECLARE @a_count int, @t_count int NG NH NG NH EXEC count _t abl es @ a_count OUTPUT , @t _count OUTPUT ẢẢ BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (69(69))
  70. KHAI BÁO BIẾN MM ỀỀ N MN M ẦẦ HH PPPP ỆỆ ATION ATION G NGHG NGH TTTT MENMEN MÔN CÔNMÔN CÔN EEEE P P Ậ Ậ IMPLIMPL NG NH NG NH ẢẢ BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (70(70))
  71. KHAI BÁO BIẾN MM Kha i báo biến ỀỀ Cú pháp N MN M DECLARE @Name DataType ẦẦ HH @Name: là tên củaabi biếnnph, phải đượccb bắt đầuuv vớikýti ký tự @ PPPP ỆỆ DataType: kiểu dữ liệu của biến, bao gồm tất cả các kiểu dữ liệu của hệ thống trừ các kiểu sau: text, ntext, image. Ví dụ ATION ATION G NGHG NGH TTTT Kha i báo biến lưu trữ số RRdtecord trong mộttT Tabl e n ào đó DECLARE @nNumRecord int Khai báo biến lưu trữ số tổng số tiền MENMEN MÔN CÔNMÔN CÔN EEEE DECLARE @@y(,)SumMoney decimal(18,2) P P Khai báo biến lưu trữ tên Ậ Ậ DECLARE @sName char(30) IMPLIMPL NG NH NG NH ẢẢ BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (71(71))
  72. KHAI BÁO BIẾN Cú pháp 1: Ví d ụ MM Cú pháp 1: ỀỀ SET @Name = Value @Name: Tên biến DECLARE @HoTen char(20) N MN M Value: Giá trị cần gán cho biến SET @HoTen = ‘Nguyễn Công Phú’ ẦẦ Cú pháp 2: Cú pháp 2: HH PPPP DECLARE @HoTen char(20) SELECT @Name = Value ỆỆ @Name: Tên biến SELECT @HoTen = ‘Nguyễn Công Phú’ Value: Giá trị cần gán cho biến hoặc Hoặc Tìm lương lớn nhất của tất cả các nhân viên ATION ATION G NGHG NGH SELECT @Name = coloum DECLARE @@y()MaxSalary decimal(18,2) TTTT FROM TableName SELECT @MaxSalary = MAX(Salary) @Name: Tên biến FROM Employee Column: Tên cột trong Table cần gán cho MENMEN biến MÔN CÔNMÔN CÔN EEEE P P Ậ Ậ IMPLIMPL NG NH NG NH ẢẢ BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (72(72))
  73. SQL Server Object – Local Variables MM Các biến được sử dụng trong cấu truy vấn như làlàáth các tham số. ỀỀ -Cho lược đồ CSDL và dữ liệu tương ứng như sau: N MN M ẦẦ HocSinh DiemThi HH PPPP ỆỆ MaHS TenHS NgaySinh DiaChi MaHS HocKy NH Diem 01 Bao 10/10/1977 123 01 01 2001 10 ATION ATION G NGHG NGH TTTT 02 Phu 11/10/1079 124 03 01 2002 8 MENMEN MÔN CÔNMÔN CÔN EEEE -Ví d ụ 1: Li ệt kê danh sách học Ví d ụ 3: Li ệt kê danh sách các họcsinhcóc sinh có P P Ậ Ậ sinh có ngày sinh vào ngày địa chỉ là ‘123’ và điểm thi lớn hơn 10 ‘10/10/1977’ DECLARE @DiaChi varchar(50), @Diem IMPLIMPL DECLARE @NgaySinh datetime Decimal NG NH NG NH ẢẢ SET @NgaySinh=’10/10/1977’ SELECT @DiaChi=’123’, @Diem=10 SELECT * SELECT * FROM HocSinh FROM HocSinh JOIN DiemThi ON BÀI GIBÀI GI WHERE NgaySinh = @NgaySinh HocSinh.MaHS = DiemThi.MaHS WHERE DiaChi = @DiaChi AND DiemThi >= @Diem TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (73(73))
  74. NỘI DUNG TRÌNH BÀY MM ỀỀ N MN M • Kiến trúc của 1 application ẦẦ HH PPPP ỆỆ • Lập trình CSDL với Visual Basic & ATION ATION G NGHG NGH TTTT ADODB MENMEN MÔN CÔNMÔN CÔN EEEE P P Ậ Ậ • Mô hình 3 lớp ( 3-tier) IMPLIMPL NG NH NG NH ẢẢ BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (74(74))
  75. Mô hình 3 tier MM ỀỀ N MN M ẦẦ HH PPPP ỆỆ ATION ATION G NGHG NGH TTTT MENMEN MÔN CÔNMÔN CÔN EEEE P P Ậ Ậ IMPLIMPL NG NH NG NH ẢẢ BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (75(75))
  76. Mô hình 3 tier MM ỀỀ N MN M ẦẦ HH PPPP ỆỆ ATION ATION G NGHG NGH TTTT MENMEN MÔN CÔNMÔN CÔN EEEE P P Ậ Ậ IMPLIMPL NG NH NG NH ẢẢ BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (76(76))
  77. Mô hình 3 tier MM Du lieu ỀỀ N MN M ẦẦ HH PPPP ỆỆ Provier Model Controller ATION ATION G NGHG NGH TTTT MENMEN MÔN CÔNMÔN CÔN EEEE Provider MdlModel Controller P P Ậ Ậ IMPLIMPL NG NH NG NH ẢẢ BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (77(77))
  78. Mô hình 3 tier DliDu lieu MM ỀỀ N MN M ẦẦ Provier HH Model Controller PPPP ỆỆ ATION ATION G NGHG NGH TTTT Provider Model Controller MENMEN MÔN CÔNMÔN CÔN EEEE P P Ậ Ậ IMPLIMPL NG NH NG NH ẢẢ Port_1 Port_2 Port_3 BÀI GIBÀI GI ADO ADO.NET ODP.NET TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (78(78))
  79. Mô hình 3 tier MM ỀỀ N MN M ẦẦ HH PPPP ỆỆ ATION ATION G NGHG NGH TTTT MENMEN MÔN CÔNMÔN CÔN EEEE P P Ậ Ậ IMPLIMPL NG NH NG NH ẢẢ BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (79(79))
  80. Mô hình 3 tier MM ỀỀ N MN M ẦẦ HH PPPP ỆỆ ATION ATION G NGHG NGH TTTT MENMEN MÔN CÔNMÔN CÔN EEEE P P Ậ Ậ IMPLIMPL NG NH NG NH ẢẢ BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (80(80))
  81. VSS- Quản lý và chia sẻ source code MM ỀỀ N MN M ẦẦ HH PPPP ỆỆ ATION ATION G NGHG NGH TTTT MENMEN MÔN CÔNMÔN CÔN EEEE P P Ậ Ậ IMPLIMPL NG NH NG NH ẢẢ BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (81(81))
  82. MM ỀỀ N MN M ẦẦ HH PPPP ỆỆ ATION ATION G NGHG NGH TTTT MENMEN MÔN CÔNMÔN CÔN EEEE P P Ậ Ậ IMPLIMPL NG NH NG NH ẢẢ BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (82(82)) 82
  83. Nhược điểm mô hình 1 tier MM ỀỀ ™ Hệ thống có nhiềumàn hình cùng truy xuất N MN M đến1thànhphầndữ liệu (vd: Table Giáo viên, ẦẦ HH PPPP sinh viên, ) Æ các đoạn code truy xuất dữ liệu ỆỆ lặplạinhiềulần, dễ xảy ra sai soát nếucóthay ATION ATION G NGHG NGH đổi TTTT ™ Giao diện, xử lý và giao diện MENMEN MÔN CÔNMÔN CÔN EEEE P P Ậ Ậ IMPLIMPL NG NH NG NH ẢẢ BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM (83(83))