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
Sử 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ì ?
33
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
1. Tổng quan về Typed Dataset
•
Khái niệm
•
Giới thiệu các công cụ tạo ra Typed Dataset
44
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
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
•
Typed Dataset và các thành viên của nó gọi
chung là Strong-typed object (DataTable,
DataColumn, …)
55
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
Khá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
66
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
Giới thiệu các công cụ tạo ra
Typed Dataset
•
Dataset Designer
•
Data Source Configuration Wizard
77
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
Giớ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
88
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
Giớ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
tạo
99
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
Giớ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
1010
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
1. 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
1111
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
So sánh Untyped và Typed Dataset
1212
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
So sánh Untyped và Typed Dataset
•
Ví dụ
1313
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
Minh họa Untyped và Typed Datset
Minh 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
1414
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
Truy 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
1515
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
Truy 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
1616
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
Truy cập Data Table trong Typed
Dataset
•
Thao tác truy cập
AdventureWorksDataSet ds = new AdventureWorksDataSet();
AdventureWorksDataSet.CountryRegionDataTable dt =
ds.CountryRegion;
AdventureWorksDataSet.CountryRegionDataTable dt2 =
ds.CountryRegionCurrency;
1717
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
Minh họa truy cập DataTable trong
Minh họa truy cập DataTable trong
Typed Datset
Typed Datset
•
Khai báo TableAdapter
•
Khai báo Dataset
•
Khai báo DataTable
•
Lắp dữ liệu vào DataTable
1818
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
Truy 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
Typed Dataset
•
Các lớp Typed DataRow kế thừa từ lớp
System.Data.DataRow
•
Truy xuất trực tiếp tên cột trên đối tượng
DataRow
1919
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
Truy 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
ds.CountryRegion[<chỉ số dòng>].CountryRegionCode
2020
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
Minh họa truy cập dữ liệu trong
Minh họa truy cập dữ liệu trong
Typed DataTable
Typed DataTable
•
Truy xuất dòng
•
Truy xuất cột
2121
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
Quả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
2222
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
Quản lý Rows và Columns trong
Typed Data Table
2323
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
Minh họa phương thức của
Minh họa phương thức của
DataTable
DataTable
•
Tìm dòng có giá trị khóa chính là “AF”
(CountryRegionCode)
2424
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
2. Table Adapter là gì ?
•
Khái niệm
•
Các phương thức chuẩn trong Table Adapter
Class
•
Tạo thêm các truy vấn cho Table Adapter
2525
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
Khá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, …)