DATASET LÀ GÌ

  -  

Trong bài viết này họ vẫn tò mò xem DataSet vào C# ADO.NET là gì? các nằm trong tính, chức năng với giải pháp áp dụng nó như thế nào. Sau kia là một trong vài ba ví dụ rõ ràng sử dụng DataSet để những chúng ta có thể làm rõ hơn nhé.

Bạn đang xem: Dataset là gì

*


*

Tại bài xích trước mình đã ra mắt về DataTable trong ADO.NET, các chúng ta cũng có thể xem lại nhằm hiểu rõ biện pháp sử dụng của nó.

1. DataSet trong C# là gì?

DataSet thay mặt cho 1 tập hợp con của các đại lý dữ liệu vào bộ nhớ. Hay nói theo cách khác, DataSet là một tập vừa lòng những bảng tài liệu gồm đựng dữ liệu quan hệ giới tính trong bộ nhớ nghỉ ngơi định dạng bảng (table).

Nó ko đề xuất liên kết mnghỉ ngơi hoặc chuyển động liên tiếp cùng với cơ sở dữ liệu. DataSet được thực hiện để search hấp thụ dữ liệu mà lại không nên can dự cùng với bất kì mối cung cấp dữ liệu như thế nào.

Bài viết này được đăng tại


*Lưu ý: DataSet là nhân tố cốt yếu để cung ứng quyền truy cập tài liệu vào môi trường thiên nhiên phân tán cùng ngắt két nối (disconnected). Class DataSet ở trong namespace System.Data.

Signature của DataSet trong ADO.NET.


public class DataSet : MarshalByValueComponent, IListSource, IXmlSerializable, ISupportInitializeNotification, ISupportInitialize, ISerializable

2. Cấu trúc của DataSet vào C#

Trong phần này chúng ta vẫn tò mò về kết cấu của DataSet vào ADO.NET. Cụ thể thì DataSet hỗ trợ 4 hàm chế tạo ra sau đây.


public DataSet();public DataSet(string dataSetName);public DataSet(SerializationInfo info, StreamingContext context);public DataSet(SerializationInfo info, StreamingContext context, bool ConstrucSchema);
Trong đó:

DataSet(): Khởi sản xuất một instance new của class System.Data.DataSet.DataSet(string dataSetName): Khởi sinh sản một instance new của class System.Data.DataSet cùng với tên vẫn đến.DataSet(SerializationInfo info, StreamingContext context): Khởi chế tác một instance mới của class System.Data.DataSet cùng với biết tin tài liệu cùng ngữ cảnh (nguồn với đích của một luồng dữ liệu được tuần trường đoản cú hóa).DataSet(SerializationInfo info, StreamingContext context, bool ConstructSchema): Khởi chế tạo một instance mới của class System.Data.DataSet.

3. Các trực thuộc tính với phương thức của DataSet vào C#

Trong phần này mình đã reviews về các thuộc tính cùng những thủ tục của DataSet vào ADO.NET, đó là một trong những phần hơi đặc biệt vì vậy chúng ta hãy chăm chú nhé.

Các thuộc tính của DataSet vào ADO.NET.

CaseSensitive: Được áp dụng để đưa hoặc đặt một cực hiếm cho biết liệu những đối chiếu chuỗi trong số đối tượng người tiêu dùng System.Data.DataTable tất cả tách biệt chữ hoa hoặc chữ thường xuyên hay không. Nó trả về true trường hợp những so sánh chuỗi là chữ hoa hoặc chữ hay, ngược lại là false (mang định là false).DefaultViewManager: Được áp dụng nhằm rất có thể coi được chế độ thiết lập cấu hình tài liệu có vào System.Data.Set để cho phép thanh lọc, tìm kiếm kiếm và điều hướng bằng phương pháp sử dụng System.Data.DataViewManager thiết lập cấu hình.DataSetName: Được thực hiện để đưa hoặc đặt lên của System.Data.DataSet hiện nay.EnforceConstraints: Được áp dụng để lấy hoặc đặt một cực hiếm cho biết thêm liệu các nguyên tắc buộc ràng đạt được tuân thủ theo đúng Khi triển khai bất kỳ thao tác update làm sao hay không.HasErrors: Được sử dụng nhằm thừa nhận một quý hiếm cho thấy liệu có lỗi trong bất cứ đối tượng người sử dụng DataTable như thế nào trong DataSet này hay là không.IsInitialized: Được áp dụng để nhận một cực hiếm cho thấy liệu DataSet dành được khởi tạo hay là không. Nó trả về true để cho thấy yếu tố đã được khởi chế tạo ra, ngược chở lại là false.Prefix: Được sử dụng để mang hoặc đặt một chi phí tố XML làm cho bí danh cho namespace System.Data.DataSet.Locale: Được áp dụng để đưa hoặc đặt báo cáo ngữ điệu cho câu hỏi so sánh các chuỗi vào bảng.Namespace: Được sử dụng để mang hoặc khắc tên namespace của System.Data.DataSet.Site: Được áp dụng dể đem hoặc thiết lập cấu hình một System.ComponentModel.ISite đến System.Data.DataSet.Relations: Được áp dụng để mang tập hợp các tình dục liên kết các bảng và cho phép điều phối từ bỏ bảng người mẹ sang trọng bảng nhỏ.Tables: Được thực hiện để đưa tập hợp các bảng có trong System.Data.DataSet.

Các cách tiến hành của DataSet vào ADO.NET.

Xem thêm: Hurdle Rate Là Gì - (Hurdle Rate) Là Gì

BeginInit(): Nó bắt đâu khởi tạo thành System.Data.DataSet được thực hiện trên một biểu mẫu mã hoặc được thực hiện bởi vì một component khác. Quá trình khởi chế tạo này xẩy ra tại thời khắc bước đầu chạy.Clear(): Xóa DataSet của bất kỳ tài liệu như thế nào, bằng phương pháp xóa tất cả các hàng trong toàn bộ những bảng.Clone(): Sao chxay kết cấu của DataSet, bao gồm tất cả các Schema, tình dục với buộc ràng DataTable. Nhưng ngược trở lại nó sẽ không còn xào luộc bất kỳ tài liệu làm sao.Copy(): Sao chéo cánh cả cấu tạo cùng tài liệu của DataSet được chọn.CreateDataReader(): Trả về một DataTableReader với cùng 1 tập công dụng cho mỗi DataTable, theo trình trường đoản cú giống như những bảng mở ra vào System.Data.DataSet.Tables.CreateDataReader(params DataTable<> dataTables): Trả về một System.Data.DataTableReader với 1 tập công dụng cho mỗi System.Data.DataTable.EndInit(): Nó xong xuôi Việc khởi tạo thành DataSet, được thực hiện bên trên một biễu mẫu mã hoặc được sử dụng vì chưng một component không giống.GetXml(): Trả về biểu diễn XML của dữ liệu được lưu trữ vào DataSet.GetXmlSchema(): Trả về Schema XML cho trình diễn XML của dữ liệu được tàng trữ trong DataSet.

4. So sánh giữa DataReader với DataSet vào C#

Trong phần này bản thân sẽ đưa ra một vài tác dụng của hai class vào C# ADO.NET đó là DataReader với DataSet, nhằm những bạn có thể đối chiếu với chắt lọc sử dụng trong các ngôi trường vừa lòng khác nhau.

Một vài tác dụng của DataSet.

​khi ý muốn lưu lại dữ liệu vào bộ nhớ đệm toàn cục vào ứng dụng của chính mình để bạn cũng có thể thao tác tài liệu.Lúc mong mỏi tương ảnh hưởng với dữ liệu, có nghĩa là buộc ràng dữ liệu cùng với điều khiển và tinh chỉnh winforms.khi ý muốn thao tác làm việc với architecture bị ngắt liên kết.

Một vài ba tính năng của DataReader.

Nếu mong muốn thêm một số trong những công dụng khác được đề cập sinh sống bên trên, thì cần thực hiện DataReader để triển khai đa dạng và phong phú vận dụng.DataReader chuyển động bên trên architecture liên kết, Tức là nó thưởng thức có kết nối mngơi nghỉ với đại lý dữ liệu.

5. lấy một ví dụ sử dụng DataSet trong C#

Trong ví dụ này bản thân vẫn lí giải rõ ràng công việc tạo nên và sử dụng một DataSet trong C# ADO.NET, các bạn chú ý theo dõi nhé.

Tạo bảng dữ liệu Customer.


// Tạo một bảng CustomerDataTable Customer = new DataTable("Customer");//Tạo các cột và những schemaDataColumn CustomerId = new DataColumn("ID", typeof(Int32));Customer.Columns.Add(CustomerId);DataColumn CustomerName = new DataColumn("Name", typeof(string));Customer.Columns.Add(CustomerName);DataColumn CustomerMobile = new DataColumn("Mobile", typeof(string));Customer.Columns.Add(CustomerMobile);//Thêm các hàng dữ liệu vào bảng CustomerCustomer.Rows.Add(101, "Van Quyen", "118001229");Customer.Rows.Add(202, "hoidapthutuchaiquan.vn", "1234567890");
Như các bạn sẽ thấy, mình đã chế tạo một DataTable cùng với thương hiệu là Customer. Sau đó sản xuất bố cột dữ liệu với thêm ba cột này vào bảng tài liệu Customer.

Cuối thuộc là chế tạo ra hai hàng dữ liệu với thêm hai hàng dữ liệu này vào bảng Customer. Vậy nên là họ sẽ tạo thành thành công xuất sắc bảng tài liệu Customer với ba cột với nhị hàng dữ liệu

Tạo bảng dữ liệu Orders.


// Tạo bảng OrdersDataTable Orders = new DataTable("Orders");//Tạo những cột và các schemaDataColumn OrderId = new DataColumn("ID", typeof(Int32));Orders.Columns.Add(OrderId);DataColumn CustId = new DataColumn("CustomerId", typeof(Int32));Orders.Columns.Add(CustId);DataColumn OrderAmount = new DataColumn("Amount", typeof(Int32));Orders.Columns.Add(OrderAmount); //Thêm những hàng dữ liệu vào bảng OrdersOrders.Rows.Add(10001, 101, 20000);Orders.Rows.Add(10002, 102, 30000);
Tương từ như bảng Customer, ngơi nghỉ bảng này ta cũng chế tác DataTable, tiếp nối chế tác các cột với hàng tài liệu rồi cung cấp bảng.

Tạo DataSet và DataTable.


//Tạo DataSetDataSet dataSet = new DataSet();//Thêm các DataTables vào DataSet.dataSet.Tables.Add(Customer);dataSet.Tables.Add(Orders);
Nlỗi đang nói ở vị trí trên, thì DataSet là 1 trong tập vừa lòng các DataTable. Vì vậy ta đề xuất sản xuất một đối tượng DataSet với kế tiếp thêm hai bảng tài liệu (Customer cùng Orders) vào DataSet.

Đưa dữ liệu vào DataTable từ bỏ DataSet.

Để gửi tài liệu vào DataTable từ bỏ DataSet ta hoàn toàn có thể thực hiện nhị bí quyết. Cách đầu tiên là sử dụng địa chỉ index để thể phân phối DataTable và cách thứ nhì là áp dụng thương hiệu bảng (Name).

Sử dụng địa chỉ index:


foreach (DataRow row in dataSet.Tables<0>.Rows) Console.WriteLine(row<"ID"> + ", " + row<"Name"> + ", " + row<"Mobile">);
Vì lần đầu tiên ta thêm bảng Customer vào DataSet phải vị trí index của nó bằng 0. Nếu hy vọng lặp lại tài liệu bảng quý khách thì rất có thể áp dụng vòng lặp foreach nhằm tái diễn.

Sử dụng tên bảng:


foreach (DataRow row in dataSet.Tables<"Orders">.Rows) Console.WriteLine(row<"ID"> + ", " + row<"CustomerId"> + ", " + row<"Amount">);
Ngoài biện pháp áp dụng địa điểm index như bên trên, ta còn rất có thể thực hiện tên của bảng nhằm thêm tài liệu vào bằng phương pháp áp dụng vòng lặp foreach.

Xem thêm: Hội Fa Là Gì ? Những Ý Trả Lời Mọi Câu Hỏi Về Fa Trên Facebook

Full Code.


using System;using System.Data;namespace ConsoleApp4 class Program static void Main(string<> args) try //chế tác mới một bảng có tên Customer DataTable Customer = new DataTable("Customer"); //chế tạo những cột cùng các schema của bảng DataColumn CustomerId = new DataColumn("ID", typeof(Int32)); Customer.Columns.Add(CustomerId); DataColumn CustomerName = new DataColumn("Name", typeof(string)); Customer.Columns.Add(CustomerName); DataColumn CustomerSmartphone = new DataColumn("Mobile", typeof(string)); Customer.Columns.Add(CustomerMobile); //thêm những sản phẩm dữ liệu vào bảng Customer Customer.Rows.Add(101, "Van Quyen", "118001229"); Customer.Rows.Add(202, "hoidapthutuchaiquan.vn", "1234567890"); //tạo ra new một bảng Orders DataTable Orders = new DataTable("Orders"); //tạo thành các cột vầ những schema của bảng DataColumn OrderId = new DataColumn("ID", typeof(Int32)); Orders.Columns.Add(OrderId); DataColumn CustId = new DataColumn("CustomerId", typeof(Int32)); Orders.Columns.Add(CustId); DataColumn OrderAmount = new DataColumn("Amount", typeof(Int32)); Orders.Columns.Add(OrderAmount); //thêm các mặt hàng dữ liệu vào bảng Orders Orders.Rows.Add(10001, 101, 20000); Orders.Rows.Add(10002, 102, 30000); //chế tạo mới một instance DataSet DataSet dataSet = new DataSet(); //thêm các datatable vào dataphối dataSet.Tables.Add(Customer); dataSet.Tables.Add(Orders); Console.WriteLine("Du lieu trong bang Customer: "); //áp dụng vòng lặp foreach nhằm thêm dữ liệu vào datatable bằng địa chỉ index foreach (DataRow row in dataSet.Tables<0>.Rows) Console.WriteLine(row<"ID"> + ", " + row<"Name"> + ", " + row<"Mobile">); Console.WriteLine(); Console.WriteLine("Du lieu vào bang Orders: "); //áp dụng vòng lặp foreach để thêm tài liệu vào datatable bởi tên bảng foreach (DataRow row in dataSet.Tables<"Orders">.Rows) Console.WriteLine(row<"ID"> + ", " + row<"CustomerId"> + ", " + row<"Amount">); catch (Exception e) Console.WriteLine("Co loi xay ra. " + e); Console.ReadKey();
Kết quả:

bởi thế là họ sẽ tò mò kết thúc về DataSet vào C# ADO.NET là gì? những nằm trong tính, cách thức cùng cách sử dụng nó. Ở bài xích tiếp theo mình đang liên tiếp trả lời cách thao tác cùng với SQL bởi DataSet, chúng ta lưu giữ để ý theo dõi nhé !!!