Tổng quan mơ hình truy xuất CSDL
ADO.NET
ThS. Trương Phước Hải
Nội dung
1. Các mơ hình truy xuất CSDL
2. Giới thiệu ADO.Net
3. Tổng quan kiến trúc ADO.Net
4. Kết nối CSDL bằng ADO.Net
2
Trương Phước Hải
Ứng dụng quản lý thơng tin
Nơi nào có lưu trữ thơng tin, nơi đó cần
quản lý thơng tin.
Quản lý giáo dục, quản lý bệnh viện, quản
lý bán hàng, quản lý nhân sự, tiền lương…
Lập trình quản lý nâng cao
3
Trương Phước Hải
Ứng dụng quản lý thông tin
Truy xuất thông tin từ CSDL:
Ý nghĩa của CSDL
Cấu trúc các bảng dữ liệu
Lược đồ CSDL
developer
Lập trình quản lý nâng cao
4
Trương Phước Hải
Mơ hình ứng dụng client/server
GUI
Presentation layer
(client)
Web Server
Application
Web
Business layer
Data layer
(server)
Lập trình quản lý nâng cao
Database
5
Trương Phước Hải
Mơ hình ứng dụng client/server
GUI
GUI
GUI
Web Server
Application
Web
Web Server
Application
Web
…
Web Server
Application
Web
…
Database
Lập trình quản lý nâng cao
6
Trương Phước Hải
Các mơ hình truy xuất CSDL
ODBC (Open Database Connectivity)
OLE DB (Obj. Linking & Embedding DB)
DAO (Data Access Object)
RDO (Remote Data Object)
ADO (ActiveX Data Objects)
ADO.Net
Lập trình quản lý nâng cao
7
Trương Phước Hải
Nội dung
1. Các mơ hình truy xuất CSDL
2. Giới thiệu ADO.Net
3. Tổng quan kiến trúc ADO.Net
4. Kết nối CSDL bằng ADO.Net
8
Trương Phước Hải
ADO.Net
Mơ hình truy xuất CSDL trên nền .NET.
Tăng tốc truy xuất dữ liệu theo mơ hình
đa lớp (n-tier): tách biệt truy cập dữ liệu
với thao tác dữ liệu.
Cho phép truy xuất dữ liệu ở chế độ
connected và disconnected.
Hỗ trợ thao tác với XML.
Gồm 2 thành phần chính: .Net Data
Provider và DataSet.
Lập trình quản lý nâng cao
9
Trương Phước Hải
Nội dung
1. Các mơ hình truy xuất CSDL
2. Giới thiệu ADO.Net
3. Tổng quan kiến trúc ADO.Net
4. Kết nối CSDL bằng ADO.Net
10
Trương Phước Hải
Tổng quan kiến trúc ADO.Net
ADO.NET
Data Consumers
.NET Data
Providers
DataReader
WinForm
Connection
Command
WebForm
Other
DataAdapter
DataSet
XML
Database
Lập trình quản lý nâng cao
11
Trương Phước Hải
.Net Data Provider
Phân loại .Net Data Provider:
Lập trình quản lý nâng cao
ODBC
ODBC Data Provider
System.Data.Odbc
OLE DB
OLE DB Data Provider
System.Data.OleDb
SQL
SQL Server Data Provider
System.Data.SqlClient
ORACLE
Oracle Data Provider
System.Data.OracleClient
12
Trương Phước Hải
.Net Data Provider
Gồm 4 thành phần:
Connection: thực hiện thiết lập và duy trì kết
nối đến CSDL.
Command: lưu trữ các lệnh truy vấn hay
stored procedure.
DataReader: lưu trữ kết quả thực thi lệnh truy
vấn từ CSDL.
DataAdapter: là cầu nối giúp trao đổi dữ liệu
giữa DataSet và CSDL.
Lập trình quản lý nâng cao
13
Trương Phước Hải
DataSet
Lưu trữ ở bộ nhớ trong (in-memory) các bảng dữ
liệu, các lược đồ CSDL.
Thực thi cơ chế ngắt kết nối (disconnected) nhằm
tăng hiệu năng truy xuất CSDL.
Mọi thao tác thay đổi dữ liệu được thực hiện trên
DataSet, không ảnh hưởng đến CSDL.
Sử dụng XML để truyền tải và lưu trữ dữ liệu.
Theo vết các thay đổi dữ liệu, cập nhật CSDL
thông qua đối tượng DataAdapter.
Lập trình quản lý nâng cao
14
Trương Phước Hải
Sơ đồ lớp đối tượng DataSet
DataSet
Tables
Relations
Lập trình quản lý nâng cao
DataTable
Columns
DataColumn
Rows
DataRow
DataRelation
15
Trương Phước Hải
Nội dung
1. Các mơ hình truy xuất CSDL
2. Giới thiệu ADO.Net
3. Tổng quan kiến trúc ADO.Net
4. Kết nối CSDL bằng ADO.Net
16
Trương Phước Hải
Kết nối database server
Bước 1: khởi tạo đối tượng Connection với tham
số connection string đối với database tương ứng.
m_Connection = new SqlConnection(ConStr)
Bước 2: thiết lập kết nối đến database bằng
phương thức Open.
m_Connection.Open()
Bước 3: thực hiện các thao tác khai thác dữ liệu
(select, insert, delete, update) từ database.
Bước 4: đóng kết nối đến database bằng phương
thức Close.
m_Connection.Close()
Lập trình quản lý nâng cao
17
Trương Phước Hải
Kết nối database server
Lập trình quản lý nâng cao
18
Trương Phước Hải
Kết nối database server
Imports System.Data.SqlClient
Public Class FrmLogin
Private m_Conn As SqlConnection
Kết nối CSDL SQL
Server bằng SqlClient
Private Sub cmdLogin_Click(...)
Try
Dim ConStr As String = “Server = ” & sSrv & “;” & _
“User ID = ” & sUser & “;” & _
“Password = ” & sPass & “;” & _
“Database = ” & sDatabase & “;”
m_Conn = New SqlConnection(ConStr)
m_Conn.Open()
MessageBox.Show(“Kết nối thành công”, “Successful”)
m_Conn.Close()
Catch ex As Exception
MessageBox.Show(ex.Message, “Failed”)
End Try
End Sub
End Class
Lập trình quản lý nâng cao
19
Trương Phước Hải
Kết nối CSDL bằng Wizard
Tạo control
DataGrid
Lập trình quản lý nâng cao
20
Trương Phước Hải