Tải bản đầy đủ (.pdf) (58 trang)

ADO.NET - ThS. Nguyễn Hà Giang ppt

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (895.31 KB, 58 trang )

1
ADO.NET
ThS. Nguyễn Hà Giang
Nguyen Ha Giang -2009
2
N i Dung
q ADO.NET
q
Quá trình phát triển
q Đặc điểm ADO.NET
q .NET Data Provider
q DataSet
q Data Source Configuration Wizard
Nguyen Ha Giang -2009
3
Gi i thi u ADO.NET
n ActiveX Data Object .NET (ADO.NET)
q Công nghệ của MS trên .NET Framework
q Phát triển từ nền tảng ADO
q Cung cấp các
lớp đối tượng và hàm thư viện phục
vụ cho việc kết nối và xử lý dữ liệu
.NET Application
ADO.NET
Nguyen Ha Giang -2009
4
Gi i thi u ADO.NET
n Mô hình .NET Framework
Microsoft .NET Framework
Common Language Runtime
Base Classes


Web Services User Interface
Data and XML
ADO.NET
XML
Nguyen Ha Giang -2009
5
N i Dung
q ADO.NET
q Quá trình phát triển
q
Đặc điểm ADO.NET
q .NET Data Provider
q DataSet
q Data Source Configuration Wizard
Nguyen Ha Giang -2009
6
Quá trình phát triển
n Native API
n ODBC
Application
Database
DB API
Application
ODBC
Driver
Driver
Driver
Database
ODBC API
DB API

Nguyen Ha Giang -2009
7
ADO
OLE DB
Quá trình phát triển
n ADO, OLE DB
Application
ODBC
Driver
Driver
Driver
Provider
Provider
Provider
Provider
Relational Data
Non-Relational Data
OLE: Object Linking and Embedding
Nguyen Ha Giang -2009
8
Quá trình phát triển
ADO.NET
Nguyen Ha Giang -2009
9
N i Dung
q ADO.NET
q Quá trình phát triển
q Đặc điểm ADO.NET
q
.NET Data Provider

q DataSet
q Data Source Configuration Wizard
Nguyen Ha Giang -2009
10
ADO.NET
n ADO.NET là một phần của .NET Framework
q Thư viện lớp có chức năng
thao tác dữ liệu trong
ngôn ngữ MS.NET
n ADO.NET là dạng “Disconnected”
q Cho phép lấy cả một cấu trúc phức tạp của DL từ
CSDL, sau đó ngắt kết nối rồi mới thực hiện thao
tác xử lý!
q ADO luôn phải duy trì kết nối trong suốt quá trình
làm việc.
Nguyen Ha Giang -2009
11
Môi tr ng “connected”
n Mỗi user có một kết nối cố định tới data source
n Ưu điểm
q Môi trường được bảo vệ tốt
q Kiểm soát được sự đồng bộ
q Dữ liệu luôn được mới
n Nhược
q Phải có một kết nối mạng cố định
q Scalability
Nguyen Ha Giang -2009
12
Môi tr ng “disconnected”
n Một tập con của dữ liệu trung tâm được sao chép

và bổ sung độc lập, sau đó sẽ được merge lại
vào dữ liệu trung tâm.
n Ưu điểm
q Có thể làm việc bất cứ lúc nào, cũng như có thể kết
nối bất kỳ vào Data Source
q Cho phép user khác có thể kết nối
q Nâng cao hiệu suất thực hiện của ứng dụng
n Khuyết
q Dữ liệu không được cập nhật một cách nhanh nhất
q Sự tranh chấp có thể xuất hiện và phải giải quyết
Nguyen Ha Giang -2009
13
ADO.NET
n ADO.NET mạnh mẽ
q Kế thừa các ưu điểm của ADO
q Kết hợp với ý tưởng thiết kế hoàn toàn mới
n Đặc điểm nổi bật
q Thiết kế hoàn toàn dựa vào XML
n Chuẩngiaotiếpdữliệuphổ biếnnhấttrênmôi
trườngInternethiệnnay
q Thiết kế hoàn toàn hướng đối tượng
n Đặc trưng của thư viện .NET Framework
Nguyen Ha Giang -2009
14
ADO.NET vs. ADO
Đặc Điểm ADO ADO.NET
Data 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 : 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 thiên về hướng kết nối,
nên việc hỗ trợ ngắt kết nối không
mạnh
Dataset hỗ trợ hoàn toàn ngắt kết
nối
Trao đổi dữ liệu
qua Internet
Khả năng trao đổi dữ liệu ADO
qua Internet thường có nhiều hạn
chế. Do dùng chuẩn COM
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.
Nguyen Ha Giang -2009
15
ADO.NET
n Kiến trúc của ADO.NET gồm 2 phần chính
n Phần kết nối: sử dụng khi kết nối CSDL và thao
tác dữ liệu, phải thực hiện kết nối khi thao tác

n Connection: quản lý việc đóng mở DB
q ???Connection:
SqlConnection, OleDbConnection
n Command: lệnh truy vấn, tương tác dữ liệu khi đang
lập kết nối
q ???Command:
SqlCommand, OleDbCommand
n DataReader: đọc dữ liệu, chỉ xử lý 1 dòng dữ liệu tại
một thời điểm
q ???DataReader:
SqlDataReader, OleDbDataReader
n DataAdapter: cầu nối giữa DB và DataSet
Nguyen Ha Giang -2009
16
ADO.NET
n Phần ngắt kết nối: là DataSet
q DataSet không quan tâm đến DB thuộc kiểu gì, và
lấy dữ liệu từ DataAdapter để xử lý
q DataSet xem như một DB trong bộ nhớ: bảng,
quan hệ…
q DataSet có các thành phần con như
n DataTable
n DataRow
n DataColumn
n DataRelation
n Các đối tượng nhóm: DataTableCollection,
DataRowCollection, DataColumnCollection
Nguyen Ha Giang -2009
17
Mô hình i t ng ADO.NET

Nguyen Ha Giang -2009
18
Các l p th vi n ADO.NET
n System.Data.OleDb: Access, SQL Server, Oracle
n System.Data.SqlClient: SQL Server
n System.Data.OracleClient: Oracle
n Đặc điểm:
q Cả ba thư viện trên về giao tiếp lập trình là giống
nhau
q Dùng thư viện SqlClient truy xuất SQL Server
nhanh hơn OleDb
q Tương tự cho OracleClient
Nguyen Ha Giang -2009
19
N i Dung
q ADO.NET
q Quá trình phát triển
q Đặc điểm ADO.NET
q .NET Data Provider
q
DataSet
q Data Source Configuration Wizard
Nguyen Ha Giang -2009
20
NET Data Provider
n Mô hình .NET Data Provider
Nguyen Ha Giang -2009
21
NET Data Provider -Connection
Application

Database
Connection
Thuộc tính & Phương thức
• ConnectionString: chuỗi kết nối DataSource
• Open(): thiết lập kết nối đến DS
• Close(): đóng kết nối với DS
Nguyen Ha Giang -2009
22
NET Data Provider -Connection
n Mô tả CSDL sử dụng minh họa
Đặc điểm Thông tin
DBMS MS SQL Server Express 2005
DB 1 CSDL StudentDB
DB 2 CSDL Northwind
Nguyen Ha Giang -2009
23
NET Data Provider -Connection
SqlConnection cnn = new SqlConnection();
cnn.ConnectionString = “server= .\\SQLEXPRESS;
database=Northwind; Trusted_Connection=true”;
cnn.Open();
//xử lý trong quá trình kết nối

cnn.Close();
SQL Connection
Thay bằng
“ComputerName” hoặc
IP của máy chạy SQL
Server
Nguyen Ha Giang -2009

24
NET Data Provider -Connection
ODBC/OLE DB Connection (*)Database
MS Access
Driver = {Microsoft Access Driver (*.mdb)};
DBQ = <đường dẫn file access>
Provider=Microsoft.Jet.OLEDB.4.0; Data Source
= <đường dẫn file access>
SQL Server
Driver = {SQLServer}; Server = ServerName;
Database= DatabaseName; Uid=Username;
Pwd=Password;
Provider= SQLOLEDB; Data Source=ServerName;
Initial Catalog=DatabaseName; UserId=Username;
Password=Password
(*): Xem thêm chuỗi kết nối trong:
Nguyen Ha Giang -2009
25
NET Data Provider -Connection
OleDbConnection cnn = new OleDbSqlConnection();
cnn.ConnectionString = “Provider=Microsoft.Jet.OLEDB.4.0;
Data Source =Sinhvien.mdb”;
cnn.Open();
//xử lý trong quá trình kết nối

cnn.Close();
OLEDB Connection

×