MÃ BÀI: ITPRG23

Một phần của tài liệu Giáo trình Lập trình mạng nâng cao hướng.NET (Nghề Lập trình máy tính): Phần 2 - Tổng cục dạy nghề (Trang 52 - 53)

Mục tiêu thực hiện:

- Nắm được các khái niệm của ADO.net

- Dùng được XML làm cơ sở dữ liệu

- Trích lọc và sắp xếp được dữ liệu

- Sửa được XML file dựa trên XML Schema

Nội dung:

Giới thiệu ADO.NET

Dùng thẳng XML làm cơ sở dữ liệu Tạo DataSet từ XML Schema

Dùng DataGrid

Bind DataSource của DataGrid vào một Dataset Hiển thị các cột data theo ý mình

Dùng Dataview để Filter và Sort Làm việc với một Row trong DataGrid Edit XML file dựa trên XML Schema Typed Dataset

1. Giới thiệu ADO.NET

Trong .NET, ý niệm Recordset đã được thay thế bằng Dataset. Trong một bài tới ta sẽ học chi tiết về Data Access trong VB.NET, nên hiện giờ chỉ cần biết đại khái về Dataset để dùng trong các thí dụ áp dụng DataGrid.

Trong ADO (ActiveX Data Object) của VB6 ta dùng Connection để nối chương trình áp dụng của mình với cơ sở dữ liệu và lấy ra một Recordset. Cái connection ấy vẫn được giữ nguyên trong khi chương trình ta làm việc với Recordset. Trong ADO.NET của .NET sau khi thiết lập connection với cơ sở dữ liệu ta copy một hay nhiều Recordset vào Dataset. Các Recordset nầy có thể có mối liên hệ Master/Slave Relation với nhau. Thí dụ như Invoice/InvoiceDetails, trong đó các InvoiceDetails liên hệ với Invoice qua InvoiceID chẳng hạn, tức là InvoiceID là Primary Key của Invoice và cũng là Foreign Key của InvoiceDetails . Sau đó ta chỉ làm việc với Dataset mà thơi. Cái connection coi như đã bị cắt đứt. Do đó Dataset được xem như là disconnected

database nho nhỏ nằm trong bộ nhớ.

Chắc chắn bạn sẽ khơng an lịng và hỏi nếu có hai người cùng copy các Recordset ra dùng thì liệu khi update ta có bị mất những sửa đổi nào khơng. Đó là vấn đề khó khăn cổ điển về Multiuser lúc hai người copy cùng một record ra để Edit. Người Update record sau có thể viết chồng lên Edited Record của người trước khiến cho những thay đổi người trước đánh vào bị mất.

Dataset của ADO.NET cho ta các lợi ích thực tiển như:

 Hoàn toàn trong bộ nhớ: Một Table trong Dataset là một Array of Rows, nên ta có thể dùng thẳng (direct access) một record bằng cách nói đến cái Row chứa nó, chớ khơng cần phải dùng MoveNext, MovePrev,.v.v.

 Làm nhẹ công tác của cơ sỡ dữ kiện chính: Vai trị của Dataset đối với cơ sỡ dữ kiện chính (Oracle, Informix, SQLServer .v.v.) cũng giống như mười năm trước đây ta bắt đầu dùng Workstations để làm nhẹ cơng tác của Mainframe computer. Chuyện nào Workstation làm được thì ta giao cho nó, vừa nhanh, vừa linh động, khỏi cần phiền đến Mainframe. Tất cả mọi công tác sửa đổi dữ kiện đều được thực hiện trong Dataset.

 Dataset có thể được biểu diển bằng một XML (eXtensible Marked Language): Ta có thể dùng các cơng cụ của XML để làm việc với Dataset, trao đổi Dataset giữa các computers trên mạng dưới dạng XML, thậm chí có thể chứa một cơ sở dữ kiện nho nhỏ dưới dạng một XML.

Một phần của tài liệu Giáo trình Lập trình mạng nâng cao hướng.NET (Nghề Lập trình máy tính): Phần 2 - Tổng cục dạy nghề (Trang 52 - 53)

Tải bản đầy đủ (PDF)

(157 trang)