SlideShare a Scribd company logo
1 of 21
Download to read offline
11
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
22
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
Thực thi các hoạt động xử lý XML
theo cơ chế dữ liệu ngắt kết nối
1.Biểu diễn DataSet dưới dạng XML
2.DiffGrams là gì?
33
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
1. Biểu diễn DataSet dưới dạng XML
• Lưu DataSet ra XML
• Đọc XML vào DataSet
44
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
1. Biểu diễn DataSet dưới dạng XML
DataSet
Database
XML
55
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
Lưu DataSet ra XML
• Dùng 2 phương thức sau của DataSet
 WriteXml(String [, XmlWriteMode])
• XmlWriteMode: có ghi inline schema kèm theo dữ liệu
không
 WriteXmlSchema(String): ghi cấu trúc DataSet ra XML
schema
66
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
Minh hoạ lưu Dataset ra XML
• Đọc dữ liệu từ CSDL vào Dataset
• Ghi vào tập tin Xml dưới các chế độ khác nhau
: thay đổi các hằng số của XmlWriteMode
• Mở các tập tin được tạo ra để xem kết quả
77
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
Đọc XML vào DataSet
• Dùng 2 phương thức sau của DataSet
 ReadXml(String [, XmlReadMode])
• XmlReadMode: xác định cách đọc dữ liệu XML và Schema
liên quan
 ReadXmlSchema(String): đọc cấu trúc của DataSet mà
không cần load dữ liệu
88
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
Minh họa đọc XML vào DataSet
• Tạo Dataset
• Đọc nội dung các tập tin XML vào Dataset: thay
đổi các hằng số XmlReadMode
• Xuất nội dung của Dataset ra màn hình
• Đọc tập tin chỉ lưu schema, sau đó xuất ra màn
hình để xem tên cột và kiểu dữ liệu
99
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
Bài thực hành
• Xuất dữ liệu của bảng Producion.Culture ra tập
tin Culture.Xml, không có Schema đính kèm
• Đọc dữ liệu của tập tin Culture.Xml vào
DataSet, sau đó xuất dữ liệu của DataSet ra màn
hình
1010
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
2. DiffGrams là gì?
• Định dạng của DiffGram
• Các thuộc tính của DiffGram
1111
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
2. DiffGrams là gì?
– Là một định dạng của XML
– Dùng để nhận dạng phiên bản gốc và hiện hành của các
thành phần dữ liệu
1212
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
Định dạng của DiffGram
• DiffGram gồm 3 khối thành phần như sau:
 <DataInstance>, <diffgr:before>, <diffgr:errors>
1313
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
Định dạng của DiffGram
• DiffGram gồm 3 khối thành phần như sau:
 Khối <DataInstance>:
• DataInstance chính là tên của thành phần này, thường là tên
DataSet hoặc Datatable
• Khối này dùng để chứa dữ liệu hiện hành
• Khi dữ liệu thay đổi thì nó sẽ được nhận dạng thông qua thuộc
tính diffgr:hasChanges
1414
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
Định dạng của DiffGram
• DiffGram gồm 3 khối thành phần như sau:
 Khối <diffgr:before>:
• Khối này dùng để chứa phiên bản gốc của dữ liệu
• Các thành phần trong khối này giống với khối <DataInstance>
và được nhận dạng thông qua thuộc tính diffgr:id
1515
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
Minh hoạ định dạng của DiffGram
• Tạo 2 Dataset riêng biệt
• Đọc cấu trúc của tập tin Xml schema và tập tin chứa nội dung có
định dạng DiffGram vào Dataset 1
• Xuất nội dung Dataset 1 ra DataGridView 1
• Sửa dữ liệu trực tiếp trên DataGridView 1
• Ghi dữ liệu Dataset 1 ra 2 tập tin Xml khác (cấu trúc và nội dung có
định dạng DiffGram)
• Đọc cấu trúc của tập tin Xml schema và tập tin chứa nội dung có
định dạng DiffGram trên vào Dataset 2
• Xuất Dataset 2 ra DataGridView 2 để xem kết quả
1616
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
Định dạng của DiffGram
• DiffGram gồm 3 khối thành phần như sau:
 Khối <diffgr:errors>:
• Khối này dùng để chứa thông tin lỗi của một dòng cụ thể trong
khối <DataInstance>
• Các thành phần trong khối này giống với khối <DataInstance>
và được nhận dạng thông qua thuộc tính diffgr:id
1717
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
Các thuộc tính của DiffGram
• Các thuộc tính đi kèm của các khối
 id: định danh cho mỗi dòng, được kết hợp bởi
[TableName][RowIdentifier]
 parentId: nhận dạng thành phần cha của nó
 hasChanges: nhận dạng thành phần hiện hành có được
cập nhật không. Nếu có cập nhật thì dữ liệu gốc sẽ xuất
hiện trong khối <diffgr:before>
1818
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
Minh hoạ thuộc tính parentId
• Tạo 2 tập tin Xml: schema và nội dung có 2 table quan
hệ cho con
• Xuất nội dung tập tin Xml ra 2 DataGridView Cha-Con
• Xóa và sửa dữ liệu trên DataGridView Con
• Ghi nội dung được cập nhật xuống tập tin Xml mới
• Mở tập tin mới này ra để xem nội dung thay đổi
1919
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
Các thuộc tính của DiffGram
• Các thuộc tính đi kèm của các khối
 hasErrors: nhận dạng thành phần hiện hành có bị lỗi
hay không. Lúc đó dữ liệu gốc sẽ xuất hiện trong khối
<diffgr:errors>
 Error: chứa chuỗi mô tả lỗi trong khối <diffgr:errors>
2020
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
Minh hoạ thuộc tính lỗi của DiffGram
• Tạo 1 Dataset và 1 DataAdapter
• Lắp dữ liệu từ bảng Person.StateProvince vào Dataset
• Xuất nội dung Dataset ra DataGridView
• Sửa khoá ngoại – CountryRegionCode – là một giá trị
không tồn tại trên bảng cha
• Cập nhật Dataset và ghi ra Xml dưới dạng DiffGram
• Mở tập tin Xml này ra để xem nội dung
2121
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
Bài thực hành
• Ghi XML dưới dạng DiffGram, yêu cầu
 Tạo tập tin .xml dưới dạng DiffGram
 Đọc tập tin này vào DataSet
 Thao tác trên DataSet này
 Lưu DataSet vào tập tin .xml khác, dưới dạng DiffGram

More Related Content

Viewers also liked

Restful services-slides
Restful services-slidesRestful services-slides
Restful services-slides
MasterCode.vn
 
Bài 2 xử lý sự cố hệ điều hành
Bài 2   xử lý sự cố hệ điều hànhBài 2   xử lý sự cố hệ điều hành
Bài 2 xử lý sự cố hệ điều hành
MasterCode.vn
 
Bài 5 xử lý sự cố email
Bài 5   xử lý sự cố emailBài 5   xử lý sự cố email
Bài 5 xử lý sự cố email
MasterCode.vn
 
Xử lý sự cố phần mềm máy tính
Xử lý sự cố phần mềm máy tínhXử lý sự cố phần mềm máy tính
Xử lý sự cố phần mềm máy tính
MasterCode.vn
 
Giáo trình asp net 3.5 sử dụng VS 2008 - Nhất Nghệ
Giáo trình asp net 3.5 sử dụng VS 2008 - Nhất NghệGiáo trình asp net 3.5 sử dụng VS 2008 - Nhất Nghệ
Giáo trình asp net 3.5 sử dụng VS 2008 - Nhất Nghệ
MasterCode.vn
 
c
cc
[Pascal] sang tao3[v5.10]
[Pascal] sang tao3[v5.10][Pascal] sang tao3[v5.10]
[Pascal] sang tao3[v5.10]
MasterCode.vn
 
[Pascal] sang tao2(v5.10)
[Pascal] sang tao2(v5.10)[Pascal] sang tao2(v5.10)
[Pascal] sang tao2(v5.10)
MasterCode.vn
 
Sáng tạo trong thuật toán và lập trình Pascal và C#
Sáng tạo trong thuật toán và lập trình Pascal và C#Sáng tạo trong thuật toán và lập trình Pascal và C#
Sáng tạo trong thuật toán và lập trình Pascal và C#
Dương Tuấn
 
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vnPd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
MasterCode.vn
 
Convert psd to html5 nhất nghệ - hoclaptrinhweb.com
Convert psd to html5 nhất nghệ - hoclaptrinhweb.comConvert psd to html5 nhất nghệ - hoclaptrinhweb.com
Convert psd to html5 nhất nghệ - hoclaptrinhweb.com
MasterCode.vn
 
Bài 4.4 - SQL (STRUCTURED QUERY LANGUAGE) - SQL server
Bài 4.4 - SQL (STRUCTURED QUERY LANGUAGE) - SQL serverBài 4.4 - SQL (STRUCTURED QUERY LANGUAGE) - SQL server
Bài 4.4 - SQL (STRUCTURED QUERY LANGUAGE) - SQL server
MasterCode.vn
 
Bài 4.3 - SQL (STRUCTURED QUERY LANGUAGE) - SQL server
Bài 4.3 - SQL (STRUCTURED QUERY LANGUAGE) - SQL serverBài 4.3 - SQL (STRUCTURED QUERY LANGUAGE) - SQL server
Bài 4.3 - SQL (STRUCTURED QUERY LANGUAGE) - SQL server
MasterCode.vn
 
C hanoi university of industry
C hanoi university of industryC hanoi university of industry
C hanoi university of industry
MasterCode.vn
 

Viewers also liked (20)

Restful services-slides
Restful services-slidesRestful services-slides
Restful services-slides
 
Chuong 5 toi_uu_hoa_van_tin
Chuong 5 toi_uu_hoa_van_tinChuong 5 toi_uu_hoa_van_tin
Chuong 5 toi_uu_hoa_van_tin
 
Bài 2 xử lý sự cố hệ điều hành
Bài 2   xử lý sự cố hệ điều hànhBài 2   xử lý sự cố hệ điều hành
Bài 2 xử lý sự cố hệ điều hành
 
Bài 5 xử lý sự cố email
Bài 5   xử lý sự cố emailBài 5   xử lý sự cố email
Bài 5 xử lý sự cố email
 
Pdf tim hieu_c_sharp__va_ung_dung-mastercode.vn
Pdf tim hieu_c_sharp__va_ung_dung-mastercode.vnPdf tim hieu_c_sharp__va_ung_dung-mastercode.vn
Pdf tim hieu_c_sharp__va_ung_dung-mastercode.vn
 
Pdfc fast food-mastercode.vn
Pdfc fast food-mastercode.vnPdfc fast food-mastercode.vn
Pdfc fast food-mastercode.vn
 
Xử lý sự cố phần mềm máy tính
Xử lý sự cố phần mềm máy tínhXử lý sự cố phần mềm máy tính
Xử lý sự cố phần mềm máy tính
 
Giáo trình asp net 3.5 sử dụng VS 2008 - Nhất Nghệ
Giáo trình asp net 3.5 sử dụng VS 2008 - Nhất NghệGiáo trình asp net 3.5 sử dụng VS 2008 - Nhất Nghệ
Giáo trình asp net 3.5 sử dụng VS 2008 - Nhất Nghệ
 
c
cc
c
 
[Pascal] sang tao3[v5.10]
[Pascal] sang tao3[v5.10][Pascal] sang tao3[v5.10]
[Pascal] sang tao3[v5.10]
 
[Pascal] sang tao2(v5.10)
[Pascal] sang tao2(v5.10)[Pascal] sang tao2(v5.10)
[Pascal] sang tao2(v5.10)
 
Sáng tạo trong thuật toán và lập trình Pascal và C#
Sáng tạo trong thuật toán và lập trình Pascal và C#Sáng tạo trong thuật toán và lập trình Pascal và C#
Sáng tạo trong thuật toán và lập trình Pascal và C#
 
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vnPd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
 
Lập trình web asp.net MVC
Lập trình web asp.net MVCLập trình web asp.net MVC
Lập trình web asp.net MVC
 
BÀI 7 Quản lý website và quản trị HOSTING ở mức cơ bản - Giáo trình FPT
BÀI 7 Quản lý website và quản trị HOSTING ở mức cơ bản - Giáo trình FPTBÀI 7 Quản lý website và quản trị HOSTING ở mức cơ bản - Giáo trình FPT
BÀI 7 Quản lý website và quản trị HOSTING ở mức cơ bản - Giáo trình FPT
 
Convert psd to html5 nhất nghệ - hoclaptrinhweb.com
Convert psd to html5 nhất nghệ - hoclaptrinhweb.comConvert psd to html5 nhất nghệ - hoclaptrinhweb.com
Convert psd to html5 nhất nghệ - hoclaptrinhweb.com
 
Bài 4.4 - SQL (STRUCTURED QUERY LANGUAGE) - SQL server
Bài 4.4 - SQL (STRUCTURED QUERY LANGUAGE) - SQL serverBài 4.4 - SQL (STRUCTURED QUERY LANGUAGE) - SQL server
Bài 4.4 - SQL (STRUCTURED QUERY LANGUAGE) - SQL server
 
Bài 4.3 - SQL (STRUCTURED QUERY LANGUAGE) - SQL server
Bài 4.3 - SQL (STRUCTURED QUERY LANGUAGE) - SQL serverBài 4.3 - SQL (STRUCTURED QUERY LANGUAGE) - SQL server
Bài 4.3 - SQL (STRUCTURED QUERY LANGUAGE) - SQL server
 
C hanoi university of industry
C hanoi university of industryC hanoi university of industry
C hanoi university of industry
 
Pdfbài 4 ổ cứng hard drive bảo trì sự cố máy tính-mastercode.vn
Pdfbài 4 ổ cứng hard drive   bảo trì sự cố máy tính-mastercode.vnPdfbài 4 ổ cứng hard drive   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 4 ổ cứng hard drive bảo trì sự cố máy tính-mastercode.vn
 

Similar to BÀI 7: THỰC THI CÁC HOẠT ĐỘNG XỬ LÝ XML THEO CƠ CHẾ DỮ LIỆU NGẮT KẾT NỐI (DISCONNECTED DATA)

Kiến thức cần thiết làm việc
Kiến thức cần thiết làm việcKiến thức cần thiết làm việc
Kiến thức cần thiết làm việc
manhvokiem
 
BÀI 6: THỰC THI CÁC HOẠT ĐỘNG XỬ LÝ THEO CƠ CHẾ NGẮT KẾT NỐI BẰNG CÁCH SỬ DỤ...
BÀI 6:  THỰC THI CÁC HOẠT ĐỘNG XỬ LÝ THEO CƠ CHẾ NGẮT KẾT NỐI BẰNG CÁCH SỬ DỤ...BÀI 6:  THỰC THI CÁC HOẠT ĐỘNG XỬ LÝ THEO CƠ CHẾ NGẮT KẾT NỐI BẰNG CÁCH SỬ DỤ...
BÀI 6: THỰC THI CÁC HOẠT ĐỘNG XỬ LÝ THEO CƠ CHẾ NGẮT KẾT NỐI BẰNG CÁCH SỬ DỤ...
MasterCode.vn
 
Chuong 1_Gioo thieu DB.pdf
Chuong 1_Gioo thieu DB.pdfChuong 1_Gioo thieu DB.pdf
Chuong 1_Gioo thieu DB.pdf
Criz20
 
Drupal framework xanh
Drupal framework xanhDrupal framework xanh
Drupal framework xanh
Xanh Nguyen
 

Similar to BÀI 7: THỰC THI CÁC HOẠT ĐỘNG XỬ LÝ XML THEO CƠ CHẾ DỮ LIỆU NGẮT KẾT NỐI (DISCONNECTED DATA) (20)

Kiến thức cần thiết làm việc
Kiến thức cần thiết làm việcKiến thức cần thiết làm việc
Kiến thức cần thiết làm việc
 
04 ado
04 ado04 ado
04 ado
 
03 chuong3-datasets-140404114719-phpapp02
03 chuong3-datasets-140404114719-phpapp0203 chuong3-datasets-140404114719-phpapp02
03 chuong3-datasets-140404114719-phpapp02
 
03 chuong 3 - data sets
03   chuong 3 - data sets03   chuong 3 - data sets
03 chuong 3 - data sets
 
BÀI 6: THỰC THI CÁC HOẠT ĐỘNG XỬ LÝ THEO CƠ CHẾ NGẮT KẾT NỐI BẰNG CÁCH SỬ DỤ...
BÀI 6:  THỰC THI CÁC HOẠT ĐỘNG XỬ LÝ THEO CƠ CHẾ NGẮT KẾT NỐI BẰNG CÁCH SỬ DỤ...BÀI 6:  THỰC THI CÁC HOẠT ĐỘNG XỬ LÝ THEO CƠ CHẾ NGẮT KẾT NỐI BẰNG CÁCH SỬ DỤ...
BÀI 6: THỰC THI CÁC HOẠT ĐỘNG XỬ LÝ THEO CƠ CHẾ NGẮT KẾT NỐI BẰNG CÁCH SỬ DỤ...
 
Data provider
Data providerData provider
Data provider
 
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theoBài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
 
Bai1_GioiThieuOOP.pptx
Bai1_GioiThieuOOP.pptxBai1_GioiThieuOOP.pptx
Bai1_GioiThieuOOP.pptx
 
Python Beginner Class day-11-12-13-database
Python Beginner Class day-11-12-13-databasePython Beginner Class day-11-12-13-database
Python Beginner Class day-11-12-13-database
 
01 chuong1-gioithieuado-140404114504-phpapp01
01 chuong1-gioithieuado-140404114504-phpapp0101 chuong1-gioithieuado-140404114504-phpapp01
01 chuong1-gioithieuado-140404114504-phpapp01
 
01 tong-quan-ado
01 tong-quan-ado01 tong-quan-ado
01 tong-quan-ado
 
Bài Giảng Môn Học Cơ Sở Dữ Liệu Nâng Cao
Bài Giảng Môn Học Cơ Sở Dữ Liệu Nâng Cao Bài Giảng Môn Học Cơ Sở Dữ Liệu Nâng Cao
Bài Giảng Môn Học Cơ Sở Dữ Liệu Nâng Cao
 
Chuong 1_Gioo thieu DB.pdf
Chuong 1_Gioo thieu DB.pdfChuong 1_Gioo thieu DB.pdf
Chuong 1_Gioo thieu DB.pdf
 
01 chuong 1 - gioi thieu ado.net va ket noi den csdl
01   chuong 1 - gioi thieu ado.net va ket noi den csdl01   chuong 1 - gioi thieu ado.net va ket noi den csdl
01 chuong 1 - gioi thieu ado.net va ket noi den csdl
 
Bài giảng môn Cơ sở dữ liệu - truongkinhtethucpham.com
Bài giảng môn Cơ sở dữ liệu - truongkinhtethucpham.comBài giảng môn Cơ sở dữ liệu - truongkinhtethucpham.com
Bài giảng môn Cơ sở dữ liệu - truongkinhtethucpham.com
 
Drupal framework xanh
Drupal framework xanhDrupal framework xanh
Drupal framework xanh
 
Slide duyetgiang
Slide duyetgiangSlide duyetgiang
Slide duyetgiang
 
Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...
Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...
Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...
 
Chuong 1 - Gioi Thieu.pptx
Chuong 1 - Gioi Thieu.pptxChuong 1 - Gioi Thieu.pptx
Chuong 1 - Gioi Thieu.pptx
 
Slide bài giảng lập trình Android DTU - Phần 2 (Thiết kế giao diện)
Slide bài giảng lập trình Android DTU - Phần 2 (Thiết kế giao diện)Slide bài giảng lập trình Android DTU - Phần 2 (Thiết kế giao diện)
Slide bài giảng lập trình Android DTU - Phần 2 (Thiết kế giao diện)
 

More from MasterCode.vn

Pd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vnPd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vn
MasterCode.vn
 
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vnPd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
MasterCode.vn
 
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vnPdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
MasterCode.vn
 

More from MasterCode.vn (20)

Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vnPd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
 
Why apps-succeed-wpr-mastercode.vn
Why apps-succeed-wpr-mastercode.vnWhy apps-succeed-wpr-mastercode.vn
Why apps-succeed-wpr-mastercode.vn
 
Dzone performancemonitoring2016-mastercode.vn
Dzone performancemonitoring2016-mastercode.vnDzone performancemonitoring2016-mastercode.vn
Dzone performancemonitoring2016-mastercode.vn
 
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vnGoogle công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
 
Nghiên cứu về khách hàng mastercode.vn
Nghiên cứu về khách hàng mastercode.vnNghiên cứu về khách hàng mastercode.vn
Nghiên cứu về khách hàng mastercode.vn
 
Lập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vnLập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vn
 
Pd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vnPd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vn
 
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vnPd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
 
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vnPdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
 
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vnPd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
 
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vnPd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
 
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vnPdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
 
Pdfbài 7 máy tính xác tay và máy in bảo trì sự cố máy tính-mastercode.vn
Pdfbài 7 máy tính xác tay và máy in   bảo trì sự cố máy tính-mastercode.vnPdfbài 7 máy tính xác tay và máy in   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 7 máy tính xác tay và máy in bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 6 bảo trì máy tính bảo trì sự cố máy tính-mastercode.vn
Pdfbài 6 bảo trì máy tính   bảo trì sự cố máy tính-mastercode.vnPdfbài 6 bảo trì máy tính   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 6 bảo trì máy tính bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 5 bảo trì và tối ưu windows bảo trì sự cố máy tính-mastercode.vn
Pdfbài 5 bảo trì và tối ưu windows   bảo trì sự cố máy tính-mastercode.vnPdfbài 5 bảo trì và tối ưu windows   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 5 bảo trì và tối ưu windows bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 3 cpu và ram bảo trì sự cố máy tính-mastercode.vn
Pdfbài 3 cpu và ram   bảo trì sự cố máy tính-mastercode.vnPdfbài 3 cpu và ram   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 3 cpu và ram bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 1 giới thiệu chung về phần cứng bảo trì sự cố máy tính-mastercode.vn
Pdfbài 1 giới thiệu chung về phần cứng   bảo trì sự cố máy tính-mastercode.vnPdfbài 1 giới thiệu chung về phần cứng   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 1 giới thiệu chung về phần cứng bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 2 bo mạch chủ (main) bảo trì sự cố máy tính-mastercode.vn
Pdfbài 2 bo mạch chủ (main)   bảo trì sự cố máy tính-mastercode.vnPdfbài 2 bo mạch chủ (main)   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 2 bo mạch chủ (main) bảo trì sự cố máy tính-mastercode.vn
 
Pdf bai 7 làm việc với truy vấn nâng cao-slide 07-quan tri csdl voi access-ma...
Pdf bai 7 làm việc với truy vấn nâng cao-slide 07-quan tri csdl voi access-ma...Pdf bai 7 làm việc với truy vấn nâng cao-slide 07-quan tri csdl voi access-ma...
Pdf bai 7 làm việc với truy vấn nâng cao-slide 07-quan tri csdl voi access-ma...
 
Pdf bai 6 làm việc với truy vấn cơ bản-slide 06-quan tri csdl voi access-mast...
Pdf bai 6 làm việc với truy vấn cơ bản-slide 06-quan tri csdl voi access-mast...Pdf bai 6 làm việc với truy vấn cơ bản-slide 06-quan tri csdl voi access-mast...
Pdf bai 6 làm việc với truy vấn cơ bản-slide 06-quan tri csdl voi access-mast...
 

BÀI 7: THỰC THI CÁC HOẠT ĐỘNG XỬ LÝ XML THEO CƠ CHẾ DỮ LIỆU NGẮT KẾT NỐI (DISCONNECTED DATA)

  • 1. 11 HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO HocLapTrinhWeb.COM
  • 2. 22 HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO HocLapTrinhWeb.COM Thực thi các hoạt động xử lý XML theo cơ chế dữ liệu ngắt kết nối 1.Biểu diễn DataSet dưới dạng XML 2.DiffGrams là gì?
  • 3. 33 HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO HocLapTrinhWeb.COM 1. Biểu diễn DataSet dưới dạng XML • Lưu DataSet ra XML • Đọc XML vào DataSet
  • 4. 44 HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO HocLapTrinhWeb.COM 1. Biểu diễn DataSet dưới dạng XML DataSet Database XML
  • 5. 55 HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO HocLapTrinhWeb.COM Lưu DataSet ra XML • Dùng 2 phương thức sau của DataSet  WriteXml(String [, XmlWriteMode]) • XmlWriteMode: có ghi inline schema kèm theo dữ liệu không  WriteXmlSchema(String): ghi cấu trúc DataSet ra XML schema
  • 6. 66 HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO HocLapTrinhWeb.COM Minh hoạ lưu Dataset ra XML • Đọc dữ liệu từ CSDL vào Dataset • Ghi vào tập tin Xml dưới các chế độ khác nhau : thay đổi các hằng số của XmlWriteMode • Mở các tập tin được tạo ra để xem kết quả
  • 7. 77 HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO HocLapTrinhWeb.COM Đọc XML vào DataSet • Dùng 2 phương thức sau của DataSet  ReadXml(String [, XmlReadMode]) • XmlReadMode: xác định cách đọc dữ liệu XML và Schema liên quan  ReadXmlSchema(String): đọc cấu trúc của DataSet mà không cần load dữ liệu
  • 8. 88 HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO HocLapTrinhWeb.COM Minh họa đọc XML vào DataSet • Tạo Dataset • Đọc nội dung các tập tin XML vào Dataset: thay đổi các hằng số XmlReadMode • Xuất nội dung của Dataset ra màn hình • Đọc tập tin chỉ lưu schema, sau đó xuất ra màn hình để xem tên cột và kiểu dữ liệu
  • 9. 99 HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO HocLapTrinhWeb.COM Bài thực hành • Xuất dữ liệu của bảng Producion.Culture ra tập tin Culture.Xml, không có Schema đính kèm • Đọc dữ liệu của tập tin Culture.Xml vào DataSet, sau đó xuất dữ liệu của DataSet ra màn hình
  • 10. 1010 HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO HocLapTrinhWeb.COM 2. DiffGrams là gì? • Định dạng của DiffGram • Các thuộc tính của DiffGram
  • 11. 1111 HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO HocLapTrinhWeb.COM 2. DiffGrams là gì? – Là một định dạng của XML – Dùng để nhận dạng phiên bản gốc và hiện hành của các thành phần dữ liệu
  • 12. 1212 HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO HocLapTrinhWeb.COM Định dạng của DiffGram • DiffGram gồm 3 khối thành phần như sau:  <DataInstance>, <diffgr:before>, <diffgr:errors>
  • 13. 1313 HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO HocLapTrinhWeb.COM Định dạng của DiffGram • DiffGram gồm 3 khối thành phần như sau:  Khối <DataInstance>: • DataInstance chính là tên của thành phần này, thường là tên DataSet hoặc Datatable • Khối này dùng để chứa dữ liệu hiện hành • Khi dữ liệu thay đổi thì nó sẽ được nhận dạng thông qua thuộc tính diffgr:hasChanges
  • 14. 1414 HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO HocLapTrinhWeb.COM Định dạng của DiffGram • DiffGram gồm 3 khối thành phần như sau:  Khối <diffgr:before>: • Khối này dùng để chứa phiên bản gốc của dữ liệu • Các thành phần trong khối này giống với khối <DataInstance> và được nhận dạng thông qua thuộc tính diffgr:id
  • 15. 1515 HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO HocLapTrinhWeb.COM Minh hoạ định dạng của DiffGram • Tạo 2 Dataset riêng biệt • Đọc cấu trúc của tập tin Xml schema và tập tin chứa nội dung có định dạng DiffGram vào Dataset 1 • Xuất nội dung Dataset 1 ra DataGridView 1 • Sửa dữ liệu trực tiếp trên DataGridView 1 • Ghi dữ liệu Dataset 1 ra 2 tập tin Xml khác (cấu trúc và nội dung có định dạng DiffGram) • Đọc cấu trúc của tập tin Xml schema và tập tin chứa nội dung có định dạng DiffGram trên vào Dataset 2 • Xuất Dataset 2 ra DataGridView 2 để xem kết quả
  • 16. 1616 HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO HocLapTrinhWeb.COM Định dạng của DiffGram • DiffGram gồm 3 khối thành phần như sau:  Khối <diffgr:errors>: • Khối này dùng để chứa thông tin lỗi của một dòng cụ thể trong khối <DataInstance> • Các thành phần trong khối này giống với khối <DataInstance> và được nhận dạng thông qua thuộc tính diffgr:id
  • 17. 1717 HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO HocLapTrinhWeb.COM Các thuộc tính của DiffGram • Các thuộc tính đi kèm của các khối  id: định danh cho mỗi dòng, được kết hợp bởi [TableName][RowIdentifier]  parentId: nhận dạng thành phần cha của nó  hasChanges: nhận dạng thành phần hiện hành có được cập nhật không. Nếu có cập nhật thì dữ liệu gốc sẽ xuất hiện trong khối <diffgr:before>
  • 18. 1818 HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO HocLapTrinhWeb.COM Minh hoạ thuộc tính parentId • Tạo 2 tập tin Xml: schema và nội dung có 2 table quan hệ cho con • Xuất nội dung tập tin Xml ra 2 DataGridView Cha-Con • Xóa và sửa dữ liệu trên DataGridView Con • Ghi nội dung được cập nhật xuống tập tin Xml mới • Mở tập tin mới này ra để xem nội dung thay đổi
  • 19. 1919 HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO HocLapTrinhWeb.COM Các thuộc tính của DiffGram • Các thuộc tính đi kèm của các khối  hasErrors: nhận dạng thành phần hiện hành có bị lỗi hay không. Lúc đó dữ liệu gốc sẽ xuất hiện trong khối <diffgr:errors>  Error: chứa chuỗi mô tả lỗi trong khối <diffgr:errors>
  • 20. 2020 HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO HocLapTrinhWeb.COM Minh hoạ thuộc tính lỗi của DiffGram • Tạo 1 Dataset và 1 DataAdapter • Lắp dữ liệu từ bảng Person.StateProvince vào Dataset • Xuất nội dung Dataset ra DataGridView • Sửa khoá ngoại – CountryRegionCode – là một giá trị không tồn tại trên bảng cha • Cập nhật Dataset và ghi ra Xml dưới dạng DiffGram • Mở tập tin Xml này ra để xem nội dung
  • 21. 2121 HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO HocLapTrinhWeb.COM Bài thực hành • Ghi XML dưới dạng DiffGram, yêu cầu  Tạo tập tin .xml dưới dạng DiffGram  Đọc tập tin này vào DataSet  Thao tác trên DataSet này  Lưu DataSet vào tập tin .xml khác, dưới dạng DiffGram

Editor's Notes

  1. 4 tiết Introduction Microsoft® ADO.NET enables you to fill a dataset from an Extensible Markup Language (XML) stream or an XML document. The XML stream or document can contain the data for the dataset, the schema for the dataset, or both. You can combine the information in the XML stream or document with existing data or schema information already present in the dataset. ADO.NET also enables you to create an XML representation of a dataset, with or without its schema. You can, for example, use this capability to transport the dataset across Hypertext Transfer Protocol (HTTP) for use by another application. In an XML representation of a dataset, the data is written in XML format, and the dataset schema is written by using the XML Schema definition language (XSD). XML and XML Schema provide a convenient format for transferring the contents of a dataset to and from remote clients.
  2. GV giới thiệu sơ qua về sự trao đổi dữ liệu theo hình trên: Lớp DataSet chứa các phương thức ghi dữ liệu, ghi schema hoặc cả hai vào tập tin XML Lớp DataSet cũng chứa các phương thức load dữ liệu,load schema hoặc cả hai từ tập tin XML vào DataSet (The DataSet class contains methods that enable you to write the data, schema, or both to an XML file. The DataSet class also contains methods that enable you to load data, schema, or both from an XML file.)
  3. You can write an XML representation of a dataset, with or without its schema, by calling the WriteXml method on the dataset object. The WriteXml method takes an XmlWriteMode enumeration parameter, which indicates whether you want to write an inline schema definition alongside the data. If dataset schema information is included, it is written using XSD. The schema contains the table definitions of the dataset as well as the relation and constraint definitions. When a dataset is written as XML data, the rows in the dataset are written in their current versions. However, the dataset can also be written as a DiffGram, which is a format that includes both the current and the original values of the rows. The DataSet class also defines a method named WriteXmlSchema , which enables you to write the schema of a dataset without writing its data. Các hằng số của XmlWriteMode : WriteSchema: Ghi nội dung hiện hành của Dataset có kèm theo inline XSD schema. Nếu Dataset chỉ có schema (không có dữ liệu) thì inline schema được ghi. Nếu Dataset không có schema hiện hành thì không ghi gì cả (cho dù có dữ liệu) IgnoreSchema (Default) : Ghi nội dung hiện hành của Dataset không có XSD schema kèm theo. Nếu Dataset không có dữ liệu thì không ghi gì cả DiffGram: Ghi toàn bộ Dataset có định dạng DiffGram, kể cả giá trị gốc và giá trị hiện hành Ghi chú : chi tiết về DiffGram trong slide tiếp theo
  4. Bài minh họa: project LapTrinhADO, tập tin Mhoa_Bai7.cs , phương thức Ghi_DataSet_XML()
  5. You can create the contents of a dataset from an XML stream or document. The Microsoft .NET Framework provides great flexibility over what information is loaded from XML, whether validation is performed, and how the schema or relational structure of the dataset is created. To fill a dataset with data from XML, call the ReadXml method on the DataSet object. The ReadXml method takes an optional XmlReadMode enumeration parameter, which indicates how to merge the existing dataset schema with the schema defined implicitly or explicitly in the XML data. The DataSet class also defines a method named ReadXmlSchema , which enables you to create the schema for a dataset without loading any data into the dataset. Các hằng số của XmlReadMode : Auto : Gán vào XmlReadMode giá trị thích hợp nhất. Nếu dữ liệu được định dạng là DiffGram, DiffGram được chọn. Nếu một inline schema được tìm thấy, thì ReadSchema được chọn. Nếu không có schema nào thì IgnoreSchema được chọn. DiffGram : Đọc trong DiffGram và áp dụng các thay đổi cho DataSet. DiffGrams được mô tả trong phần sau. Fragment: Đọc tài liệu chứa sơ đồ XDR phân mảnh, như kiểu được tạo bởi SQL Server. IgnoreSchema: Bỏ qua các inline schema. Đọc dữ liệu trong sơ đồ DataSet hiện tại. Nếu dữ liệu không tìm thấy trong DataSet schema nó được bỏ qua. InferSchema: Bỏ qua inline schema. Tạo schema dựa trên tài liệu XML. Nếu một schema có sẵn trong DataSet, schema này được sử dụng, và được mở rộng bằng cách thêm vào các cột  và các bảng nếu cần. Có thể xảy ra một ngoại lệ nếu đã có một cột tồn tại sẵn, nhưng khác kiểu dữ liệu. ReadSchema: Đọc một inline schema và load dữ liệu. Nếu Dataset đã có schema rồi thì các table mới sẽ được thêm vào schema. Nhưng nếu đã có table trong inline schema thì sẽ phát sinh một ngoại lệ InferTypedSchema: Bỏ qua inline schema, định dạng dữ liệu dựa vào nội dung dữ liệu. Nếu không hiểu nội dung thì xem như là kiểu chuỗi
  6. Bài minh họa: project LapTrinhADO, tập tin Mhoa_Bai7.cs , phương thức Doc_XML_Dataset()
  7. Bài này trên Console Project
  8. Element block Description &lt;DataInstance&gt; : The name of this element, DataInstance , is used for explanation purposes here. Instead of &lt;DataInstance&gt; , the element contains the name of the dataset or data table. This block of the DiffGram format contains the current data. An element, or row, that has been modified is identified with the diffgr:hasChanges attribute. &lt;diffgr:before&gt; This block of the DiffGram format contains the original version of a row. Elements in this block are matched to elements in the &lt;DataInstance&gt; block by the diffgr:id attribute. &lt;diffgr:errors&gt; This block of the DiffGram format contains error information for a particular row in the &lt;DataInstance&gt; block. Elements in this block are matched to elements in the &lt;DataInstance&gt; block by the diffgr:id attribute.
  9. Có bài minh họa :( Project LaptrinhADO_Win, form Mhoa_Bai07_01)
  10. Có bài minh họa :( Project LaptrinhADO_Win, form Mhoa_Bai07_01)
  11. Bài minh họa :( Project LaptrinhADO_Win, form Mhoa_Bai07_01)
  12. Có bài minh họa :( Project LaptrinhADO_Win, form Mhoa_Bai07_03) Nên để minh hoạ này trong slide 15
  13. Giáo viên mở các tập tin xml được tạo từ bài minh họa Project LaptrinhADO_Win, form Mhoa_Bai07_01 để cho học viên xem các thay đổi hasChanges: có các giá trị sau inserted : nhận diện một dòng mới đựơc thêm vào modified: Nhận diện một dòng đã có cập nhật deleted: nhận diện dòng đã được xóa, chỉ nằm trong khối &lt;diffgr:before&gt; descent : nhận diện một thành phần có một hoặc nhiều thành phần con (có quan hệ cha/con) được cập nhật
  14. Bài minh họa :( Project LaptrinhADO_Win, form Mhoa_Bai07_02)
  15. Có bài minh hoạ: Project LaptrinhADO_Win, form Mhoa_Bai07_03
  16. Bài minh họa :( Project LaptrinhADO_Win, form Mhoa_Bai07_03) Bài này minh hoạ thuộc tính diffgr:hasErrors, khối &lt;diffgr:errors&gt; và thuộc tính diffgr:Error