Khái niệm•Type Dataset còn gọi là Strong Typed Dataset •Nó là một lớp kế thừa từ System.Data.DataSet và nó có thể chứa các kiểu dữ liệu, các thuộc tính và các phương thức lồng vào nhau
Trang 2Sử dụng Visual Studio 2005
Wizards để thực hiện các hoạt
động theo cơ chế ngắt kết nối
1. Tổng quan về Typed Dataset
2. So sánh DataSet không định kiểu với
DataSet có định kiểu
3. Table Adapter là gì ?
Trang 31 Tổng quan về Typed Dataset
•Khái niệm
•Giới thiệu các công cụ tạo ra Typed Dataset
Trang 4Khái niệm
•Type Dataset còn gọi là Strong Typed Dataset
•Nó là một lớp kế thừa từ System.Data.DataSet
và nó có thể chứa các kiểu dữ liệu, các thuộc tính
và các phương thức lồng vào nhau
•Typed Dataset và các thành viên của nó gọi
chung là Strong-typed object (DataTable,
DataColumn, …)
Trang 5Khái niệm
•Giúp cho người dùng truy cập dữ liệu theo
cách an toàn kiểu (type-safe way)
•Schema của Typed Dataset được biểu diễn
dưới dạng tập tin XML Schema có phần mở rộng
là xsd
Trang 6Giới thiệu các công cụ tạo ra
Typed Dataset
•Dataset Designer
•Data Source Configuration Wizard
Trang 7Giới thiệu các công cụ tạo ra
Typed Dataset
•Dataset Designer
Nhấn chuột phải vào Project, chọn Add New Item…
Chọn biểu tượng trong khung Templates Add
Đã tạo xong một Typed Dataset
Tiếp tục tạo các thành viên bên trong:
sử dụng công cụ Dataset
Trang 8Giới thiệu các công cụ tạo ra
Typed Dataset
•Data Source Configuration Wizard
Trên thực đơn, chọn Data Add New Data Source…
Chọn loại Data Source: chọn
Chọn Data Connection: tạo mới hoặc đã có rồi
Chọn Database Objects và đặt tên Dataset
Chọn DataShow Data Source để xem kết quả vừa
Trang 9Giới thiệu các công cụ tạo ra
Typed Dataset
•Data Source Configuration Wizard
Click vào icon Edit DataSet with Designer để mở cửa sổ thiết kế Dataset
Trang 101 So sánh DataSet không định kiểu
với DataSet có định kiểu
•So sánh Untyped và Typed Dataset
•Truy cập Data Table trong Typed Dataset
•Truy cập dữ liệu trong Typed Data Table
•Quản lý Rows và Columns trong Typed Data Table
Trang 11So sánh Untyped và Typed Dataset
Trang 12So sánh Untyped và Typed Dataset
•Ví dụ
Trang 13Minh họa Untyped và Typed Datset
•Tạo một Dataset có tên là EmployeeDS
•Khai báo Dataset
•Truy xuất Table
•Truy xuất cột
•Xem lỗi phát sinh
Trang 14Truy cập Data Table trong Typed
Dataset
•Lớp Typed Dataset chứa các lớp Typed
DataTable tương ứng với các table có trong
Typed Dataset
•Các lớp Typed DataTable kế thừa từ lớp
System.Data.DataTable
Trang 15Truy cập Data Table trong Typed
Dataset
•Thao tác truy cập
Giả sử ta có Dataset tên là AdventureWorksDataSet
Có 2 Table CountryRegion và CountryRegionCurrency trong DataSet này
Trang 16Truy cập Data Table trong Typed
Trang 17Minh họa truy cập DataTable trong
Typed Datset
•Khai báo TableAdapter
•Khai báo Dataset
•Khai báo DataTable
•Lắp dữ liệu vào DataTable
Trang 18Truy cập dữ liệu trong Typed Data
Table
•Lớp Typed Dataset chứa các lớp Typed
DataRow tương ứng với các table có trong
Trang 19Truy cập dữ liệu trong Typed Data
Table
•Thao tác
//truy xuất dòng đầu tiên
AdventureWorksDataSet.CountryRegionRow dr = dt[0]
//truy xuất cột CountryRegionCode và Name
Console.WriteLine(“Ma vung: {0}, Ten: {1}",
dr.CountryRegionCode ToString(), dr.Name );
//Hoặc sử dụng Dataset để truy xuất cột trực tiếp
Trang 20Minh họa truy cập dữ liệu trong
Typed DataTable
•Truy xuất dòng
•Truy xuất cột
Trang 21Quản lý Rows và Columns trong
Typed Data Table
•Typed DataTable cung cấp một số phương thức để truy cập các dòng
•Các phương thức này làm việc với lớp
DataRow
Trang 22Quản lý Rows và Columns trong
Typed Data Table
Trang 23Minh họa phương thức của
DataTable
•Tìm dòng có giá trị khóa chính là “AF”
(CountryRegionCode)
Trang 25Khái niệm
•Table Adapter là một lớp được phát sinh từ
công cụ Wizard khi ta thêm một DataTable vào
Dataset
•Lớp này cung cấp một số phương thức hỗ trợ người dùng thao tác dữ liệu (xóa, lưu, …)
Trang 26Các phương thức chuẩn trong
Table Adapter Class
Trang 27Minh họa phương thức của
TableAdapter
•Xóa dòng được tìm thấy từ minh hoạ trước
•Thêm một dòng mới
Trang 28Tạo thêm các truy vấn cho Table
Adapter
•Tạo thêm các phương thức khác theo yêu cầu
cụ thể:
Trả về tập hợp các dòng bằng cách tạo ra
phương thức Fillxxx và GetDataxxx
Trả về một giá trị tính toán như số tổng, số
trung bình, …
Thêm, xóa, sửa trực tiếp một dòng trong CSDL
Trang 29Minh họa tạo thêm các custom
query
•Tạo thêm truy vấn có điều kiện cụ thể
•Tạo thêm truy vấn có tham số
Trang 30Bài thực hành
•Tạo một Typed Dataset từ CSDL
AdventureWorks
•Bổ sung table Department vào Dataset
•Sử dụng các phương thức của TableAdapter
để cập nhật dữ liệu trực tiếp