Hướng dẫn sử dụng DataSet để xử lý kết quả kết hợp với Data Adapter
Số trang: 17
Loại file: docx
Dung lượng: 96.69 KB
Lượt xem: 6
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Ở bài trước bạn đã biết cách xử lý và hiện kết quả ra màn hình dùng Data Reader. Chú ý rằng : nếu chỉ muốn xem thông tin thì dùng Data Reader. Bài này hướng dẫn sử dụng DataSet để xử lý kết
Nội dung trích xuất từ tài liệu:
Hướng dẫn sử dụng DataSet để xử lý kết quả kết hợp với Data AdapterỞ bài trước bạn đã biết cách xử lý và hiện kết quả ra màn hình dùng Data Reader. Chú ýrằng : nếu chỉ muốn xem thông tin thì dùng Data Reader.Bài này hướng dẫn sử dụng DataSet để xử lý kết quả kết hợp với DataAdapter. Không giốngvới DataReader, tạo ra các đối tượng dùng interface System.DataIDataReader, thì DataSet làmột thành phần đặc trưng của ADO.NET được sử dụng bởi tất cả các nhà cung cấp dữ liệu(data provider). Dataset có thể hoàn toàn độc lập và sử dụng khi kết nối hoặc ngắt kết nốikhỏi nguồn. Mục đích cơ bản của DataSet là cung cấp xử lý xem xét dữ liệu lưu trữ trongmột ‘memory cache’. Nếu như một DataSet không kết nối tới cơ sở dữ liệu thì làm sao mà xửlý dữ liệu và save lại vào database ? Đây là lí do mà DataAdapter ra đời. Hãy nghĩ DataAdapterchính là một chiếc cầu nối giữa DataSet và Data Source. Nếu không có một DataAdapter nàothì DataSet không thể truy cập bất cứ DataSource nào. DataAdapter đảm bào việc kết nối vàtruyền thông tin cho DataSet.Tìm hiểu về ObjectModelĐầu tiên thì mình đưa ra một số so sánh giữa DataSet và DataReader nhé, để các bạn tránh hayhỏi nhiều về việc : Lúc nào thì xài DataSet và lúc nào thì xài DataReader, giống và khác nhaunhư thế nào ?So sánh DataSet và DataReaderNếu bạn đơn giản chi muốn lấy dữ liệu và trình bày nó ra thôi thì dùng DataReader. Đặc biệttrườ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òngkết quả dữ liệu, bạn muốn tốc độ đọc nhanh và trình bày nhanh thì DataReader được sử dụngcho mục đích này, NHANH và TIỆN LỢI, cho việc ĐỌC dữ liệu.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ụngDataSet. DataAdapter lấp đầy (fill) dữ liệu vào DataSet bằng cách sử dụng một DataReader,thêm vào đó resource cần được lưu trữ vào để sử dụng khi ngắt kết nối. Vì vậy việc sử dụngDataSet 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 sửdụng thành phần nào thì tốt, tránh lạm dụng quá. Nếu như bạn muốn đọc dữ liệu và viết radưới dạng XML, hoặc export database schema, viết lại db dưới dạng XML,…. thì nên sửdụng DataReader.Giới thiệu sơ qua về DataSetDataSet trong ADO.NET 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ệ. 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.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 ‘localcache’, 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. Saukhi 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 trữ dưới dạng một Collection các Tables và bạn 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.Giới thiệu về DataAdapterBạn chỉ cần tưởng tượng rằng : bạn có một cái bể nước (DataSource) , một cái máy bơm(DataAdapter) và một cái thùng đựng nước (DataSet). Thì khi lấy nước dùng cái bơm lấynước từ bể, kiểm tra và lọc nước sau đó lại dùng cái bơm hút lại về cái bể nước. Đó chính làvai trò của cái bơm và DataAdapter tương tự như vậy. ^_^! Giải thích hơi chuối. :DTương quan 3 lớp như thế này :Có 4 cách tạo DataAdapter :[code]// Cách 1 : Đơn giản chỉ khai báo tạo đối tượng AdapterSqlDataAdapter da = new SqlDataAdapter();// Cách 2 : Thiết lập đối tượng SqlCommandSqlDataAdapter da = new SqlDataAdapter(cmd);// Cách 3 : Thiết lập query và đối tượng SqlConnectionSqlDataAdapter da = new SqlDataAdaoter(sql, conn);// Cách 4 : Thiết lập query và mệnh lệnh thực thiSqlDataAdapter da = new SqlDataAdapter(sql, connString);Giới thiệu về DataTable và thành phần kèmNằm trong lớp : System.Data.DataTable. Có cấu trúc theo cấu trúc của bảng trong cơ sở dữliệu gồm các hàng và cột nên có 2 thành phần kèm theo là : DataRow và DataColumnDataRow sẽ là tập hợp các cột (record-set)DataColumn là tập hợp các hàng cùng một đặc tính. (Field)Ví dụ :[code]DataTable dt = new DataTable();DataColumn col = dt.Columns[“Contact”]; // Cột ContactDataColumn col = dt.Columns[2];DataRow row = dt.Rows[2];[/code]Vậy là đủ giới thiệu qua. Bây giờ vào vấn đề chính nào.Làm việc với DataSet và DataAdapterTạo một dataset :[code]DataSet ds = new DataSet();DataSet ds = new DataSet(“DataSet Name”);[/code]Nếu bạn dùng cách 1 thì theo mặc định DataSet sẽ có tên là “NewDataSet”, cách thứ 2 là bạnđặt tên luôn cho DataSet bên trong constructor. Hoặc bạn có thẻ thay đổi tên của DataSet bằngthuộc tính ‘DataSetName’Có nhiều cách xử lý với DataSet như • Sử dụng thông qua Adapter • Đọc từ một tài liệu XMLCách thứ 2 đễ lúc khác nhé. Làm cơ bản trước đã.Thử xử lý dữ liệu bằng một ví dụ :[code]using System;using System.Data;using System.Data.SqlClient;namespace MSSQL_Server{ class Database { static ...
Nội dung trích xuất từ tài liệu:
Hướng dẫn sử dụng DataSet để xử lý kết quả kết hợp với Data AdapterỞ bài trước bạn đã biết cách xử lý và hiện kết quả ra màn hình dùng Data Reader. Chú ýrằng : nếu chỉ muốn xem thông tin thì dùng Data Reader.Bài này hướng dẫn sử dụng DataSet để xử lý kết quả kết hợp với DataAdapter. Không giốngvới DataReader, tạo ra các đối tượng dùng interface System.DataIDataReader, thì DataSet làmột thành phần đặc trưng của ADO.NET được sử dụng bởi tất cả các nhà cung cấp dữ liệu(data provider). Dataset có thể hoàn toàn độc lập và sử dụng khi kết nối hoặc ngắt kết nốikhỏi nguồn. Mục đích cơ bản của DataSet là cung cấp xử lý xem xét dữ liệu lưu trữ trongmột ‘memory cache’. Nếu như một DataSet không kết nối tới cơ sở dữ liệu thì làm sao mà xửlý dữ liệu và save lại vào database ? Đây là lí do mà DataAdapter ra đời. Hãy nghĩ DataAdapterchính là một chiếc cầu nối giữa DataSet và Data Source. Nếu không có một DataAdapter nàothì DataSet không thể truy cập bất cứ DataSource nào. DataAdapter đảm bào việc kết nối vàtruyền thông tin cho DataSet.Tìm hiểu về ObjectModelĐầu tiên thì mình đưa ra một số so sánh giữa DataSet và DataReader nhé, để các bạn tránh hayhỏi nhiều về việc : Lúc nào thì xài DataSet và lúc nào thì xài DataReader, giống và khác nhaunhư thế nào ?So sánh DataSet và DataReaderNếu bạn đơn giản chi muốn lấy dữ liệu và trình bày nó ra thôi thì dùng DataReader. Đặc biệttrườ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òngkết quả dữ liệu, bạn muốn tốc độ đọc nhanh và trình bày nhanh thì DataReader được sử dụngcho mục đích này, NHANH và TIỆN LỢI, cho việc ĐỌC dữ liệu.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ụngDataSet. DataAdapter lấp đầy (fill) dữ liệu vào DataSet bằng cách sử dụng một DataReader,thêm vào đó resource cần được lưu trữ vào để sử dụng khi ngắt kết nối. Vì vậy việc sử dụngDataSet 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 sửdụng thành phần nào thì tốt, tránh lạm dụng quá. Nếu như bạn muốn đọc dữ liệu và viết radưới dạng XML, hoặc export database schema, viết lại db dưới dạng XML,…. thì nên sửdụng DataReader.Giới thiệu sơ qua về DataSetDataSet trong ADO.NET 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ệ. 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.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 ‘localcache’, 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. Saukhi 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 trữ dưới dạng một Collection các Tables và bạn 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.Giới thiệu về DataAdapterBạn chỉ cần tưởng tượng rằng : bạn có một cái bể nước (DataSource) , một cái máy bơm(DataAdapter) và một cái thùng đựng nước (DataSet). Thì khi lấy nước dùng cái bơm lấynước từ bể, kiểm tra và lọc nước sau đó lại dùng cái bơm hút lại về cái bể nước. Đó chính làvai trò của cái bơm và DataAdapter tương tự như vậy. ^_^! Giải thích hơi chuối. :DTương quan 3 lớp như thế này :Có 4 cách tạo DataAdapter :[code]// Cách 1 : Đơn giản chỉ khai báo tạo đối tượng AdapterSqlDataAdapter da = new SqlDataAdapter();// Cách 2 : Thiết lập đối tượng SqlCommandSqlDataAdapter da = new SqlDataAdapter(cmd);// Cách 3 : Thiết lập query và đối tượng SqlConnectionSqlDataAdapter da = new SqlDataAdaoter(sql, conn);// Cách 4 : Thiết lập query và mệnh lệnh thực thiSqlDataAdapter da = new SqlDataAdapter(sql, connString);Giới thiệu về DataTable và thành phần kèmNằm trong lớp : System.Data.DataTable. Có cấu trúc theo cấu trúc của bảng trong cơ sở dữliệu gồm các hàng và cột nên có 2 thành phần kèm theo là : DataRow và DataColumnDataRow sẽ là tập hợp các cột (record-set)DataColumn là tập hợp các hàng cùng một đặc tính. (Field)Ví dụ :[code]DataTable dt = new DataTable();DataColumn col = dt.Columns[“Contact”]; // Cột ContactDataColumn col = dt.Columns[2];DataRow row = dt.Rows[2];[/code]Vậy là đủ giới thiệu qua. Bây giờ vào vấn đề chính nào.Làm việc với DataSet và DataAdapterTạo một dataset :[code]DataSet ds = new DataSet();DataSet ds = new DataSet(“DataSet Name”);[/code]Nếu bạn dùng cách 1 thì theo mặc định DataSet sẽ có tên là “NewDataSet”, cách thứ 2 là bạnđặt tên luôn cho DataSet bên trong constructor. Hoặc bạn có thẻ thay đổi tên của DataSet bằngthuộc tính ‘DataSetName’Có nhiều cách xử lý với DataSet như • Sử dụng thông qua Adapter • Đọc từ một tài liệu XMLCách thứ 2 đễ lúc khác nhé. Làm cơ bản trước đã.Thử xử lý dữ liệu bằng một ví dụ :[code]using System;using System.Data;using System.Data.SqlClient;namespace MSSQL_Server{ class Database { static ...
Tìm kiếm theo từ khóa liên quan:
Hướng dẫn sử dụng DataSet Data Adapter tìm hiểu về obiect Model xử lý dữ liệuTài liệu liên quan:
-
69 trang 192 0 0
-
Bài giảng Thiết kế thí nghiệm và xử lý dữ liệu với phần mềm SAS - Đỗ Đức Lực
54 trang 87 0 0 -
Giáo trình Điện toán đám mây (Xuất bản lần thứ hai): Phần 1
64 trang 66 0 0 -
Giáo trình- Tin học chuyên ngành trong chăn nuôi và thú y
104 trang 58 0 0 -
Bài giảng Kiến trúc của hệ vi xử lý
256 trang 45 0 0 -
Bài giảng Nhập môn Tin học 2 - Chương 10: Xử lý dữ liệu
56 trang 36 0 0 -
Đề xuất thuật toán phân loại văn bản tiếng Việt sử dụng mạng LSTM và Word2vec
13 trang 35 0 0 -
Giáo trình- Tin học chuyên ngành trong chăn nuôi và thú y-chương 2
26 trang 34 0 0 -
Bài giảng Tin học đại cương: Bài 1 - Bùi Trọng Tùng
79 trang 33 0 0 -
Lập trình PLC và điều khiển logic: Phần 2
128 trang 28 0 0