Lập trình ứng dụng quản lý - chương 5 - ADO.NET pdf

8 381 1
Lập trình ứng dụng quản lý - chương 5 - ADO.NET pdf

Đang tải... (xem toàn văn)

Thông tin tài liệu

29/09/2010 1 Lập Trình Ứng Dụng Quản Lý 1 Chương 5: ADO.NET GV. Trương Phước Lộc Khoa CNTT-ĐH.KHTN 1. GIỚI THIỆU ADO.NET 2 ThS. Nguyễn Tấn Trần Minh KhangGV. Trương Phước Lộc Khoa CNTT-ĐH.KHTN 2. KIẾN TRÚC ADO.NET 3 ThS. Nguyễn Tấn Trần Minh KhangGV. Trương Phước Lộc Khoa CNTT-ĐH.KHTN 2. KIẾN TRÚC ADO.NET 4 ThS. Nguyễn Tấn Trần Minh KhangGV. Trương Phước Lộc Khoa CNTT-ĐH.KHTN 2. KIẾN TRÚC ADO.NET • Kiến trúc của ADO.NET bao gồm 2 phần chính: ▫ Managed Provider Component. ▫ Content Component 5 ThS. Nguyễn Tấn Trần Minh KhangGV. Trương Phước Lộc Khoa CNTT-ĐH.KHTN 2. KIẾN TRÚC ADO.NET • Kiến trúc của ADO.NET bao gồm 2 phần chính: ▫ Managed Provider Component: gồm các lớp đối tượng:  DataAdapter  DataReader  … ▫ Managed Provider Component: giữ nhiệm vụ làm việc trực tiếp với dữ liệu như Cơ Sở Dữ Liệu, Tập Tin,… ▫ Lớp đối tượng DataReader giúp truy cập dữ liệu nhanh chóng. ▫ Lớp DataAdapter hỗ trợ việc kết nối giữa DataSet và CSDL. 6 ThS. Nguyễn Tấn Trần Minh KhangGV. Trương Phước Lộc 29/09/2010 2 Khoa CNTT-ĐH.KHTN 2. KIẾN TRÚC ADO.NET • Kiến trúc của ADO.NET bao gồm 2 phần chính: ▫ Content Component: gồm các lớp đối tượng:  DataSet  DataTable  … ▫ Content Component: đại diện cho dữ liệu thật sự cần làm việc. ▫ Dataset được xem như là bản sao gọn nhẹ của CSDL trong bộ nhớ với nhiều bảng và các mối quan hệ giữa các bảng. 7 ThS. Nguyễn Tấn Trần Minh KhangGV. Trương Phước Lộc Khoa CNTT-ĐH.KHTN 2. KIẾN TRÚC ADO.NET 8 ThS. Nguyễn Tấn Trần Minh KhangGV. Trương Phước Lộc MỘT GÓC NHÌN KHÁC VỀ KIẾN TRÚC ADO.NET Khoa CNTT-ĐH.KHTN 2. KIẾN TRÚC ADO.NET 9 ThS. Nguyễn Tấn Trần Minh KhangGV. Trương Phước Lộc Khoa CNTT-ĐH.KHTN 2. KIẾN TRÚC ADO.NET • Kiến trúc của ADO.NET bao gồm 2 phần chính: ▫ Managed Provider Component: Phần kết nối: phần này sử dụng khi ta kết nối với Database và thao tác dữ liệu, yêu cầu phải thực hiện kết nối với Database khi đang thao tác. Các đối tượng của phần này là: ▫ Command: Đối tượng thực hiện các câu lệnh tương tác truy vấn, rút trích dữ liệu từ database khi đã thiết lập kết nối tới dữ liệu và trả về kết quả. Tương tự như Connection, Command cũng có 2 dạng tuỳ theo nguồn dữ liệu là gì (OleDb hay SQL Server) đó là OleDbCommand và SqlCommand. 10 ThS. Nguyễn Tấn Trần Minh KhangGV. Trương Phước Lộc Khoa CNTT-ĐH.KHTN 2. KIẾN TRÚC ADO.NET • Kiến trúc của ADO.NET bao gồm 2 phần chính: ▫ DataReader: Đối tượng xử lý đọc dữ liệu, được thiết kế phù hợp cho các ứng dụng web. Chỉ Xử lý 1 dòng dữ liệu tại một thời điểm. Phù hợp với ứng dụng web vì xử lý nhanh, nhẹ không chiếm bộ nhớ. Cũng có 2 dạng tùy theo dữ liệu nguồn: OleDbDataReader và SqlDataReader. Dữ liệu của đối tượng được tạo ra khi đối tượng Command thực hiện câu lệnh ExecuteReader(). 11 ThS. Nguyễn Tấn Trần Minh KhangGV. Trương Phước Lộc Khoa CNTT-ĐH.KHTN 2. KIẾN TRÚC ADO.NET • Kiến trúc của ADO.NET bao gồm 2 phần chính: ▫ DataAdapter: Đây là đối tượng rất quan trọng của ADO.NET, nó là cầu nối của database và dataset (dataset là đối tượng ngắt kết nối), bởi vì đối tượng “ngắt kết nối” dataset không thể liên lạc trực tiếp với database nên nó cần một đối tượng trung gian lấy dữ liệu từ database cho nó. Và đó chính là DataAdapter. Vì DataAdpater khi thao tác với Database vẫn phải duy trì kết nối nên nó được liệt kê vào dạng “kết nối”, nhưng bản chất là phục vụ cho việc “ngắt kết nối”. 12 ThS. Nguyễn Tấn Trần Minh KhangGV. Trương Phước Lộc 29/09/2010 3 Khoa CNTT-ĐH.KHTN 2. KIẾN TRÚC ADO.NET • Kiến trúc của ADO.NET bao gồm 2 phần chính: ▫ Content Component: Phần “ngắt kết nối”: chỉ có một đối tượng chịu trách nhiệm ngắt kết nối đó chính là DataSet. ▫ DataSet không cần biết gì về Database thuộc kiểu gì, kết nối ra sao. Nhiệm vụ của DataSet là nhận dữ liệu về từ DataAdapter và xử lý nó. ▫ DataSet có thể được xem như 1 Database trong bộ nhớ gồm tất cả các bảng ,quan hệ … 13 ThS. Nguyễn Tấn Trần Minh KhangGV. Trương Phước Lộc Khoa CNTT-ĐH.KHTN 2. KIẾN TRÚC ADO.NET • DataSet có nhiều đối tượng được xem là “con” tức là cấp thấp hơn đi kèm với nó như: DataTable (tương đương với 1 bảng trong database), cấp thấp hơn của DataTable có các đối tượng DataRow (tương đương với 1 dòng), DataColumn (tương đương với 1 cột), DataRelation (tương đương với các quan hệ). Ngoài ra còn có các đối tượng nhóm: DataTableCollection, DataRowCollection, DataColumnCollection. • Việc sử dụng DataSet là một tiến bộ lớn của kiến trúc ADO.NET tuy nhiên với các ứng dụng Web, việc sử dụng DataSet không được khuyến khích vì đối tượng DataSet được xem là quá lớn, nặng nề khó thích hợp cho đường truyền trên web vốn rất hạn chế. 14 ThS. Nguyễn Tấn Trần Minh KhangGV. Trương Phước Lộc Khoa CNTT-ĐH.KHTN 2. KIẾN TRÚC ADO.NET 15 ThS. Nguyễn Tấn Trần Minh KhangGV. Trương Phước Lộc Khoa CNTT-ĐH.KHTN 2. KIẾN TRÚC ADO.NET 16 ThS. Nguyễn Tấn Trần Minh KhangGV. Trương Phước Lộc Khoa CNTT-ĐH.KHTN 2. KIẾN TRÚC ADO.NET 17 ThS. Nguyễn Tấn Trần Minh KhangGV. Trương Phước Lộc Khoa CNTT-ĐH.KHTN 2. KIẾN TRÚC ADO.NET 18 ThS. Nguyễn Tấn Trần Minh KhangGV. Trương Phước Lộc 29/09/2010 4 Khoa CNTT-ĐH.KHTN 2. KIẾN TRÚC ADO.NET 19 ThS. Nguyễn Tấn Trần Minh KhangGV. Trương Phước Lộc Khoa CNTT-ĐH.KHTN 2. KIẾN TRÚC ADO.NET 20 ThS. Nguyễn Tấn Trần Minh KhangGV. Trương Phước Lộc Khoa CNTT-ĐH.KHTN 3. CÁC ĐẶC ĐIỂM CỦA ADO.NET • ADO.NET là một phần của .NET Framework. • ADO.NET được xem là “bộ thư viện lớp” chịu trách nhiệm xử lý dữ liệu trong ngôn ngữ MS.NET. • ADO.NET được thiết kế với dạng dữ liệu “ngắt kết nối”, nghĩa là ta có thể lấy cả một cấu trúc phức tạp của dữ liệu từ database, sau đó ngắt kết nối với database rồi mới thực hiện các thao tác cần thiết. Đây là một sự tiến bộ về mặt thiết kế bởi vì thiết kế ADO trước đây luôn cần duy trì một kết nối trong quá trình thao tác dữ liệu. 21 ThS. Nguyễn Tấn Trần Minh KhangGV. Trương Phước Lộc Khoa CNTT-ĐH.KHTN 3. CÁC ĐẶC ĐIỂM CỦA ADO.NET • ADO.NET được thiết kế hoàn toàn dựa vào XML vì XML là chuẩn trao đổi dữ liệu tiến bộ và tốt nhất trên môi trường Internet hiện nay. • ADO.NET được thiết kế hoàn toàn hướng đối tượng: đây là đặc điểm chi phối toàn bộ các sản phẩm Microsoft .NET. 22 ThS. Nguyễn Tấn Trần Minh KhangGV. Trương Phước Lộc Khoa CNTT-ĐH.KHTN 3. CÁC ĐẶC ĐIỂM CỦA ADO.NET 23 ThS. Nguyễn Tấn Trần Minh KhangGV. Trương Phước Lộc Đặc điểm ADO ADO.NET Dữ liệu xử lý được đưa vào bộ nhớ dưới dạng Recordset: tương đương 1 bảng dữ liệu trong database Dataset: tương đương 1 database Duyệt dữ liệu Recordset chỉ cho phép duyệt tuần tự, từng dòng một. Dataset: cho phép duyệt “tự do, ngẫu nhiên”, truy cập thẳng tới bảng ,dòng ,cột mong muốn. Dữ liệu ngắt kết nối Recordset cũng có thể ngắt kết nối nhưng tư tưởng thiết kế ban đầu của Recordset là hướng kết nối, do đó việc ngắt kết nối cũng không được hỗ trợ tốt nhất. Dataset được thiết kế với tư tưởng ban đầu là “ngắt kết nối” à hỗ trợ mạnh mẽ “ngắt kết nối”. Khoa CNTT-ĐH.KHTN 3. CÁC ĐẶC ĐIỂM CỦA ADO.NET 24 ThS. Nguyễn Tấn Trần Minh KhangGV. Trương Phước Lộc Đặc điểm ADO ADO.NET Khả năng vượt tường lửa Khi trao đổi dữ liệu với ADO qua Internet, thường sử dụng chuẩn COM, chuẩn COM rất khó vượt qua được tường lửa. Do vậy khả năng trao đổi dữ liệu ADO qua Internet thường có nhiều hạn chế. ADO.NET trao đổi dữ liệu qua Internet rất dễ dàng vì ADO.NET được thiết kế theo chuẩn XML, là chuẩn dữ liệu chính được sử dụng để trao đổi trên Internet. 29/09/2010 5 Khoa CNTT-ĐH.KHTN 4. CONTENT COMPONENT • Content component là các lớp đối tượng đại diện cho dữ liệu cần xử lý. Trong ADO.NET dữ liệu được đại diện bởi DataSet nhưng dưới một hình ảnh thu gọn, có nhiều table và các mối quan hệ. Các lớp đối tượng chính của content component bao gồm: ▫ DataSet ▫ DataTable ▫ DataView ▫ DataRow ▫ DataColumn ▫ DataRelation 25 ThS. Nguyễn Tấn Trần Minh KhangGV. Trương Phước Lộc Khoa CNTT-ĐH.KHTN 4.1 DataSet 26 ThS. Nguyễn Tấn Trần Minh KhangGV. Trương Phước Lộc Khoa CNTT-ĐH.KHTN 4.1 DataSet • ADO.NET chứa dữ liệu trong DataSet cùng với mối quan hệ giữa các dữ liệu nội tại bên trong. • DataSet giống như một hình ảnh về CSDL trong bộ nhớ, có thể có nhiều DataTable và các mối quan hệ giữa chúng đại diện bởi các DataRelation. 27 ThS. Nguyễn Tấn Trần Minh KhangGV. Trương Phước Lộc Khoa CNTT-ĐH.KHTN 4.2 DataTable 28 ThS. Nguyễn Tấn Trần Minh KhangGV. Trương Phước Lộc Khoa CNTT-ĐH.KHTN 4.2 DataTable 29 ThS. Nguyễn Tấn Trần Minh KhangGV. Trương Phước Lộc Khoa CNTT-ĐH.KHTN 4.2 DataTable • DataTable là một thành phần của DataSet. DataTable chứa dữ liệu của một bảng trong DataSet. DataTable bao gồm hai thành phần: • Tập hợp Columns thuộc lớp DataColumnCollection trong đó mỗi cột là một đối tượng thuộc lớp DataColumn. • Tập hợp Rows thuộc lớp DataRowCollection trong đó mỗi dòng là một đối tượng thuộc lớp DataRow. 30 ThS. Nguyễn Tấn Trần Minh KhangGV. Trương Phước Lộc 29/09/2010 6 Khoa CNTT-ĐH.KHTN 4.3 DataView 31 ThS. Nguyễn Tấn Trần Minh KhangGV. Trương Phước Lộc Khoa CNTT-ĐH.KHTN 4.3 DataView 32 ThS. Nguyễn Tấn Trần Minh KhangGV. Trương Phước Lộc Khoa CNTT-ĐH.KHTN 4.3 DataView • Trên một DataTable có thể tạo nhiều DataView với các điều kiện lọc, sắp xếp dữ liệu khác nhau. • Trên DataView ta có thể xem hay thay đổi giá trị các mẫu tin. • DataView của ADO.NET còn giữ nhiệm vụ kết nối với các control của Window Form và Web Form. 33 ThS. Nguyễn Tấn Trần Minh KhangGV. Trương Phước Lộc Khoa CNTT-ĐH.KHTN 4.4 DataRow 34 ThS. Nguyễn Tấn Trần Minh KhangGV. Trương Phước Lộc Khoa CNTT-ĐH.KHTN 4.4 DataRow 35 ThS. Nguyễn Tấn Trần Minh KhangGV. Trương Phước Lộc Khoa CNTT-ĐH.KHTN 4.5 DataColumn 36 ThS. Nguyễn Tấn Trần Minh KhangGV. Trương Phước Lộc 29/09/2010 7 Khoa CNTT-ĐH.KHTN 4.6 DataRelation 37 ThS. Nguyễn Tấn Trần Minh KhangGV. Trương Phước Lộc Khoa CNTT-ĐH.KHTN 4.6 DataRelation 38 ThS. Nguyễn Tấn Trần Minh KhangGV. Trương Phước Lộc Khoa CNTT-ĐH.KHTN 4.6 DataRelation • DataSet bao gồm tập hợp các bảng đại diện bởi các đối tượng thuộc lớp DataTable và quan hệ giữa các bảng được đại diện bởi các đối tượng thuộc lớp DataRelation. • Với DataRelation người lập trình có thể: ▫ Định nghĩa được mối quan hệ giữa các bảng. ▫ Duyệt dữ liệu trong các bảng theo kiểu Master- Detail. 39 ThS. Nguyễn Tấn Trần Minh KhangGV. Trương Phước Lộc Khoa CNTT-ĐH.KHTN 4.6 DataRelation • Một đối tượng kiểu DataRelation bao gồm các thông tin: ▫ Tên của bảng cha, bảng con. ▫ Các column trong DataRelation đại diện cho Primary Key trong bảng cha và Foreign Key trong bảng con. 40 ThS. Nguyễn Tấn Trần Minh KhangGV. Trương Phước Lộc Khoa CNTT-ĐH.KHTN 5. MANAGED PROVIDER COMPONENT • Managed provider component là các lớp đối tượng đại diện cho phần thao tác dữ liệu. Các lớp đối tượng chính bao gồm: ▫ Connection ▫ Command ▫ DataReader ▫ DataAdapter 41 ThS. Nguyễn Tấn Trần Minh KhangGV. Trương Phước Lộc Khoa CNTT-ĐH.KHTN 6. SỬ DỤNG ADO.NET TRONG VISUAL BASIC.NET Namespace Sử dụng System.Data Chứa tất cả lớp cơ sở của kiến trúc ADO.NET. System.Data. Common Chứa các lớp chia sẻ của .NET Data Providers. System.Data. SqlClient Chứa các lớp hỗ trợ hệ quản trị cơ sở dữ liệu MS SQL Server phiên bản 7.0 trở lên. System.Data. SqlOleDb Chứa các lớp hỗ trợ cho cở sở dữ liệu OLEDB vd Access, Oracle hay MS SQL Server phiên bản 6.5 trở về trước. System.Data. Sqltypes Cung cấp các lớp hỗ trợ thao tác trên các kiểu dữ liệu cơ bản của SQL Server. 42 ThS. Nguyễn Tấn Trần Minh KhangGV. Trương Phước Lộc 29/09/2010 8 Khoa CNTT-ĐH.KHTN Câu hỏi 43 ThS. Nguyễn Tấn Trần Minh KhangGV. Trương Phước Lộc . 29/09/2010 1 Lập Trình Ứng Dụng Quản Lý 1 Chương 5: ADO. NET GV. Trương Phước Lộc Khoa CNTT-ĐH.KHTN 1. GIỚI THIỆU ADO. NET 2 ThS. Nguyễn Tấn Trần Minh KhangGV. Trương Phước Lộc Khoa CNTT-ĐH.KHTN 2 CNTT-ĐH.KHTN 3. CÁC ĐẶC ĐIỂM CỦA ADO. NET • ADO. NET là một phần của .NET Framework. • ADO. NET được xem là “bộ thư viện lớp” chịu trách nhiệm xử lý dữ liệu trong ngôn ngữ MS .NET. • ADO. NET được thiết kế với. Lộc Khoa CNTT-ĐH.KHTN 2. KIẾN TRÚC ADO. NET • Kiến trúc của ADO. NET bao gồm 2 phần chính: ▫ DataReader: Đối tượng xử lý đọc dữ liệu, được thiết kế phù hợp cho các ứng dụng web. Chỉ Xử lý 1 dòng dữ

Ngày đăng: 11/07/2014, 14:20

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan