Đối tượng Dataset

Một phần của tài liệu Đồ án xây dung website bán vé máy bay (Trang 45 - 53)

: nhanvien w_NSD

6.5.1Đối tượng Dataset

v Chia sẻ dữ liệu giữa các ứng dụn g.

6.5.1Đối tượng Dataset

Đối tượng Dataset là thành phần chính để hổ trợ việc kết nối ngắt đoạn, là kịch bản phân bổ dữ liệu với ADO.NET. Dataset là bộ nhớ tạm, nó là một bản sao dữ liệu mà cung cấp một mô hình lập trình quan hệ nhất quán không quan tâm đến nguồn dữ liệu. DataSet

bao gồm tập hợp các đối tượng DataTable mả bạn có thể thiết lập mối quan hệ giữa chúng thông qua đối tượng DataRelation. Bạn cũng có thể làm cho dữ liệu trong DataSet được nhất quán bằng cách sử dụng đối tượng UniqueConstraint và ForeignKeyConstraint

Mô hình đối tuợng Dataset Mô hình đối tuợng Dataset Mô hình đối tuợng Dataset

Các thành phần của đối tượng DataSet

§Public properties

Thuộc tính Diễn tả

CaseSensitive Thiết lập hay trả về một giá trị cho biết so sánh chuỗi bên trong các đối tượng DataTable có phân biệt hoa thường hay không

Container(kế thừa từ

MarshalByValueComponent) Trả về container cho thành phần

DataSetName Thiết lập hay trả về tên của DataSet hiện hành DefaultViewManager DesignMode EnforceConstraints ExtendedProperties HasErrors Locale

Namespace Thiết lập hay trả về namespace của DataSet Prefix

Relations Trả về một tập hợp các quan hệ liên kết các bảng(DataTable) trong DataSet và cho phép định hướng từ bảng cha đến bảng con

Sites

Tables Trả về tập hợp bảng(DataTable) chứa bên trong DataSet § Public methods

a. AcceptChanges

Đồng ý tất cả những thay đổi làm trên DataSet trước khi AcceptChanges được gọi. Khi AcceptChanges được gọi, các đối tượng DataRow trong chế độ soạn thảo sẽ kết thúc việc soạn thảo. Trạng thái của DataRow cũng được thay đổi. Những dòng đã thêm vào hay đã cập nhật thì không thay đổi, những dòng đã xoá sẽ bị xoá khỏi DataSet.

Phương thức AcceptChanges thường được gọi trên một DataTable sau khi bạn thực hiện việc update DataSet sử dụng phương thức dbDataAdapter.Update

6.5.3 Đối tượng DataTable

Một Dataset được tạo thành từ một tập hợp các bảng, các quan hệ và các ràng buộc. Trong ADO.NET, các đối tượng DataTable được dùng để trình bày các bảng trong DataSet. Một DataTable trình bày một bảng trong DataTableCllection

Lớp DataTable là một thành phần của namespace System.Data bên trong thư viện của .NET Framework. Bạn có thể tạo và sử dụng một DataTable một cách độc lập hoặc như một thành phần của một Dataset, và các đối tượng DataTable cũng có thể được sử dụng chung với các đối tượng khác của .NET Framework như là DataView. Bạn có thể truy cập tập hợp các bảng trong Dataset thông qua thuộc tính Tables của đối tượng DataSet.

Lược đồ, cấu trúc của Table được trình bày bởi columns và constraints. Bạn định nghĩa lược đồ của DataTable sử dụng các đối tượng DataColumns, ForeignKeyConstraint và UniqueConstraint. Các cột trong table có thể ánh xạ từ các cột trong nguồn dữ liệu, chứa những giá trị tính toán từ những biểu thức, các giá trị tăng tự động hoặc chứa những giá trị khoá chính.

Ngoài những lược đồ, một DataTable cũng phải có những dòng, dùng để chứa và sắp xếp dữ liệu. Lớp DataRow trình bày dữ liệu thật được chứa trong bảng. Bạn sử dụng DataRow và những thuộc tính , phương thức của nó để truy xuất, định giá và thao tác dữ liệu trong một bảng. Như bạn truy cập và thay đổi dữ liệu bên trong một bảng. Đối tượng DataRow giữ lại cả 2 trạng thái hiện tại và trạng thái ban đầu.

Bạn có thể tạo những mối quan hệ cha con giữa những bảng bằng cách sử dụng một hoặc nhiều cột quan hệ trong bảng. Bạn tạo một mối quan hệ giữa các đối tượng DataTable sử dụng một DataRelation. Đối tượng DataRelation sau đó được sử dụng để trả về những dòng quan hệ cha con của một dòng cụ thể.

Class DataTable là đối tượng chính trong thư viện ADO.NET. Các thành phần sử dụng DataTable bao gồm DataSet và DataView.

Khi truy cập các đối tượng DataTable, bạn phải chú ý đến việc phân biệt chữ hoa chữ thường. Ví dụ nếu có một bảng tên là “mydatatable” và một bảng khác tên là “Mydatatable”. Khi tìm tên bảng, bạn phải quan tâm tới việc phân biệt này.

Nếu bạn đang tạo DataTable bằng cách lập trình, đầu tiên bạn phải định nghĩa giản đồ cho nó bằng cách thêm các đối tượng DataColumnm vào collection DataColumnCollection(truy cập thông qua thuộc tính columns)

Để thêm các dòng vào DataTable, trước hết bạn phải sử dụng phương thức NewRow để trả về một đối tượng DataRow mới. Phương thức NewRow trả về một dòng với giản đồ của DataTable, giống như nó đã được định nghĩa bởi DataColumnCollection của Table. Số dòng lớn nhất mà một DataTable có thể lưu trữ là 16,777,216

DataTable còn chứa một tập hợp các đối tượng ràng buộc mà có thể được sử dụng để đảm bảo tính nhất quán dữ liệu

Để xác định khi có những thay đổi được làm trên bảng, chúng ta dùng một trong những sự kiện sau: RowChanged, RowChanging, RowDeleting, RowDeleted

ü Các thành phần của đối tượng DataTable § Public Constructors

§ Public properties (adsbygoogle = window.adsbygoogle || []).push({});

Property Description

CaseSensitive Cho biết liệu chuỗi so sánh bên trong bảng có phân biệt chữ hoa chữ thường hay không

ChildRelation Lấy tập hợp các quan hệ con của DataTable này Columns Trả về tập hợp column có trong bảng này

Constraints Trả về tập hợp các constraint được lưu giữ bởi bảng này Container(kế thừa từ

MarshalByValueComponent) Trả về Container của thành phần

Dataset Trả về Dataset chứa bảng này

DefaulView Trả về cách nhìn tuỳ chọn của bảng DesignMode(kế thừa từ

MarshalbyValueComponent) Lấy giá trị cho biết liệu thành phần đang trong chế độ thiết kế hay không DisplayExpression Trả về hay thiết lập biểu thức mà sẽ trả về một giá trị dùng

để trình bày bảng này trong giao diện người dùng ExtendedProperties Trả về tập hợp thông tin người dùng một cách tuỳ chọn HashErrors Trả về giá trị cho biết có lỗi nào trong bất kỳ dòng trong bất

kỳ bảng của Dataset mà chứa bảng này Locale

MinimumCapacity

Namespace Trả về hay thiết lập các không gian tên XML trình bày dữ liệu lưu trữ trong DataTable

ParentRelations Trả về tập các quan hệ cha cho DataTable này Prefix

PrimaryKey Trả về hay thiết lập một mảng các columns mà chức năng như một primary key cho bảng dữ liệu

Rows Trả về tập hợp các dòng thuộc về bảng này

Site

TableName Trả về hay thiết lập tên của DataTable § Public method

Method Description

AcceptChanges Đảm bảo tất cả những thay đổi đã làm trên bảng này kể từ lần cuối AcceptChanges được gọi

BeginInit Bắt đầu khởi tạo DataTable mà được sử dụng trên một form hoặc được dùng bởi thành phần khác. Khởi tạo xảy ra lúc chạy

BeginLoadData tắt những thông báo, chỉ mục và ràng buộc trong khi load dữ liệu

Clear Xoá dữ liệu của DataTable

Clone Lấy cấu trúc của DataTable bao gồm các lược đồ và các ràng buộc của DataTable

Compute Tính toán những giá trị cho trước trên những dòng hiện tại mà đã được lọc ra

Copy Copy tất cả cấu trúc và dữ liệu của DataTable này Dispose(kế thừa từ

MarshalbyValueComponent) Giải phóng tài nguyên được sử dụng bởi MarshalValueComponent

hoặc được dùng bởi thành phần khác. Việc khởi tạo xảy ra lúc chạy

EndLoadData Bật các thông báo, chỉ mục và các ràng buộc sau khi đã load dữ liệu

Equals(kế thưà từ Object) Xác định liệu 2 thể hiện của đối tượng có bằng nhau không GetChanges Trả về một bảng sao của DataTable chứa tất cả những thay đổi làm trên nó từ khi nó đã được load lần cuối hoặc từ khi AcceptChanges được gọi

GetErrors Trả về một mảng DataRow mà chứa lỗi GetHashCode(kế thừa từ (adsbygoogle = window.adsbygoogle || []).push({});

Object)

GetService(kế thừa từ

MarshalByValueComponent)

GetType(kế thừa từ Object) Trả về kiểu dữ liệu của thể hiện hiện tại ImportRow Sao chép một DataRow vào một DataTable

LoadDataRow Tìm và cập nhật một trường cụ thể, nếu không tìm thấy thì một dòng mới được tạo ra sử dụng giá trị cho trước

NewRow tạo một DataRow mới với cùng lược đồ của bảng

RejectChanges Quay về(huỷ bỏ) tất cả những thay đổi mà đã được làm trên bảng kể từ khi nó được load hoặc lần cuối AcceptChanges được gọi

Reset Thiết lập lại DataTable về trạng thái ban đầu của nó

Select Trả về một mảng đối tượng DataRow

ToString § Public Event

Event Description

ColumnChanged Xảy ra khi sau khi một giá trị của DataColumn được thay đổi trong DataRow

ColumnChanging Xảy ra khi một giá trị của DataColumn đang bị thay đổi trong DataRow

Dispose(kế thừa từ

MarshalByValueComponent)

RowChanged Xảy ra sau khi một DataRow được thay đổi thành công

RowChanging Xảy ra khi một DataRow đang thay đổi

RowDeleted Xảy ra sau khi một dòng trong bảng được xoá RowDeleting Xảy ra trước khi một dòng trong table đang được

xoá

6.5.4 DataColumnCollection

Trình bày một tập hợp các đối tượng DataColumn cho DataTable. DataColumn collection định nghĩa lược đồ cho DataTable, và xác định loại dữ liệu mả DataColumn có thể chứa. Bạn có thể truy cập DataColumnCollection thông qua thuộc tính Columns của đối tượng DataTable.

DataColumnCollection dùng phương thức Add và Remove để chèn và xoá các đối tượng DataColumn. Dùng thuộc tính Count để xác định có bao nhiêu đối tượng DataColumn trong collection. Dùng phương thức Constraint để kiểm tra đối tượng DataColumn chỉ ra có tồn tại trong collection hay không.

Đối tượng DataColumn

Khái niệm

Trình bày lược đồ của một cột trong một DataTable. DataColumn là một khối xây dựng có qui tắc cho việc tạo ra lược đồ cho một DataTable. Bạn xây dựng lược đồ bằng cách thêm vào một hay nhiều đối tượng DataColumn vào DataColumnCollection

Mỗi DataColumn có một thuộc tính DataType mà xác định kiểu dữ liệu được lưu trữ trong DataColumn. Bạn có thể hạn chế kiểu dữ liệu integers, strings hay decimals. Bởi vì dữ liệu chứa bởi DataTable thuờng được trộn lại với nguồn dữ liệu ban đầu của nó

Các thành phần của đối tượng DataColumn

Ø Public Properties

Thuộc tính Diễn tả

AllowDBName Trả về hay thiết lập giá trị cho biết liệu có cho phép một giá trị Null cho cột này hay không (adsbygoogle = window.adsbygoogle || []).push({});

AutoIncrement Trả về hoặc thiết lập giá trị cột này có tự động tăng hay không khi một dòng mới được thêm vào bảng

AutoIncrementSeed Thiết lập hay trả về giá trị đầu tiên cho một cột và thuộc tính AutoIncrement được thiết lập là True

AutoIncrementStep Thiết lập hay trả về giá trị mỗi lần tăng Caption Thiết lập hay trả về tiêu đề của cột

ColumnMapping Thiết lập hay trả về MappingType của cột

ColumnName Thiết lập hay trả về tên của cột trong DataColumnCollection Container(kế thừa từ

MarshalByValueComponent) Trả về Container của thành phần

DataType Thiết lập hay trả về kiểu dữ liệu lưu trữ trong cột

DefaultValue Thiết lập hay trả về giá trị mặc định cho cột khi tạo ra một dòng mới

DesignMode(kế thừa từ MarshalByValueComponent)

Trả về giá trị cho biết liệu thành phần đang trong chế độ thiết kế hay không

Expression Thiết lập hay trả về biểu thức dùng để lọc dữ liệu, tính toán giá trị trên cột hoặc tạo một cột tính toán

ExtendedProperties Trả về collection thông tin người dùng tuỳ chọn

Maxlength Thiết lập hay trả về chiều dài tối đa của dữ liệu của cột Namespace Thiết lập hay trả về không gian tên của DataColumn Ordinal Trả về vị trí của cột trong DataColumnCollection Prefix

ReadOnly Thiết lập hay trả về giá trị cho biết dữ liệu cột là chỉ đọc hay không

Site(kế thừa từ

MarshalByValueComponent) Thiết lập hay trả về site của thành phần

Table Trả về tên của bảng chứa cột

Unique Thiết lập hay trả về giá trị cho biết liệu giá trị mỗi dòng của cột có là duy nhất hay không

Một phần của tài liệu Đồ án xây dung website bán vé máy bay (Trang 45 - 53)