1. Trang chủ
  2. » Công Nghệ Thông Tin

chương 3 data sets

54 244 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 54
Dung lượng 0,99 MB

Nội dung

Khái niệm DataSet DataSet là gì • DataSet là một đối tượng cho phép – Nạp 1 phần dữ liệu của data source lên bộ nhớ– Lưu trữ dữ liệu theo mô hình quan hệ • DataSet thuộc kiến trúc Disco

Trang 1

Chương 3

Trang 3

Khái niệm DataSet

 DataSet là gì

• DataSet là một đối tượng cho phép

– Nạp 1 phần dữ liệu của data source lên bộ nhớ– Lưu trữ dữ liệu theo mô hình quan hệ

• DataSet thuộc kiến trúc Disconnected

• DataSet không phụ thuộc vào loại data source

Trang 4

Khái niệm DataSet

 Cấu trúc cơ bản của lớp DataSet

• Gồm 1 tập các bảng – DataTable

• Gồm 1 tập các quan hệ – DataRelation

DataSet

DataTable DataTable

DataRelation

Trang 5

Lớp DataSet

 Sơ đồ lớp

 3 thuộc tính quan trọng trong DataSet

 Tạo đối tượng DataSet

 Một số thuộc tính/phương thức trong DataSet

Trang 6

Lớp DataSet

Sơ đồ lớp

Trang 7

Lớp DataSet

3 thuộc tính quan trọng trong DataSet

 Lớp DataSet có 3 collection properties quan trọng

• Tables

• Relations

• ExtendedProperties

Trang 8

Lớp DataSet

3 thuộc tính quan trọng trong DataSet

 Tables property

• Là đối tượng của lớp DataTableCollection , có thể chứa

0 hay nhiều đối tượng DataTable

• Đối tượng DataTable dùng để lưu trữ 1 tập dữ liệu

dạng bảng được trích ra từ Data Source

 Relations property

• Là đối tượng của lớp DataRelationCollection, có thể

chứa 0 hay nhiều đối tượng DataRelation

• Đối tượng DataRelation định nghĩa mối quan hệ

cha-con giữa 2 bảng dựa vào khóa ngoại

Trang 9

Lớp DataSet

3 thuộc tính quan trọng trong DataSet

 ExtendedProperties property

• Là đối tượng của lớp PropertyCollection, có

thể chứa 0 hay nhiều đối tượng thuộc tính do người dùng tự định nghĩa

• Thường được dùng để lưu các dữ liệu kèm

theo DataSet (vd thời gian DataSet được tạo,

…)

Trang 10

Lớp DataSet

Tạo đối tượng DataSet

 Cách 1: Dùng constructor

DataSet ds = new DataSet ();

DataSet ds = new DataSet ("TenDataSet");

 Cách 2: Dựa trên 1 đối tượng DataSet có sẵn

• Chú ý: Nếu không chỉ rõ tên của đối tượng

DataSet thì tên này sẽ là “NewDataSet”

Trang 12

Lớp DataTable

 Khái niệm DataTable

 3 thuộc tính quan trọng trong DataTable

 Tạo đối tượng DataTable

 Thêm đối tượng DataTable vào đối tượng DataSet

 Một số thuộc tính/phương thức trong DataTable

Trang 13

Lớp DataTable

Khái niệm DataTable

 DataTable dùng để lưu trữ 1 tập dữ liệu dạng bảng được trích ra từ Data Source

 Đặc điểm của DataTable

• Là trung tâm của kiến trúc ADO.NET

• Có thể dùng độc lập với DataSet

Trang 14

Lớp DataTable

3 thuộc tính quan trọng trong DataTable

 Lớp DataTable có 3 collection properties

Trang 15

Lớp DataTable

3 thuộc tính quan trọng trong DataTable

 Columns property

• Là đối tượng của lớp DataColumnCollection , có thể

chứa 0 hay nhiều đối tượng DataColumn

• Đối tượng DataColumn dùng để định nghĩa các thuộc

tính của mỗi cột của bảng (tên cột, kiểu dữ liệu lưu trữ, khóa chính, seed, step)

 Rows property

• Là đối tượng của lớp DataRowCollection , có thể chứa

0 hay nhiều đối tượng DataRow

• Đối tượng DataRow chứa dữ liệu thực sự trong

DataTable

Trang 16

Lớp DataTable

3 thuộc tính quan trọng trong DataTable

 Constraints property

• Là đối tượng của lớp ConstraintCollection, có

thể chứa 0 hay nhiều đối tượng

ForeignKeyConstraint và/hay

UniqueConstraint

Trang 17

Lớp DataTable

Tạo đối tượng DataTable

 Cách 1: Dùng Constructor

DataTable table = new DataTable ();

DataTable table = new DataTable ("TenBang");

 Cách 2: Vừa tạo bảng vừa thêm vào DataSet

DataTable table = tenDS.Tables.Add();

DataTable table = tenDS.Tables.Add("TenBang");

 Cách 3: Dựa trên 1 đối tượng DataTable có sẵn

Trang 18

Lớp DataTable

Thêm đối tượng DataTable vào DataSet

Trang 20

Lớp DataColumn

 Khái niệm DataColumn

 Tạo đối tượng DataColumn

 Thêm đối tượng DataColumn vào DataTable

 Một số thuộc tính/phương thức trong

DataColumn

Trang 21

Lớp DataColumn

Khái niệm DataColumn

 DataColumn dùng để định nghĩa các thuộc

tính của mỗi cột của bảng (tên cột, kiểu dữ

liệu lưu trữ, khóa chính, seed, step)

 DataColumn tạo nên cấu trúc của bảng (lược

đồ của bảng – schema)

Trang 22

Lớp DataColumn

Tạo đối tượng DataColumn

 Cách 1: Constructor

DataColumn col = new DataColumn ();

DataColumn col = new DataColumn (“tenCot”);

DataColumn col = new DataColumn (“tenCot”, typeof (kieu));

DataColumn col = new DataColumn (“tenCot”, typeof (kieu), expr);

 Cách 2: Vừa tạo cột vừa thêm vào bảng

DataColumn col = tenBang.Columns.Add();

DataColumn col = tenBang.Columns.Add(“tenCot”);

DataColumn col = tenBang.Columns.Add(“tenCot”, typeof (kieu));

DataColumn col = tenBang.Columns.Add(“tenCot”, typeof (kieu), expr);

Trang 23

Lớp DataColumn

Thêm đối tượng DataColumn vào DataTable

Trang 25

Lớp DataRow

 Khi DataTable đã được xây dựng và các

DataColumn đã được định nghĩa chúng ta có thể thêm dữ liệu vào bảng

 Thêm dữ liệu vào bảng:

• Thêm đối tượng DataRow vào

DataTable.Rows collection

Trang 26

• B3: tenBang.Rows.Add(row);

Trang 27

 Khái niệm và phân loại

 ForeignKeyConstraint

 UniqueConstraint

Trang 28

Constraints

Khái niệm và phân loại

 Khái niệm Constraints

• Là những quy tắc (rules) áp dụng cho một cột

hay các cột để xác định hành động khi dữ liệu của cột đó bị thay đổi

 Phân loại constraints

• ForeignKeyConstraint

• UniqueConstraint.

Trang 29

ForeignKeyConstraint

 ForeignKeyConstraint dùng để

• Ràng buộc tham chiếu

• Định nghĩa hành vi cascade (khi giá trị trong

cột của bảng cha bị thay đổi hay xóa thì ForeignKeyConstraint sẽ định nghĩa bảng con phản ứng như thế nào)

ForeignKeyConstraint fk = new

ForeignKeyConstraint (“tenFK”, parentCol, childCol);

Trang 30

fk.DeleteRule = Rule Cascade; // default

fk.DeleteRule = Rule SetNull;

fk.DeleteRule = Rule SetDefault;

fk.DeleteRule = Rule None;

Trang 31

UniqueConstraint

 UniqueConstraint dùng để

• Định nghĩa giá trị không được trùng trên 1 cột hay

nhiều cột (giá trị duy nhất)

 ConstraintException

• Nếu nhập giá trị vi phạm ràng buộc thì chương

trình sẽ ném ra ngoại lệ ConstraintException

UniqueConstraint uc = new UniqueConstraint ( DataColumn col);

UniqueConstraint uc = new UniqueConstraint ( DataColumn []

col);

Trang 32

Primary key

 Khóa chính trong DataTable

• Khóa chính trong DataTable là một mảng các

DataColumn được dùng để xác định 1 DataRow duy nhất trong DataTable

tenTable.PrimaryKey = new DataColumn []{col1, col2, …};

Trang 33

Lớp DataRelation

 Khái niệm và chức năng của DataRelation

 Tạo đối tượng DataRelation

 Thêm đối tượng DataRelation vào DataSet

 Truy cập các dòng dữ liệu có liên quan

Trang 34

Lớp DataRelation

Khái niệm và chức năng của DataRelation

 Khái niệm DataRelation

• DataRelation dùng để thiết lập mối quan hệ

giữa bảng cha (parent – master) và bảng con (child – detail) dựa trên khóa chung

 2 chức năng của DataRelation

• Tìm kiếm những dòng dữ liệu liên quan đến

dòng dữ liệu đang xử lý

• Thực hiện ràng buộc tham chiếu

Trang 35

Lớp DataRelation

Tạo đối tượng DataRelation

 Tạo đối tượng DataRelation

DataRelation r = new DataRelation (“ten”,

DataColumn parentCol, DataColumn childCol);

DataRelation r = new DataRelation (“ten”,

DataColumn [] parentCol, DataColumn [] childCol);

Trang 36

Lớp DataRelation

Truy cập các dòng dữ liệu có liên quan

 Thêm đối tượng DataRelation vào DataSet

Trang 38

DataSet kiểu mạnh

 Giới thiệu DataSet kiểu mạnh

 Tạo DataSet kiểu mạnh

 Sử dụng

Trang 40

DataSet kiểu mạnh

Tạo DataSet kiểu mạnh

 B1: Tạo DataSet

Click phải chuột lên tên Project  Add 

New Item: Chọn DataSet

Trang 45

DataSet kiểu mạnh

Tạo DataSet kiểu mạnh

Trang 48

DataSet kiểu mạnh

Sử dụng

 Truy cập các đối tượng dòng thông qua property

• ds.Xe[int index] hay ds.Xe.Rows[int index]

• ds.NhanVien[int index] hay ds.NhanVien.Rows[int index]

• ds.PhanCong[index] hay ds.PhanCong.Rows[int index]

 Thêm/Xoa đối tượng dòng: Phương thức Add/Remove

• ds.Xe.AddXeRow(XeRow row)

• ds.Xe.AddNhanVienRow(NhanVienRow row)

• ds.Xe.AddPhanCongRow(PhanCongRow row)

Trang 49

 Lấy những dòng có liên quan

• DataRow[] rows = ds.NhanVien[i].GetChildRows();

Trang 50

Một số đoạn mã

 Duyệt qua các bảng trong DataSet

 Duyệt qua các dòng trong DataTable

 Duyệt qua các cột trong DataTable

Trang 51

Một số đoạn mã

Duyệt qua các bảng trong DataSet

Trang 52

Một số đoạn mã

Duyệt qua các dòng trong DataTable

Trang 53

Một số đoạn mã

Duyệt qua các cột trong DataTable

Trang 54

Tóm tắt chương 3

Ngày đăng: 28/05/2014, 17:58

HÌNH ẢNH LIÊN QUAN

Sơ đồ lớp - chương 3 data sets
Sơ đồ l ớp (Trang 6)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w