Vị Trí Của Ado.net Trong Kiến Trúc Của .net Framework

20. Tạo trang “dangky.aspx” với giao diện theo mẫu sau:

Khi người dùng click vào nút Gửi thông tin thì sử dụng các biến session 1

- Khi người dùng click vào nút “Gửi thông tin” thì sử dụng các biến session để lưu lại các thông tin, sau đó điều hướng sang trang “thongtindangky.aspx”.

- Trang “thongtindangky.aspx” sẽ hiển thị lại các thông tin vừa đăng ký.

21. Tạo một User Control cho phần đăng nhập hệ thống có giao diện như sau:

Thêm thuộc tính cho phép người dùng đặt độ rộng của điều khiển 22 Tạo 2

- Thêm thuộc tính cho phép người dùng đặt độ rộng của điều khiển.

22. Tạo User Control cho phần menu có giao diện như sau:

23 Tạo User Control cho phần chân trang có giao diện như sau 24 Xử dụng MasterPage 3

23. Tạo User Control cho phần chân trang có giao diện như sau:

24 Xử dụng MasterPage để xây dựng giao diện cho trang chủ phần Quản trị như 4


24. Xử dụng MasterPage để xây dựng giao diện cho trang chủ phần Quản trị như hình bên dưới. Trong đó có các phần:

- UserControl Header: chứa nội dung phần đầu trang

- UserControl Left: chứa menu chức năng bên trái (nếu chưa xây dựng thì xem bài Lab-02-MenuLeft).

- Đặt 01 ContentPlaceHolder ở head để thay đổi tiêu đề trang.

- Đặt 01 ContentPlaceHolder để thể hiện phần nội dung của các trang.

- Xử lý việc click vào các chức năng bên trái để load nội dung tương ứng.


CHƯƠNG 4 TRUY NHẬP CƠ SỞ DỮ LIỆU 4 1 Giới thiệu chung Khi phát triển các ứng 5

CHƯƠNG 4: TRUY NHẬP CƠ SỞ DỮ LIỆU


4.1. Giới thiệu chung

Khi phát triển các ứng dụng trên nền Web thì công việc chủ yếu phải giải quyết là xử lý các nghiệp vụ, trong đó phần lớn là xử lý cơ sở dữ liệu. Trong môi trường phát triển Microsoft .NET tất cả các ứng dụng Web Form hay Win Form đều thống nhất sử dụng chung một bộ thư viện để truy xuất và thao tác cơ sở dữ liệu gọi là ADO.NET (Active Data Object).

ADO.NET là một tập các lớp nằm trong bộ thư viện lớp cơ sở của .NET Framework, cho phép các ứng dụng Windows (như C#, VB.NET) hay ứng dụng Web (như ASP.NET) thao tác dễ dàng với các nguồn dữ liệu. Mục tiêu chính của ADO.NET là:

- Cung cấp các lớp để thao tác cơ sử dữ liệu trong cả hai môi trường là phi kết nối (Disconected data) và kết nối (Connected data).

- Tích hợp chặt chẽ với XML (Extensible Markup Language).

- Tương tác với nhiều nguồn dữ liệu thông qua mô tả dữ liệu chung.

- Tối ưu truy cập nguồn dữ liệu (OLE DB & SQL Server).

- Làm việc trên môi trường Internet.

ADO.NET bao gồm hai Provider (hai bộ thư viện) để thao tác với các cơ sở dữ liệu là: OLE DB Provider (nằm trong System.Data.OLEDB) dùng để truy xuất đến cơ sở dữ liệu nào có hỗ trợ OLEDB; SQL Provider (nằm trong System.Data.SQLClient) chuyên dùng để truy xuất đến cơ sở dữ liệu SQL Server (không qua OLE DB nên nhanh hơn).

Hiện nay, các hãng thứ ba cung cấp các Provider khác như : MySQL, Oracle… provider cho phép ứng dụng .NET truy xuất đến cơ sở dữ liệu không phải của Microsoft.

Hình 4 1 Vị trí của ADO NET trong kiến trúc của net Framework Từ kiến trúc ta 6

Hình 4.1. Vị trí của ADO.NET trong kiến trúc của .net Framework

Từ kiến trúc ta thấy rằng: ADO.NET là một thành phần nội tại (Instrict) của .NET Framework. Do vậy nó có thể được sử dụng trong tất cả các ngôn ngữ hỗ trợ .NET như C#, VB.NET… mà không có sự khác biệt.

4.2. Kiến trúc của ADO.NET

ADO.NET là một phần của .NET Framework, đượ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 gồm hai thành phần chính cho việc truy xuất và điều khiển dữ liệu đó là các trình cung cấp dữ liệu .NET Framework (.NET Framework Data Provider) và DataSet. Mô hình dưới đây minh họa mối quan hệ giữa trình cung cấp dữ liệu của .NET Framework và DataSet.

Hình 4 2 Kiến trúc ADO NET Việc kết nối giữa ứng dụng và cở sở dữ liệu 7

Hình 4.2. Kiến trúc ADO.NET

Việc kết nối giữa ứng dụng và cở sở dữ liệu thông qua ADO.NET theo chế độ Connected và Disconnected .

Connected: Cơ chế này yêu cầu phải thực hiện kết nối với Database trong khi đang thực hiện các thao tác với dữ liệu. Các đối tượng của cơ chế này là:

+ Connection: Đối tượng quản lý đóng/mở kết nối tới Database.

+ 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 sau khi đã thiết lập kết nối tới dữ liệu và trả về kết quả.

+ DataReader: Đối tượng xử lý đọc dữ liệu từ cơ sở dữ liệu.

+ DataAdapter: Đây là đối tượng rất quan trọng của ADO.NET là cầu nối của Database và Dataset (Dataset là đối tượng ngắt kết nối), vì đối tượng “ngắt kết nối” Dataset không thể tương tác trực tiếp với Database nên cần một đối tượng trung gian lấy

dữ liệu từ Database đó chính là DataAdapter. 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 phục vụ cho việc “ngắt kết nối”.

Disconnected: Chỉ có một đối tượng chịu trách nhiệm ngắt kết nối đó chính là DataSet. 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ư một Database trong bộ nhớ gồm tất cả các bảng, quan hệ….. DataSet có nhiều đối tượng được xem là “con” như: DataTable, cấp thấp hơn của DataTable có các đối tượng DataRow, DataColumn, DataRelation. Ngoài ra còn có các đối tượng nhóm như 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.

Hình 4 3 Cơ chế kết nối ADO NET 4 3 Tìm hiểu trình cung cấp dữ liệu của 8

Hình 4.3. Cơ chế kết nối ADO.NET

4.3. Tìm hiểu trình cung cấp dữ liệu của ADO.NET

ADO.NET hỗ trợ nhiều trình cung cấp dữ liệu, mỗi trình cung cấp tương tác với một hệ quản trị cơ sở dữ liệu (DBMS) cụ thể. Lợi ích đầu tiên của phương pháp này là một trình cung cấp dữ liệu cụ thể có thể được lập trình để truy xuất đến bất cứ thuộc tính nào của một DBMS mà được chỉ định bởi trình cung cấp đó. Lợi ích khác đó là trình cung cấp dữ liệu có thể kết nối ngay lập tức đến cơ sử dữ liệu mà không thông qua tầng ánh xạ trung gian giữa các lớp.

Hình 4 4 Các lớp giữa code và nguồn dữ liệu Một trình cung cấp dữ liệu là 9

Hình 4.4. Các lớp giữa code và nguồn dữ liệu

Một trình cung cấp dữ liệu là tập hợp các kiểu được định nghĩa trong namespace System.Data, cho biết cách để giao tiếp với một nguồn dữ liệu cụ thể. Một trình cung cấp định nghĩa một tập hợp các kiểu lớp mà cung cấp các chức năng cơ bản.

Các đối tượng cơ bản của một trình cung cấp dữ liệu ADO.NET.


Đối tượng

Lớp cơ sở

Giao diện

Ý nghĩa

Connection

DbConnection

IDbConnection

Cung cấp khả năng kết nối và

ngắt kết nối với nguồn dữ liệu.

Command

DbCommand

IDbCommand

Trình bày một truy vấn SQL

hoặc stored procedure.

DataReader

DbDataReader

IDataReader

IDataRecord

Đọc nguồn dữ liệu theo một

chiều.

DataAdapter

DbDataAdapter

IDataAdapter

IDbDataAdapter

Chuyển DataSets giữa các đối

tượng gọi (caller) và kho dữ liệu.

Parameter

DbParameter

IDataParameter IDbDataParameter

Miêu tả tên gọi tham số bên

trong truy vấn có tham số (parameterized query).

Transaction

DbTransaction

IDbTransaction

Đóng gói (Encapsulates) một

database transaction.

Có thể bạn quan tâm!

Xem toàn bộ 285 trang tài liệu này.

Mặc dù tên của các đối tượng này sẽ khác nhau tùy thuộc trình cung cấp dữ liệu (ví dụ: SqlConnection khác với OracleConnection khác với OdbcConnection khác với MySqlConnection) nhưng mỗi đối tượng đều kế thừa từ một lớp cơ sở (base class) (DbConnection trong trường hợp các đối tượng kết nối) và thi hành interface (như IDbConnection).

Các trình cung cấp dữ liệu ADO.NET được cung cấp bởi Microsoft.


Data Provider

Namespace

Assembly

OLE DB

System.Data.OleDb

System.Data.dll

Microsoft SQL Server

System.Data.SqlClient

System.Data.dll

Microsoft SQL Server

Mobile

System.Data.SqlServerCe

System.Data.SqlServerCe.dll

ODBC

System.Data.Odbc

System.Data.dll

Oracle

System.Data.OracleClient

System.Data.OracleClient.dll

Trình cung cấp dữ liệu OLE DB và ODBC chỉ hữu ích nếu tương tác với một DBMS mà không định nghĩa một trình cung cấp dữ liệu .NET cụ thể.

4.4. Các namespace của ADO.NET

.NET cung cấp một số namespace cho ADO.NET, một vài namespace trong đó được thể hiện trong bảng sau:

Namespace

Ý nghĩa

Microsoft.SqlServer.Server

Namespace này cung cấp các loại phục vụ việc tích hợp

CLR và SQL Server 2005 được dễ dàng.

System.Data

Namespace này định nghĩa các loại ADO.NET cơ sở được sử dụng bởi tất cả trình cung cấp dữ liệu, bao gồm các Interface phổ biến và các loại thể hiện lớp ngắt kết

nối. (DataSet, DataTable, etc.).

System.Data.Common

Namespace này chứa các loại được dùng chung trong tất cả các trình cung cấp của ADO.NET, bao gồm các lớp cơ

sở ảo (abstract base classe) phổ biến.

System.Data.Sql

Namespace này chứa các loại mà cho phép nhận ra các thể hiện Microsoft SQL Server được cài đặt trên mạng

cục bộ hiện hành.

System.Data.SqlTypes

Namespace này chứa các loại dữ liệu tự nhiên (native

data types) được dùng bởi Microsoft SQL Server.

Namespace System.Data: Namespace này chứa các loại được dùng chung trong tất cả các trình cung cấp dữ liệu của ADO.NET.

Các thành viên chính của System.Data Namespace.


Namespace

Ý nghĩa

Constraint

Trình bày (Represent) một ràng buộc cho một đối tượng

DataColumn đã cho.

DataColumn

Trình bày

DataTable.

một

column

bên

trong

một

đối

tượng

DataRelation

Trình bày mối quan hệ parent/child giữa hai đối tượng

DataTable.

DataRow

Trình bày một dòng bên trong một đối tượng DataTable.

DataSet

Trình bày một vùng trong bộ nhớ của dữ liệu bao gồm mọi thành phần của đối tượng DataTable có quan hệ với

nhau.

DataTable

Trình bày bảng trong bộ nhớ

DataTableReader

Cho phép xem xét một DataTable.

DataView

Trình bày một view của một DataTable cho việc sắp xếp,

việc lọc, việc tìm kiếm, chỉnh sửa và điều hướng.

IDataAdapter

Định nghĩa cách hành xử chính (core behavior) của một

đối tượng DataAdapter.

IDataParameter

Định nghĩa cách hành xử chính (core behavior) của một

đối tượng parameter.

IDataReader

Định nghĩa cách hành xử chính (core behavior) của một

đối tượng DataReader.

IDbCommand

Định nghĩa cách hành xử chính (core behavior) của một

đối tượng command.

IDbDataAdapter

Kế thừa IDataAdapter để cung cấp thêm các chức năng

của một đối tượng DataAdapter

IDbTransaction

Định nghĩa cách hành xử cốt lòi (core behavior) của một

đối tượng Transaction.

IDbConnection Interface: Được thi hành bởi đối tượng connection của trình cung cấp dữ liệu. Interface này định nghĩa một tập hợp các thành phần được dùng để tạo một kết nối đến kho dữ liệu và nó cũng cho phép lấy được đối tượng Transaction của trình cung cấp dữ liệu. Dưới đây định nghĩa của IDbConnection.

Xem tất cả 285 trang.

Ngày đăng: 16/07/2022
Trang chủ Tài liệu miễn phí