DataSet trong C#

DataSet trong C#

DataSet là một đối tượng trong C#, được các lập trình của Microsoft tạo ra để liên kết các table với nhau.

Nếu bạn đã từng nghiên cứu qua relationship trong Access, relationship  SQL Server thì khi tạo 1 relationship bạn cần thêm các table vào để hình thành nên 1 relationship trong đó có nhiều table.

Trong lập trình hướng đối tượng C# có đối tượng DataSet giống nhưng relationship của Access hay SQL Server, My SQL , nhưng nó xử lý trên bộ nhớ RAM, giúp tạo ra các liên kết các cột giữa các table với nhau.

Cấu trúc của DataSet và DataTable


  // khai báo biến dt kiểu DataTable
 DataTable dtLop = new DataTable();
 dtLop.TableName = "lop";

 // thêm cột vào biến dtLop
 dtLop.Columns.Add("MaLop", typeof(int));
 dtLop.Columns.Add("TenTop", typeof(string));
 // thêm giá trị vào biến DataTable cách 1
 DataTable dtHocSinh = new DataTable();
 // thêm cột vào biến dtHocSinh
 dtHocSinh.Columns.Add("MaHocSinh", typeof(int));
 dtHocSinh.Columns.Add("TenHocSinh", typeof(string));
 dtHocSinh.Columns.Add("MaLop", typeof(int));
 dtHocSinh.TableName = "hocsinh";

 // khai báo biến DataSet chèn vào dtLop và dtHocSinh vào
 DataSet ds = new DataSet();
 ds.Tables.Add(dtHocSinh);
 ds.Tables.Add(dtLop);

 //Tạo liên kết, bước này giống với tạo liên kết 2 cột trong Access, SQL Server
 // DataRelation ("tên", cột khóa chính, cột khóa phụ
 DataRelation relation = new DataRelation("Lop_LienKet",
 dtLop.Columns["MaLop"] ,dtHocSinh.Columns["MaLop"]);
 ds.Relations.Add(relation);

 // Thêm dữ liệu vào dtLop
 dtLop.Rows.Add(1, "Lop A");
 dtLop.Rows.Add(2, "Lop B");

 // Thêm dữ liệu vào dtHocSinh
 dtHocSinh.Rows.Add(1, "Tran Van A",1);
 dtHocSinh.Rows.Add(2, "Tran Van A", 2);

 // Chạy qua đoạn cocde trên ta debug và xem lại dtHocSinh lớp 1 có chuyển thành lớp=4 ko
 dtLop.Rows[0]["MaLop"] = 4;

Khi lập trình C# lấy dữ liệu từ SQL Server thì tự động tạo ra DataSet

Ví dụ câu SQL truyền vào có 2 dòng select:
Select * From A;Select * From B thì khi đó C# tự tạo ra 1 DataSet chưa 2 table này.