Sqldataadapter là gì

  -  

OleDbDataAdapter. Bộ nhớ. Thiết bị lưu trữ. OleDbConnection. OleDbDataAdapter. OleDbConnection. OleDb Server OleDb Database.Bạn đang xem: Sqldataadapter là gì

DataSet là một bước phát triển lớn trong việc phát triển ứng dụng cơ sở dữ liệu đa hệ. Và đối tượng này có mối quan hệ gì với DataTable? Hôm nay hãy cùng Blog ATP Academy tìm hiểu Dataset là gì ngay nhé. 

Dataset là gì?

DataSet là một bước phát triển lớn trong việc phát triển phần mềm cơ sở dữ liệu đa hệ. Khi lấy và chỉnh sửa dữ liệu, duy trì liên tục kết nối tới Data Source trong khi chờ user yêu cầu thì rõ ràng là tốn tài nguyên máy rất nhiều.

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

DataSet giúp ích ở đây rất lớn vì DataSet cho phép lưu trữ dữ liệu và chỉnh sửa tại ‘local cache’, hay gọi là offline mode. Có thể xem xét và xử lý thông tin trong khi ngắt kết nối. Một khi chỉnh sửa và xem xong thì tạo một kết nối và update dữ liệu từ local vào Data Source.Dữ liệu trong DataSet được lưu giữ dưới dạng một Collection các Tables và bạn phải cần phải xử lý thông qua các lớp DataTable -> DataRow và DataColumn. Bảng dưới đây là kiến trúc DataSet:


*

*

Table Groups:

GroupIDGroupName
1Member
2Moderator
3Super Moderator
4Admin

Table Us

UserIDUserNameGroupID
1Adon1
2Akuma2
3Balrog1
4Bison1
5Blanka3
6Cammy1
7ChunLi1
8Cod4
9Dan1
10DeeJay1

Nạp dữ liệu vào DataSet từ database

Phương thức sau sẽ liên kết đến database SQL Server, sau đấy nạp hai table User và nhóm vào DataSet. Khi làm VD, bạn hãy sửa chuỗi kết nối theo máy bạn và tạo các table tương ứng.

Thay vì Fill() vào DataSet, bạn có thể dùng Fill(DataTable) để làm ra một DataTable mới, sau đó chèn vào DataSet:

var table=new DataTable("Group");dataAdapter.Fill(table);dataSet.Tables.Add(table);Một số tên table có thể trùng với từ khóa mà SQL dùng (ví dụ: User), mặc dù việc này ít khi xuất hiện tuy nhiên bạn sẽ đề phòng trước bẳng cách dùng quy tắc đặt tên như sử dụng tiền tố, đặt tên theo danh từ số nhiều,…

Ngoài cách nạp dữ liệu từ datatable, bạn cũng có thể tạo dữ liệu động cho DataTable thông qua các collection Columns và Rows. Phần sau sẽ giới thiệu về cách thực hiện này.

Xem thêm: Hướng Dẫn Tra Cứu Cầu Thủ Fo4 Trong Fifa Online 4, Hướng Dẫn Tra Cứu Cầu Thủ Fo4

Tạo dữ liệu động cho DataTable

Kiểu dữ liệu DataColumn chứa đầy đủ các property quan trọng để bạn làm ra một mô hình dữ liệu đầy đủ cho DataTable. Ta có thể tạo một column dùng làm ID với chỉ số tự động tăng bắt đầu từ 1, không cho phép null và là duy nhất như sau:

DataColumn col = new DataColumn("ID", typeof(int));col.AllowDBNull = false;col.AutoIncrement = true;col.AutoIncrementSeed = 1;col.Unique = true;Các DataColumn quan trọng phải có hai thông tin là tên và kiểu dữ liệu. Khi đã có một DataTable rỗng, hoạt động thêm các DataColumn vào rất dễ dàng. VD sau tạo một DataTable với tên Persons với ba column là ID, Name và Birthday cùng với kiểu dữ liệu tương ứng là int, string và DateTime:

DataTable table = new DataTable("Persons");DataColumn col = new DataColumn("ID", typeof(int));col.AllowDBNull = false;col.AutoIncrement = true;col.AutoIncrementSeed = 1;col.Unique = true;table.Columns.Add(col);table.Columns.Add("Name", typeof(string));table.Columns.Add("Birthday", typeof(DateTime));DataTable của chúng ta vẫn là rỗng vì chưa có dữ liệu (chỉ có mô hình dữ liệu). Để tạo một DataRow ta cần gọi phương thức DataTable.NewRow(). Cách làm này trả về một DataRow với các ô chứa dữ liệu tương ứng với các cột của DataTable. Hoạt động thêm dữ liệu cũng rất dễ dàng, phụ thuộc vào hai overload của DataRowCollection.Add() như bạn thấy dưới đây:

DataRow newRow = table.NewRow();newRow = 1; // remove this linenewRow = "Boo";newRow = new DateTime(1990,3,4);table.Rows.Add(newRow);table.Rows.Add(null, "Bee", new DateTime(1989, 5, 3));Một đoạn code nhỏ để in ra kết quả:

foreach (DataRow row in table.Rows) Console.WriteLine("ID=0, Name=1, Birthday=2", row, row, row);Output:

Như bạn thấy cột ID tự động tăng, ngay cả khi bạn xóa bỏ dòng gán newRow = 1.

So sánh DataSet và DataReader

Nếu bạn đơn giản chỉ muốn thu thập dữ liệu và trình bày nó ra thôi thì sử dụng DataReader. Đáng chú ý trường hợp mà bạn đọc với một số lượng lớn dữ liệu, ví như là vòng lặp tới hàng triệu dòng kết quả dữ liệu, bạn mong muốn tốc độ đọc nhanh và trình bày nhanh thì DataReader được dùng cho mục đích này, NHANH và TIỆN LỢI, cho việc ĐỌC dữ liệu.

Xem thêm: 9 Loại Ống Luồn Dây Điện Tiếng Anh Là Gì, Ống Ruột Gà Tiếng Anh Là Gì

Nếu bạn muốn chỉnh sử dữ liệu rồi update thông tin dữ liệu lại database thì bạn sử dụng DataSet. DataAdapter lấp đầy (fill) dữ liệu vào DataSet bằng việc sử dụng một DataReader, thêm vào đấy resource cần được lưu giữ vào để dùng khi ngắt kết nối. Do đó việc sử dụng DataSet tốn nhiều tài nguyên hơn DataReader rất nhiều, bạn cần cân nhắc ở đây lúc nào dùng thành phần nào thì tốt, tránh lạm dụng quá. Nếu bạn muốn đọc dữ liệu và viết ra dưới dạng XML, hoặc export database schema, viết lại db dưới dạng XML,…. thì nên dùng DataReader.

TỔNG KẾT

Trên đây là những chia sẻ toàn bộ về Dataset là gì, hy vọng những chia sẻ trên giúp ích được cho bạn. 

Chúc bạn thực hiện thành công nha!

Ngoài ra, chúng tôi dành tặng bộ tài liệu Tổng hợp kiến thức về Code Web và Digital Marketing nếu bạn cần tư vấn thêm hãy để lại SĐT hoặc Email mình sẽ gửi ngay cho nhé!!