ĐỌC, GHI XML VỚI C# TRONG ADO.NET --- SỬ DỤNG VISUAL STUDIO

Similar documents
TÀI LIỆU THỰC HÀNH MÔN CƠ SỞ DỮ LIỆU NÂNG CAO

BÀI 1: VBA LÀ GÌ? TẠO MACRO, ỨNG DỤNG CÁC HÀM TỰ TẠO (UDF), CÀI ĐẶT ADD-INS VBA là gì?

BÀI TẬP THỰC HÀNH LẬP TRÌNH WINDOWS C#

Entity Framework (EF)

HƯỚNG DẪN SỬ DỤNG HỆ THỐNG CẬP NHẬT CHỨNG THƯ SỐ HOTLINE:

Chương 5. Network Layer 19/09/2016 1

Chương 5. Network Layer. Phần 1 - Địa chỉ IPv4. Tài liệu : Forouzan, Data Communication and Networking

Cụ thể những công việc mà AndroidManifest.xml thực hiện: - Đặt tên cho Java package của ứng dụng.

Mô hình dữ liệu quan hệ (Relational data model)

Khối: Cao Đẳng nghề và Trung Cấp Năm 2009

Cài đặt và cấu hình StarWind iscsi trên Windows. iscsi SAN là gì?

Hướng dẫn cài đặt FPT

Bộ môn HTMT&TT, Khoa Công Nghệ Thông Tin và TT, ĐH Cần Thơ

Tài liệu hướng dẫn: Stored Procedure

STACK và QUEUE. Lấy STACK

CHƯƠNG 2: CÁC ĐẶC ĐIỂM VỀ MÔI TRƯỜNG PHÁT TRIỂN (IDE)

Khoa KH & KTMT Bộ môn Kỹ Thuật Máy Tính

NHẬP MÔN LẬP TRÌNH KHOA HỌC DỮ LIỆU. Bài 10: Thư viện Pandas (2)

Internet Protocol. Bởi: Phạm Nguyễn Bảo Nguyên

Bài Thực hành Asp.Net - Buổi 1 - Trang: 1

LÂ P TRI NH WEB ASP.NET

Nội dung chính của chương. Các công nghệ đĩa cứng Cấu tạo vật lý của đĩa cứng Cấu tạo logic của đĩa cứng Cài đặt đĩa cứng như thế nào?

Bộ môn MMT&TT, Khoa Công Nghệ Thông Tin và TT, ĐH Cần Thơ

Nhấn nút New để tạo 1 biến mới Trang 17

HƯỚNG DẪN SỬ DỤNG PLESK PANEL

Tình huống 1: PPPoE với Username và Password

HƯỚNG DẪN CÁCH SỬ DỤNG WINDOWS MOVIE MAKER

Kỹ thuật thu nhỏ đối tượng trong Design (Layout)

BẢO MẬT TRONG SQL SERVER

GIẢI THUẬT ĐỊNH TUYẾN (ROUTING ALGORITHM)

Chương 7. Application Layer. Tài liệu : Forouzan, Data Communication and Networking

LẬP TRÌNH WINDOWS FORM VỚI CÁC CONTROL NÂNG CAO (Các control trình bày dữ liệu dưới dạng danh sách)

Tạo repository mới. The working tree. The staging index. Lệnh git init tạo một repository loại git. tại thư mục hiện tại: $ git init

HƯỚNG DẪN CÀI ĐẶT PHẦN MỀM DIỆT VIRUS AVIRA

CẤU TRÚC DỮ LIỆU NÂNG CAO

BELGIUM ONLINE APPOINTMENT

TỔNG QUAN VỀ.NET VÀ C#

Online Appointment System will work better with below conditions/ Hệ thống đặt hẹn online sẽ hoạt động tốt hơn với điều kiện sau đây:

Đa ngôn ngữ (Internationalization) trong Servlet

Lecture 12. Trees (1/2) Nội dung bài học:

Lab01: M V C Lưu ý: Để thực hành, các bạn phải cài Visual Studio 2013 trở lên mới hỗ trợ MVC5.

Bài tập lớn số 1. Giả lập bộ định thời

Chương 6. Transport Layer. Tài liệu : Forouzan, Data Communication and Networking

HƢỚNG DẪN TRIỂN KHAI KASPERSKY - MOBILE DEVICE MANAGEMENT

HƯỚNG DẪN SỬ DỤNG ĐẦU GHI H.264 DVR VISION VS (4CH - 8CH - 16CH)

PHÁT TRIỂN ỨNG DỤNG WEB

Bài thực hành số 2 QUYỀN và ROLE

Giáo trình này được biên dịch theo sách hướng dẫn của Sun Light. Vì là hướng dẫn kỹ thuật, trong này những thuật ngữ kỹ thuật bằng tiếng Anh tôi chỉ

Bài 10: Cấu trúc dữ liệu

Exceptions. Outline 7/31/2012. Exceptions. Exception handling is an important aspect of objectoriented. Chapter 10 focuses on:

KIẾN TRÚC MÁY TÍNH. Giảng viên: ThS. Phan Thanh Toàn. v

SIMULATE AND CONTROL ROBOT

NHÚNG. Vi ñiều khiển BM Kỹ Thuật ðiện Tử - ðh Bách Khoa TP.HCM 2

Tạo Project với MPLAB

SIEMENS INDUSTRIAL NETWORKS

HƯỚNG DẪN SỬ DỤNG NHANH MINDJET MIND MANAGER

HỢP ĐỒNG MUA BÁN HÀNG HÓA QUỐC TẾ GV: NGUYỄN THỊ BÍCH PHƯỢNG

CHAPTER 6: DANH SÁCH LIÊN KẾT (LINKED LISTS)

Google Search Engine. 12/24/2014 Google Search Engine 1

Mạng máy tính - Computer Network: Hệ. Giao thức - Protocol:

Tính kế thừa-2. Bởi: Thanh Hiền Vũ. Định nghĩa lại các thành viên lớp cơ sở trong một lớp dẫn xuất:

Bài thực hành 1: Chỉ mục trong SQL Server

JAVASCRIPT. Giảng viên : Ths. PHẠM ĐÀO MINH VŨ

GV: Phạm Đình Sắc or

Dọn "rác" Windows 7 vào dịp cuối năm

Bài tập căn bản Visual Basic.Net Vòng lặp. txtn. txtketqua. btntinh. txtn. txtketqua. btntinh. Trang 1

BÀI GIẢNG CHƯƠNG 3 GIAO TIẾP KẾT NỐI SỐ LIỆU

Bài 13: C++11. EE3490: Kỹ thuật lập trình HK1 2017/2018 TS. Đào Trung Kiên ĐH Bách khoa Hà Nội

Phần 2. SỬ DỤNG POWERPOINT ĐỂ CHUẨN BỊ NỘI DUNG TRÌNH BÀY

Khối: Cao Đẳng nghề và Trung Cấp Năm 2009

I. Hướng Dẫn Đăng Nhập:

BÀI THỰC HÀNH SỐ 1. Quản trị tập tin: 1/ Tạo các thư mục sau: Bài tập thực hành linux Linuxlab. bt1 bt11 bt111. bt121. bt12. bh1 bh11 bh111.

Môn Học: Cơ Sở Dữ Liệu 2. Chương 3 LẤY DỮ LIỆU TỪ NHIỀU NGUỒN

B5: Time to coding. Tới thư mục src/example.java và thay đổi nội dung file như sau: Mã: package at.exam;

Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM LẬP TRÌNH MINICHAT. Bài giảng 3. Trang1. Khoa Khoa Học Và Kỹ Thuật Máy Tính

HTML DOM - Forms. MSc. nguyenhominhduc

Hệ điều hành Bài tập tuần 7_ Chúng ta làm quen một số lệnh thao tác với hệ thống file trong Linux :

Bài 7: Các cấu trúc điều khiển

TÀI LIỆU HƯỚNG DẪN SỬ DỤNG HOSTING PLESK PANEL

MỤC LỤC. Giáo trình Thiết kế web Trang 1

Tìm hiểu Group Policy Object và các ví dụ

LẬP TRÌNH TRÊN MÔI TRƯỜNG WINDOWS *** ADO.NET

Giao tiếp giữa các tiến trình

Các kiểu định địa chỉ họ MSC-51

Bài 10. Cấu trúc liên nối. khác nhau được gọi là cấu trúc liên nối. nhu cầu trao đổi giữa các module.

LINQ TO SQL & ASP.NET

Ôn tập Thiết bị mạng và truyền thông DH07TT - Lưu hành nội bộ (không sao chép dưới mọi hình thức)

HƯỚNG DẪN SỬ DỤNG DỊCH VỤ CDN

Cập nhật ResultSet trong JDBC

Hướng Dẫn Thực Hành Tập tin & Thư mục

B3: Bên khung Package Explore bên trái đi tới thư mục res, bạn sẽ thấy có 3 thư mục con:

Kiến trúc 8051 và giới thiệu về ngôn ngữ lập trình Assembly

HƯỚNG DẪN QUẢN TRỊ HỆ THỐNG

NỘI DUNG ÔN TẬP MÔN HỆ CƠ SỞ DỮ LIỆU

BÀI 6 LÀM VIỆC VỚI THÀNH PHẦN MỞ RỘNG CỦA CSS3

HƯỚNG DẪN SỬ DỤNG DỊCH VỤ CDN

CHƯƠNG VII CASCADING STYLE SHEET-CSS

Các phiên bản SNMP. Chương 4

Parallels Cloud Server 6.0

dụng một chính sách, điều này giúp dễ dàng quản lý và cung cấp tính năng Load Balancing (cân bằng tải) phục vụ tốt hơn các yêu cầu của tổ chức.

Transcription:

TRUNG TÂM TIN HỌC ĐẠI HỌC KHOA HỌC TỰ NHIÊN-TP.HCM ĐỌC, GHI XML VỚI C# TRONG ADO.NET --- SỬ DỤNG VISUAL STUDIO 2010 --- 1

TRUNG TÂM TIN HỌC ĐẠI HỌC KHOA HỌC TỰ NHIÊN-TP.HCM Nội dung 1. Tổng quan về v XML 2. Đọc, ghi XML trong DataSet 3. Sử dụng DiffGrams trong XML 2

3

1. Tổng quan vềv XML Khái niệm Tài liệu XML Các qui tắc khi tạo tài liệu XML 4

Khái niệm XML - EXtensible Markup Language Dùng để lưu trữ và trao đổi dữ liệu Là một ngôn ngữ đánh dấu giống HTML Các Tag của XML không được định nghĩa trước, ta phải định nghĩa tag riêng tự mô tả Là một trong các chuẩn do W3C duy trì 5

Tài i liệu u XML Bài 1: Tổng quan về XML 6

Các c qui tắc t c tạo t o tài t i liệu u XML Khi viết tài liệu XML ta phải tuân theo các qui tắc sau: XML element phải có tag đóng Tên tag phân biệt chữ HOA/thường Các tag phải được lồng vào nhau có trình tự Tài liệu XML chỉ có 1 element gốc Giá trị của thuộc tính phải đặt trong dấu nháy đôi 7

Minh họah Tạo một tài liệu XML trong VS 2010 8

2. Đọc, ghi XML trong DataSet Tổng quan Ghi DataSet vào XML Đọc XML vào DataSet 9

Tổng quan ADO.NET cho phép đọc dữ liệu XML vào DataSet XML có thể chứa dữ liệu, lược đồ, hoặc cả hai. ADO.NET cũng cho phép ghi dữ liệu của DataSet vào XML với có hoặc không có cấu trúc Gởi dữ liệu qua Internet cho một ứng dụng khác sử dụng 10

Tổng quan Database DataSet XML 11

Ghi DataSet vào v o 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 12

Ghi DataSet vào v o XML Dùng 2 phương thức sau của DataSet WriteSchema IgnoreSchema (Default) DiffGram 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) 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ả Ghi toàn bộ Dataset có định dạng DiffGram, kể cả giá trị gốc và giá trị hiện hành 13

Ghi DataSet vào v o XML Dùng 2 phương thức sau của DataSet WriteXmlSchema(String): ghi cấu trúc DataSet ra XML schema Ví dụ: Đọc bảng Khoa từ CSDL QLSINHVIEN vào DataSet, sau đó ghi dữ liệu DataSet vào tập tin Khoa.Xml //Đọc từ CSDL SqlDataAdapter bo_doc_ghi = new SqlDataAdapter("SELECT * FROM Khoa", "Server=. ; Database=QLSINHVIEN;Integrated Security=SSPI"); DataSet ds = new DataSet(); bo_doc_ghi.fill(ds); //Ghi vào file XML ds.writexml(environment.currentdirectory + @"\Khoa.xml"); 14

Minh họa h a lưu DataSet vào v o 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ả 15

Đọc c XML vào 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 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. 16

Đọc c XML vào v o DataSet Dùng 2 phương thức sau của DataSet ReadXml(String [, XmlReadMode]) DiffGram: Đọc trong DiffGram và áp dụng các thay đổi cho DataSet. 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 17

Đọc c XML vào v o DataSet Dùng 2 phương thức sau của DataSet ReadXml(String [, XmlReadMode]) 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 18

Đọc c XML vào v o DataSet Dùng 2 phương thức sau của DataSet ReadXmlSchema(String): đọc cấu trúc của DataSet mà không cần load dữ liệu Ví dụ: Đọc tập tin XML chứa danh sách các khoa vào DataSet DataSet ds = new DataSet(); ds.readxml(environment.currentdirectory+ @ \khoa.xml, XmlReadMode.Auto); <DataGridView>.DataSource=ds.Tables[0]; 19

Minh họa h a đọc đ c XML vào 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 20

3. SửS dụng DiffGrams trong XML DiffGrams là gì? Định dạng của DiffGram Các thuộc tính của DiffGram 21

DiffGrams là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 22

Định dạng d của c a DiffGram DiffGram gồm 3 khối thành phần như sau: <DataInstance>, <diffgr:before>, <diffgr:errors> 23

Định dạng d của 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 24

Định dạng d của 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 25

Minh họa h a định đ dạng d của 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ả 26

Định dạng d của 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 27

Các c thuộc c tính t của 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> 28

Minh họa h a thuộc c tính t 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 29

Các c thuộc c tính t của 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> 30

Minh họa h a thuộc c tính t lỗi l i của c a DiffGram Tạo 1 Dataset và 1 DataAdapter Lắp dữ liệu từ bảng Sinh_vien vào Dataset Xuất nội dung Dataset ra DataGridView Sửa khoá ngoại Ma_khoa 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 31

Minh họa h a một m ứng dụng d thực c tết Thi trắc nghiệm cuối khóa tại T3H Xuất đề thi trắc nghiệm (Ghi vào XML) Tổ chức thi trắc nghiệm (Đọc, ghi XML) Chấm thi (Đọc XML) 32

Ứng dụng.net Quản lý kho đề thi trắc nghiệm Bài 1: Tổng quan về XML Xuất file trắc nghiệm <?xml version="1.0"?> <DeThi>...... </DeThi> Ứng dụng.net Thi trắc nghiệm Chấm thi Tổ chức thi <?xml version="1.0"?> <BaiThi>...... </BaiThi> Lưu bài thi Học viên nhập thông tin cá nhân và bắt đầu thi 33

34

35