2011-08-14 41 views

Trả lời

34

Nhanh chóng,

  • một DataReader là một tiền đạo chỉ lặp trên một tập hợp các kết quả. Nó thường là cách hiệu quả nhất để đối phó với hồ sơ khi bạn không cần truy cập ngẫu nhiên (nói cách khác bạn không thể đi ngược lại). Đó là "khả năng mở rộng" cho bất kỳ số lượng hồ sơ nào, ít nhất là về áp lực bộ nhớ, vì nó chỉ tải một bản ghi tại một thời điểm. Một cách điển hình để lấy DataReader là sử dụng phương thức ExecuteReader của DbCommand.

  • một Số liệu đại diện cho một tập hợp các đối tượng DataTable. Thường xuyên hơn không, nó sẽ chỉ chứa một bảng, nhưng nếu bạn thực hiện một truy vấn với nhiều câu lệnh SELECT, thì Tập dữ liệu sẽ chứa một bảng cho mỗi bảng. Bởi vì đây là một biểu diễn trong bộ nhớ, bạn phải cẩn thận về lượng dữ liệu bạn đưa vào một Số liệu. Bạn có thể "Điền" một Số liệu bằng cách sử dụng phương thức Fill của một DataAdapter.

  • một DataAdapter là một loại "ống" mà dữ liệu kênh từ một công cụ DB vào một Số liệu. Đó là lý do tại sao bạn sẽ có một triển khai DataAdapter cho mỗi kiểu nhà cung cấp DB. Một DataSet, nhiều nhà cung cấp.

  • một DataView giống như một tập con ảo của một DataTable.

2

Tôi đề nghị bạn đọc tài liệu MSDN hoặc có thể mua sách. Đây là câu trả lời ngắn:

  • Tập dữ liệu là biểu diễn trong bộ nhớ của cấu trúc giống như cơ sở dữ liệu. Nó có thể có một hoặc nhiều datatables và xác định mối quan hệ giữa chúng, trường khóa, vv
  • Một datatable là một đại diện trong bộ nhớ của một bảng cơ sở dữ liệu duy nhất. Bạn có thể nghĩ về nó như có các cột và hàng theo cùng một cách.
  • Một dataview là một dạng xem trên một datatable, một chút giống như một xem sql. Nó cho phép bạn lọc và sắp xếp các hàng - thường để liên kết với điều khiển biểu mẫu cửa sổ.
0

DataReader

DataReader giống như một recordset về phía trước mà thôi. Nó lấy một hàng tại một thời điểm vì vậy chi phí mạng rất ít so sánh với DataSet (Fethces tất cả các hàng tại một thời điểm). DataReader là chỉ đọc vì vậy chúng tôi không thể thực hiện bất kỳ giao dịch nào trên chúng. DataReader sẽ là lựa chọn tốt nhất mà chúng tôi cần hiển thị dữ liệu cho người dùng không yêu cầu giao dịch. Vì DataReader chỉ chuyển tiếp nên chúng tôi không thể tìm nạp dữ liệu một cách ngẫu nhiên. Nhà cung cấp dữ liệu .NET tối ưu hóa trình quản lý dữ liệu để xử lý lượng dữ liệu khổng lồ.

Số liệu

Số liệu là đại diện bộ nhớ của một đối tượng Cơ sở dữ liệu bao gồm các bảng của lược đồ cơ sở dữ liệu quan hệ. Số liệu luôn là một đối tượng cồng kềnh đòi hỏi nhiều không gian bộ nhớ so với DataReader. Chúng ta có thể nói rằng DataSet là một cơ sở dữ liệu nhỏ vì nó lưu trữ lược đồ và dữ liệu trong vùng bộ nhớ ứng dụng. DataSet lấy tất cả dữ liệu từ nguồn dữ liệu tại một thời điểm đến vùng bộ nhớ của nó. Vì vậy, chúng ta có thể duyệt qua đối tượng để lấy dữ liệu cần thiết như truy vấn cơ sở dữ liệu.

5

DataReader

DataReader được sử dụng để đọc dữ liệu từ cơ sở dữ liệu và nó là một đọc và chuyển tiếp chỉ kiến ​​trúc hướng kết nối trong khi tải dữ liệu từ cơ sở dữ liệu. DataReader được sử dụng để lặp qua resultset đến từ máy chủ và nó sẽ đọc một bản ghi tại một thời điểm vì tiêu thụ bộ nhớ đó sẽ ít hơn và nó sẽ tìm nạp dữ liệu rất nhanh khi so sánh với tập dữ liệu. Nói chung chúng ta sẽ sử dụng đối tượng ExecuteReader để liên kết dữ liệu với bộ dữ liệu.

DataSet

DataSet là một kiến ​​trúc định hướng bị ngắt kết nối đó có nghĩa là không có nhu cầu kết nối hoạt động trong khi làm việc với các tập dữ liệu và nó là một tập hợp các DataTables và quan hệ giữa các bảng. Nó được sử dụng để giữ nhiều bảng với dữ liệu. Bạn có thể chọn các bảng biểu mẫu dữ liệu, tạo các khung nhìn dựa trên bảng và hỏi các hàng con trên các quan hệ. Ngoài ra, DataSet cung cấp cho bạn các tính năng phong phú như lưu dữ liệu dưới dạng XML và tải dữ liệu XML.

DataAdapter

DataAdapter sẽ hoạt động như một cầu nối giữa DataSet và cơ sở dữ liệu. Đối tượng dataadapter này được sử dụng để đọc dữ liệu từ cơ sở dữ liệu và liên kết dữ liệu đó với tập dữ liệu. Dataadapter là một kiến ​​trúc được định hướng bị ngắt kết nối.

0

Difference between DataReader, DataSet and DataAdapter?

DataReader:

  • kết nối kiến ​​trúc hướng.
  • DataReader được sử dụng để đọc dữ liệu từ cơ sở dữ liệu và nó là kiến ​​trúc hướng kết nối chỉ đọc và chuyển tiếp trong khi tìm nạp dữ liệu từ databaset.
  • DataReader được sử dụng để lặp qua bộ kết quả đến từ máy chủ và nó sẽ đọc một bản ghi tại một thời điểm, đó là lý do tại sao mức tiêu thụ bộ nhớ sẽ ít hơn và sẽ tìm nạp dữ liệu rất nhanh khi so sánh với Số liệu. Nói chung, chúng tôi sẽ sử dụng đối tượng ExecuteReader để liên kết dữ liệu với DataReader.

DataSet:

  • kiến ​​trúc ngắt kết nối. Điều này có nghĩa là không cần kết nối hoạt động mà chúng ta đang làm việc với các tập dữ liệu và nó là tập hợp các dữ liệu và quan hệ giữa các bảng. Nó được sử dụng để giữ nhiều bảng với dữ liệu.
  • Bạn có thể chọn dữ liệu từ bảng và chế độ xem. Ngoài ra, DataSet cung cấp cho bạn các tính năng phong phú như lưu dữ liệu dưới dạng XML và tải dữ liệu XML.

DataAdapter:

  • kiến ​​trúc ngắt kết nối.
  • DataAdapter sẽ hoạt động như một cầu nối giữa DataSet và cơ sở dữ liệu.
  • Đối tượng DataAdapter này được sử dụng để đọc dữ liệu từ cơ sở dữ liệu và liên kết dữ liệu đó với tập dữ liệu.

Read more Interview Questions on Dot Net here.

Các vấn đề liên quan