Tải bản đầy đủ (.ppt) (27 trang)

Chương 5: Kết nối Cơ sở dữ liệu ppsx

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 (328.59 KB, 27 trang )

1
Kết nối Cơ sở dữ liệu
2
Kết nối cơ sở dữ liệu

Kiến trúc chung

ADO

Kết nối cơ sở dữ liệu với ADO
3
Kiến trúc chung

Kiến trúc chung truy cập dữ liệu
Lớp trình diễn - Presentation layer
Lớp nghiệp vụ - Bussiness layer
Lớp dữ liệu - Data layer
4
Kiến trúc chung

Kiến trúc kết nối
cơ sở dữ liệu
5
ADO

ADO - ActiveX Data Objects

ADO là một giao diện lập trình mức ứng dụng
để truy cập dữ liệu thông qua OLE DB

ADO cung cấp một phương thức truy cập dữ


liệu nhất quán và hiệu năng cao

OLE DB là một giao diện lập trình mức hệ
thống cho phép truy cập trực tiếp tới tất cả
các kiểu dữ liệu
6
ADO

Kiến trúc
7
ADO

Kiến trúc

Application - Ứng dụng sử dụng các đối tượng của ADO
để giao tiếp với một nguồn dữ liệu (Data Source). Gửi các
câu lệnh SQL và xử lý kết quả trả về

ADO - Quản lý việc giao tiếp giữa ứng dụng và trình cung
cấp (provider)

OLE DB provider - Xử lý các lời gọi ADO từ ứng dụng, kết
nối đến từng nguồn dữ liệu, truyền các câu lệnh SQL từ
ứng dụng đến nguồn dữ liệu và trả kết quả về cho ứng
dụng

Data source - Chứa thông tin sử dụng bởi trình cung cấp
để truy cập vào một thể hiện cụ thể của dữ liệu trong
một hệ quản trị cơ sở dữ liệu
8

ADO

Các đối tượng cơ bản

Connection - Quản lý một kết nối tới một
nguồn dữ liệu, đối tượng Connection định
nghĩa các thuộc tính của kết nối (trong đó
có thuộc tính Provider và Data Source)

Recordset - Quản lý tập các bản ghi thu
được từ truy vấn tới cơ sở dữ liệu
9
Kết nối CSDL với ADO

Thao tác với Connection

Thao tác trên Recordset
10
Thao tác với Connection

Mở kết nối tới nguồn dữ liệu
‘file thuDB.asp trong thư mục C:\MyWebs
Dim cnn
set cnn=Server.CreateObject("ADODB.Connection")
cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; " &_
“Data Source=C:\MyWebs\DB\thu.mdb"
cnn.Open
Data Source = Server.MapPath("db/thu.mdb")
cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; " &_
“Data Source= " & Server.MapPath("db/thu.mdb")

11
Thao tác với Connection

Đóng kết nối
cnn.Close
12
Thao tác trên Recordset

Thực hiện một câu truy vấn

Recordset.Open(Source, ActiveConnection,
CursorType, LockType, Options)

Source - Câu lệnh truy vấn

ActiveConnection - tên đối tượng kết nối

CursorType - Kiểu con trỏ khi mở Recordset

LockType - Kiểu khoá khi mở Recordset

Options - Lựa chọn thêm
13
Thao tác trên Recordset

Thực hiện một câu truy vấn
dim rs
set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "select * from person", cnn
14

Thao tác trên Recordset

Truy cập đến các trường của 1 bản ghi (Fields of Record)
trong tập bản ghi Recordset
Response. Write rs(“name”) & “ có tuổi là “ & rs(“age”)
Response. Write rs![name] & “ có tuổi là “ & rs![age]

Truy cập đến các trường của tất cả các bản ghi trong tập
bản ghi Recordset
if not rs.EOF then rs.MoveFirst
Do Until rs.EOF
Response. Write rs(“name”) & “ có tuổi là “ & rs(“age”) & ”<br>”
rs.MoveNext
Loop
15
Thao tác trên Recordset

Di chuyển qua các bản ghi
Recordset.MoveFirst
Recordset.MoveLast
Recordset.MoveNext
Recordset.MovePrevious
16
Thao tác trên Recordset

Bookmark

Thuộc tính của Recordset

Đánh dấu vị trí của bản ghi hiện tại


Thường được dùng để lưu vị trí của một
bản ghi nào đó làm điểm quay trở về sau
đó
Dim varBkmk
varBkmk = Recordset.Bookmark
17
Thao tác trên Recordset

Tìm kiếm bản ghi - Find
Recordset.Find “điều kiện”, [SkipRows], [Direction], [Start]
Các toán tử điều kiện

=, <, >, <=, >=, <>

LIKE
rs.Find “name=‘A’ “
rs.Find “name LIKE ‘%A%’ “
Chú ý: 1 xâu trong điều kiện được đặt trong cặp nháy đơn
18
Thao tác trên Recordset

Lọc các bản ghi - Filter: Tạm thời giới hạn các
bản ghi trong Recordset
Recordset.Filter = “điều kiện tìm kiếm”
Chú ý: 1 xâu trong điều kiện được đặt trong cặp nháy đơn
rs.Filter = “name=‘A’ OR age>30”
Xoá bỏ bộ lọc bằng cách thiết lập lại thuộc tính Filter
về rỗng
rs.Filter = “”

19
Thao tác trên Recordset

Cập nhật bản ghi

Thêm bản ghi
Recordset.AddNew
Nhập nội dung cho bản ghi mới
Recordset.Update
rs.AddNew
rs(“name”) = “D”
rs(“age”) = 50
rs.Update
20
Thao tác trên Recordset

Cập nhật bản ghi

Sửa bản ghi
Thay đổi nội dung bản ghi (vị trí hiện tại)
Recordset.Update
rs(“name”) = “Nguyễn Văn B”
rs.Update

Xoá bản ghi
Recordset.Delete ‘Xoá bản ghi hiện tại
21
Thao tác trên Recordset

Một số thuộc tính khác


EOF (End Of File) - True/False

BOF (Beginning Of File) - True/False

RecordCount - Số bản ghi trong Recordset
22
SQL - SELECT
SELECT field_1, field_2, field_N FROM table
23
SQL - mệnh đề WHERE
SELECT field(s) FROM table(s)
WHERE field operator value
24
SQL - các toán tử (operator)
=
<>
>
<
>=
<=
BETWEEN
LIKE ‘%value%’
IN
25
SLQ - INSERT
INSERT INTO
table_name[(field1,field2, fieldN)]
VALUES(value1, value2, valueN)

×