Thursday, November 27, 2014

Hướng dẫn làm việc với DataReader và DataAdapter




DataReader thật sự là một đối tượng dọc dữ liệu tức thời từ CSDL. Dữ liệu chứa trên DataReader có tính chỉ đọc (ReadOnly) và khi duyệt trên DataReader chỉ có thể duyệt theo chiều tới (ForwardOnly). Một DataReader được tạo ra bằng cách thực hiện phương thức ExecuteReader của đối tượng Command.

DataReaderDataReader hỗ trợ về mặt tốc độ khi truy cập dữ liệu, tuy nhiên nó sử dụng cursor ở phía Server và kết nối với Server trong suốt quá trình đọc dữ liệu. Việc này khác với cơ chế sử dụng Disconnect data của ADO.NET và giảm khả năng mở rộng của ứng dụng. Vì vậy, khi đã có một đối tượng DataReader, cần phải tiến hành việc đọc dữ liệu càng nhanh càng tốt.Sử dụng Connection kết nối với Command và DataReader là một cách được coi là “low level” của ADO.NET để thao tác với dữ liệu.ADO.NET cung cấp DataReader là một kết hợp của Connection với các Command giúp kết nối DataSet với database trên Server.



DataAdapterDataAdapter được ADO.NET cung cấp như một công cụ giúp kết nối dữ liệu của một table trong DataSet với database trên Server.




DataAdapterHình trên mô tả mô hình phân cấp các class của DataAdapter, cả SQLDataAdapter và OleDBDataAdapter đều thừa kế từ class DbDataAdapter, DbDataAdapter lại thừa kế từ abstract class DataAdapter, đến lượt abstract class này lại implement IdataAdapter interface để hỗ trợ hai phương thức Fill và Update.

Để lấy dữ liệu cho một table trong DataSet, sử dụng phương thức Fill(), để cập nhật dữ liệu cho DataSet, sử dụng phương thức Update().

Để đọc dữ liệu, DataAdapter cùng SELECT query thông qua thuộc tính SelectCommand. Để cập nhật dữ liệu, DataAdapter dùng các câu truy vấn UPDATE, INSERT, DELETE thông qua các thuộc tính UpdateCommand, InsertCommand và DeleteCommand.

Ngoài Fill và Update, DataAdapter còn kế thừa thuộc tính TableMappings giúp cung cấp cho người dùng các tên table và tên column dễ đọc hơn các tên thực được sử dụng trong Database.

Trong các đối tượng Command của DataAdapter, chỉ có đối tượng SelectCommand là bắt buộc, các đối tượng còn lại đều có thể tự động được phát sinh. Các bước thường thấy khi sử dụng DataAdapter như sau :
• Tạo một đối tượng DataAdapter.
• Tạo Select query cho đối tượng SelectCommand.
• Tạo ConnectionString cho đối tượng Connection của DataAdapter.
• (Có hoặc không) Tạo các đối tượng Command cập nhật dữ liệu.
• Gọi phương thức Fill() để lấy dữ liệu cho một DataSet.
• Gọi phương thức Update() của DataAdapter để cập nhật dữ liệu từ DataSet.

Video hướng dẫn:


Lưu ý: Có thể mình code hơi chậm, nên nhìn hơi khó, và các bạn nên để chế độ xem HD để nhìn tốt hơn. Với những bạn mới bắt đầu, nên code theo để quen hơn. Chúc các bạn may mắn.





No comments:

Post a Comment