ĐHQG HCM – TRƯỜNG ĐH KHOA HỌC TỰ NHIÊN
KHOA CÔNG NGHỆ THƠNG TIN
Truy xuất cơ sở dữ liệu với
ADO.NET
Lập trình ứng dụng quản lý 1
ThS. Ngô Chánh Đức
Giới thiệu về ADO.NET
Lập trình ứng dụng quản lý 1
Database driver
Database driver – Trình điều kiển CSDL:
▪ Thành phần trung gian giữa hệ quản trị CSDL và bên
ngoài (ứng dụng)
Database driver
Application
DBMS
Các loại database driver
ODBC driver (Open database connectivity):
▪ phát triển bởi Microsoft.
▪ Hỗ trợ bởi Microsoft SQL Server, MySQL,
PostgreSQL, Oracle
OLEDB provider
▪ Microsoft OLE DB Provider for ODBC
▪ Microsoft OLE DB Provider for Oracle
▪ Microsoft OLE DB Provider for Microsoft Jet
Các loại database driver
JDBC (Java Database Connectivity) driver:
▪ Được tích hợp trong máy ảo java JVM
▪ Hỗ trợ CSDL sử dụng ODBC, Oracal,
ADO.Net provider:
▪ API của .NET Framework
▪ Hỗ trợ CSDL SQL Server, Orcal, Access, ...
Thư viện ADO.NET
Phát triển từ thành phần xử lý dữ liệu ADO
(ActiveX Data Object)
Có thể thao tác với dữ liệu kết nối, không
kết nối và XML
Là một thư viện trong Microsoft .NET
Framework
Đặc điểm thư viện ADO.NET
Interoperability – Tương tác giữa nhiều hệ
thống
▪ Sử dụng định dạng XML để đóng gói dữ liệu sử
dụng được HTTP
Scalability – Hỗ trợ nhiều người dùng
▪ Sử dụng dữ liệu ở dạng disconnected data
▪ Sử dụng Connection pooling để giữ kết nối
Productivity – Mở rộng khả năng làm việc với
CSDL
Performance – Hiệu suất
Kiến trúc ADO.NET
.NET Data Provider và DataSet
Connected Objets và Disconnected Objects
Connected Objets và Disconnected Objects
Connected objects: là những đối tượng giao
tiếp trực tiếp với CSDL.
Disconnected objects: cho phép các user làm
việc với dữ liệu dạng offline (khi đã đóng kết
nối cơ sở dữ liệu)
.NET Data Provider
Dùng để kết nối với CSDL, thực hiện lệnh và
lấy kết quả trả về
Các loại Provider hỗ trợ
▪ .NET Framework Data Provider for SQL Server
• namespace System.Data.SqlClient
▪ .NET Framework Data Provider for OLE DB
• Namespace System.Data.OleDb
▪ .NET Framework Data Provider for ODBC
• Namepsace System.Data.Odbc
▪ .NET Framework Data Provider for Oracle
• Namespace System.Data.OracleClient
Các bộ lớp đối tượng của
.NET Data Provider
.NET Data Provider
XXXConnection
XXXCommand
XXXDataReader
Data Source
DataSet
XXXDataAdapter
(CSDL)
XXXParameter
XXXTransaction
Ví dụ: OleDbConnection, SqlConnection, OracleConnection
Các thư viện truy xuất CSDL trong
ADO.NET
Về mặt giao tiếp lập trình ứng dụng, cả 3 thư
viện trên khơng khác biệt nhau nhiều lắm.
Dùng thư viện System.Data.SqlClient sẽ truy
xuất SQL Server nhanh hơn
System.Data.OleDb
Dùng thư viện System.Data.OracleClient sẽ
truy xuất Oracle nhanh hơn
System.Data.OleDb
Truy xuất CSDL với SqlClient và OleDb
DataSet
DataSet
DataSet
DataTable
Tables
Relations
Columns
DataColumn
Rows
DataRow
DataRelation
DataTable
Dùng để lưu trữ dữ liệu trên bộ nhớ
DataTable
DataRowCollection
DataColumnCollection
ConstraintCollection
DataTable – các thuộc tính
Tên thuộc tính
Rows
Kiểu dữ liệu
DataRowCollection
Columns
DataColumnCollection
Constraints
PrimaryKey
TableName
ConstraintCollection
DataColumn[ ]
string
DataColumn
Thêm 1 cột cho bảng
DataColumn
Cột có giá trị tự tăng
Xác định khóa chính
Ràng buộc của Data Table
ForeignKeyConstraint
Thêm dữ liệu
Tạo mới DataRow và thêm vào DataTable
Xem dữ liệu
Sử dụng phương thức Select