Đại Học Sư Phạm Tp. Hồ Chí Minh
Khoa Toán – Tin Học
LẬP TRÌNH WINDOWSLẬP TRÌNH WINDOWS
Lập trình cơ sở dữ liệu Lập trình cơ sở dữ liệu
vớithư viện ADOvớithư viện ADO
với
thư
viện
ADOvới
thư
viện
ADO
(ADO (ADO –– ACTIVEX DATA OBJECT)ACTIVEX DATA OBJECT)
• Tổng quan về lập trình CSDL
• Thư viện ADO
•
LậptrìnhCSDLvới ADO
Trần Ngọc Bảo - Email:
•
Lập
trình
CSDL
CSDL
với
ADO
SS
Ứng dụng quản lý
NDOW
S
NDOW
S
D
O
D
O
•Hệ thống quản lý học sinh: lưu trữ thông tin liên
quan đếnhọcsinh
R
ÌNH WI
R
ÌNH WI
V
ỚI A
DV
ỚI A
D
quan
đến
R
ÌNH
CR
ÌNH
C
quan
đế
n n
hâ
n vi
ê
n tron
g
c
ô
n
g
ty
•Hệ thống quản lý tiền lương
I
ẢNG H
ỌI
ẢNG H
Ọ
L
ẬP T
RL
ẬP T
R
•Hệ thống quản lý kế toán
D
O
R
ÌNH WI
R
ÌNH WI
V
ỚI A
DV
ỚI A
D
N
LẬP T
RN
LẬP T
R
C
SDL
VC
SDL
V
Ọ
C PHẦ
NỌ
C PHẦ
N
R
ÌNH
CR
ÌNH
ÌNH WI
R
ÌNH WI
V
ỚI A
DV
ỚI A
D
N
LẬP T
RN
LẬP T
R
C
SDL
VC
SDL
V
Ọ
C PHẦ
NỌ
C PHẦ
N
R
ÌNH
CR
ÌNH
C
I
ẢNG H
V
ỚI A
DV
ỚI A
D
N
LẬP T
RN
LẬP T
R
C
SDL
VC
SDL
V
Ọ
C PHẦ
NỌ
C PHẦ
N
R
ÌNH
CR
ÌNH
C
I
ẢNG H
ỌI
ẢNG H
Ọ
từ
đâu
?
SS
Mẫu biểu trong các ứng dụng
NDOW
S
NDOW
S
D
O
D
O
R
ÌNH WI
R
ÌNH WI
V
ỚI A
DV
ỚI A
D
N
LẬP T
RN
LẬP T
R
Thông tin thể hiện trên báo cáo đượclấytừ đâu ?
TRẦN NGỌC BẢO TRẦN NGỌC BẢO KHOA TOÁN KHOA TOÁN TIN HỌC TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM ĐẠI HỌC SƯ PHẠM TP.HCM ((77))TRẦN NGỌC BẢO TRẦN NGỌC BẢO KHOA TOÁN KHOA TOÁN TIN HỌC TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM ĐẠI HỌC SƯ PHẠM TP.HCM ((77))
77
Thông
tin
thể
hiện
trên
báo
cáo
được
lấy
từ
đâu
?
SS
Dữ liệu trong các ứng dụng quản lý
NDOW
S
đến
học
sinh
như:
Tất
cả
thông
tin
liên
quan
đến
học
sinh
như:
Lý
SDL
VC
SDL
V
Thông tin nhân viên được lưu trữ như thế nào ?
ợ gợ g
ỆỆ
Ọ
C PHẦ
NỌ
C PHẦ
N
R
ÌNH
CR
ÌNH
C
Tất cả thông tin liên quan đến nhân viên như: Tất cả thông tin liên quan đến nhân viên như: Lý Lý
lịch nhân viên, quá trình công tác, quá trình lịch nhân viên, quá trình công tác, quá trình
l kh h ở kỷ l ậl kh h ở kỷ l ậ
Đ l ữĐ l ữ
I
ẢNG H
ỌI
ẢNG H
Ọ
L
ẬP T
RL
ẬP T
ược
l
ưu tr
ữ
Đ
ược
l
ưu tr
ữ
trong trong CƠ SỞ DỮ LIỆUCƠ SỞ DỮ LIỆU
BÀI G
I
BÀI G
I
LL
Thông tin thể hiện trên báo cáo được lấy từ đâu ?
Tất cả thôn
g
tin th
ể
hi
ệ
n trên báo cáo đư
ợ
c lấ
y
Tất cả thôn
g
ỚI A
D
N
LẬP T
RN
LẬP T
R
C
SDL
VC
SDL
V
Ọ
C PHẦ
NỌ
C PHẦ
N
R
ÌNH
CR
ÌNH
C
Lấy dữ
liệu
I
ẢNG H
ỌI
ẢNG H
Ọ
L
u
SS
Tương tác dữ liệu: thêm, xóa,
NDOW
S
NDOW
S
D
O
D
O
Thêm dữ li
ệ
u
R
ÌNH WI
R
ÌNH WI
V
ỚI A
DV
ỚI A
D
ệ
Cập nhật dữ liệu
N
LẬP T
RN
LẬP T
R
R
y ệ
ấấ
ÊÓỬ ẤÊÓỬ Ấ
BÀI G
I
BÀI G
I
LL
T
ấ
t cả các thao tác T
ấ
t cả các thao tác TH
Ê
M, X
Ó
A, S
Ử
A, TRUY V
Ấ
NTH
Ê
M, X
Ó
A, S
Ử
A, TRUY V
Ấ
N
đ
ể
thêm 1 hay nhiều dòn
g
vào
Table tron
g
CSDL
R
ÌNH WI
R
ÌNH WI
V
ỚI A
DV
ỚI A
D
• Cú pháp (thêm 1 dòng)
g
N
LẬP T
RN
LẬP T
R
C
SDL
VC
SDL
V
INSERT INTO <tên bảng>(<danh sách các thuộc tính>)
ẢNG H
ỌI
ẢNG H
Ọ
L
ẬP T
RL
ẬP T
R
INSERT INTO NHANVIEN
(
HONV
,
TENLOT
,
TENNV
,
MANV
)
ộ ọ
‘Tuyen’ với mã số = ‘NV001’ vào Table NhanVien
BÀI G
I
BÀI G
I
LL
(, , , )
VALUES (‘Le’, ‘Van’, ‘Tuyen’, ‘NV001’)
TRẦN NGỌC BẢO TRẦN NGỌC BẢO KHOA TOÁN KHOA TOÁN TIN HỌC TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM ĐẠI HỌC SƯ PHẠM TP.HCM ((1111))TRẦN NGỌC BẢO TRẦN NGỌC BẢO KHOA TOÁN KHOA TOÁN TIN HỌC TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM ĐẠI HỌC SƯ PHẠM TP.HCM ((1111))
1111
RN
LẬP T
R
C
SDL
VC
SDL
V
DELETE
FROM
<tên
bảng>
[WHERE <điều kiện>]
Ọ
C PHẦ
NỌ
C PHẦ
N
R
ÌNH
CR
ÌNH
C
O
–Xoá nhân viên có mã số = ‘345345345’ trong Table NhanVien
I
ẢNG H
NDOW
S
D
O
D
O
• Dùng để thay đổi giá trị của thuộc
tính cho các dòng củabảng
R
ÌNH WI
R
ÌNH WI
V
ỚI A
DV
ỚI A
D
tính
cho
các
dòng
của
bảng
• Cú pháp
N
ẬP T
R
<tên
thuộc
tính>=<giá
trị
mới>
,
…
BÀI G
I
BÀI G
I
LL
[WHERE <điều kiện>]
TRẦN NGỌC BẢO TRẦN NGỌC BẢO KHOA TOÁN KHOA TOÁN TIN HỌC TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM ĐẠI HỌC SƯ PHẠM TP.HCM ((1313))TRẦN NGỌC BẢO TRẦN NGỌC BẢO KHOA TOÁN KHOA TOÁN TIN HỌC TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM ĐẠI HỌC SƯ PHẠM TP.HCM ((1313))
1313
SS
Lệnh UPDATE
NDOW
S
NDOW
S
D
O
D
R
ÌNH
CR
ÌNH
C
WHERE MANV=‘333445555’
–
Sửathuộctính
lương
củatấtcả nhân viên bằng
lương cũ
*
1.1
I
ẢNG H
ỌI
ẢNG H
Ọ
L
ẬP T
RL
ẬP T
R
UPDATE
NHANVIEN
Sửa
thuộc
tính
SS
CÚ PHÁP CÂU LỆNH SELECT
NDOW
S
NDOW
S
D
O
D
O
SELECT <Danh sách các cột được chọn>
FROM
< Danh sách các bảng>
R
ÌNH WI
R
ÌNH WI
V
ỚI A
DV
ỚI A
D
FROM
<
Danh
sách
các
Ọ
C PHẦ
NỌ
C PHẦ
N
R
ÌNH
CR
ÌNH
C
ORDER
BY
<
Danh
sách
cột
cần
sắp
xếp>
Dùng để lấydữ liệutừ CSDL hiểnthị lên màn hình,
I
ẢNG H
ỌI
report,…
BÀI G
I
BÀI G
I
LL
TRẦN NGỌC BẢO TRẦN NGỌC BẢO KHOA TOÁN KHOA TOÁN TIN HỌC TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM ĐẠI HỌC SƯ PHẠM TP.HCM ((1515))TRẦN NGỌC BẢO TRẦN NGỌC BẢO KHOA TOÁN KHOA TOÁN TIN HỌC TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM ĐẠI HỌC SƯ PHẠM TP.HCM ((1515))
1515
SS
Lập trình CSDL trong ứng dụng quản lý
NDOW
S
NDOW
S
D
O
D
O
CT Nhân sựCT Nhân sự
Thành phầngiaodiện
R
ÌNH WI
R
ÌNH WI
V
ỚI A
DV
ỚI A
D
ệ
I
ẢNG H
ỌI
ẢNG H
Ọ
L
ẬP T
RL
ẬP T
R
CSDLCSDL
Thành
phần
dữ
liệu
BÀI G
I
BÀI G
I
LL
CSDLCSDL
Thành
phần
dữ
liệu
TRẦN NGỌC BẢO TRẦN NGỌC BẢO KHOA TOÁN KHOA TOÁN TIN HỌC TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM ĐẠI HỌC SƯ PHẠM TP.HCM ((1616))TRẦN NGỌC BẢO TRẦN NGỌC BẢO KHOA TOÁN KHOA TOÁN TIN HỌC TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM ĐẠI HỌC SƯ PHẠM TP.HCM ((1616))
1616
Visual
C++
,
C#,
VB
.
NET,
Delphi…
N
LẬP T
RN
LẬP T
R
C
SDL
VC
SDL
V
KếtnốiKếtnối
Giao tiếpdữ liệu: ODBC,
DAO
ADODB
ADO
NET
Ọ
C PHẦ
NỌ
C PHẦ
N
R
Thành
phần
dữ
liệu
:
MS
BÀI G
I
BÀI G
I
LL
CSDLCSDL
Thành
phần
dữ
liệu
:
MS
Access, SQL Server, Oracle,…
TRẦN NGỌC BẢO TRẦN NGỌC BẢO KHOA TOÁN KHOA TOÁN TIN HỌC TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM ĐẠI HỌC SƯ PHẠM TP.HCM ((1717))TRẦN NGỌC BẢO TRẦN NGỌC BẢO KHOA TOÁN KHOA TOÁN TIN HỌC TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM ĐẠI HỌC SƯ PHẠM TP.HCM ((1717))
1717
SS
Một số hệ quản trị CSDL thông dụng
NDOW
S
NDOW
S
D
O
C PHẦ
N
R
ÌNH
CR
ÌNH
C
Oracle 8i/9i/10i/11i
CSDLCSDL
I
ẢNG H
ỌI
ẢNG H
Ọ
L
ẬP T
RL
ẬP T
R
My SQL
BÀI G
I
BÀI G
I
LL
TRẦN NGỌC BẢO TRẦN NGỌC BẢO KHOA TOÁN KHOA TOÁN TIN HỌC TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM ĐẠI HỌC SƯ PHẠM TP.HCM ((1818))TRẦN NGỌC BẢO TRẦN NGỌC BẢO KHOA TOÁN KHOA TOÁN TIN HỌC TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM ĐẠI HỌC SƯ PHẠM TP.HCM ((1818))
1818
Đại Học Sư Phạm Tp. Hồ Chí Minh
Khoa Toán – Tin Học
LẬP TRÌNH WINDOWSLẬP TRÌNH WINDOWS
SS
Sử dụng thư viện ADO
NDOW
S
NDOW
S
D
O
D
O
Làm thế nào để sử dụng được thư viện ADO để kết nối dữ liệu trong Visual
C++ ?
R
ÌNH WI
R
ÌNH WI
V
ỚI A
DV
ỚI A
D
Tạo CMyADO Class :
// Thêm dòng dưới đây vào đầu Class .
N
LẬP T
RN
LẬP T
R
C
SDL
ẢNG H
ỌI
ẢNG H
Ọ
L
ẬP T
RL
ẬP T
R
{
if(FAILED(CoInitialize(NULL)))
tFALSE
BÀI G
I
BÀI G
I
LL
re
t
urn
FALSE
;
return TRUE;
}
TRẦN NGỌC BẢO TRẦN NGỌC BẢO KHOA TOÁN KHOA TOÁN TIN HỌC TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM ĐẠI HỌC SƯ PHẠM TP.HCM ((2020))TRẦN NGỌC BẢO TRẦN NGỌC BẢO KHOA TOÁN KHOA TOÁN TIN HỌC TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM ĐẠI HỌC SƯ PHẠM TP.HCM ((2020))
2020
}
SS
Thư viện ADO
NDOW
N
R
ÌNH
CR
ÌNH
C
I
ẢNG H
ỌI
ẢNG H
Ọ
L
ẬP T
RL
ẬP T
R
BÀI G
I
BÀI G
I
LL
TRẦN NGỌC BẢO TRẦN NGỌC BẢO KHOA TOÁN KHOA TOÁN TIN HỌC TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM ĐẠI HỌC SƯ PHẠM TP.HCM ((2121))TRẦN NGỌC BẢO TRẦN NGỌC BẢO KHOA TOÁN KHOA TOÁN TIN HỌC TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM ĐẠI HỌC SƯ PHẠM TP.HCM ((2121))
2121
SS
Thư viện ADO
NDOW
S
NDOW
S
D
N
R
ÌNH
CR
ÌNH
C
RecordSet
Field
I
ẢNG H
ỌI
ẢNG H
Ọ
L
ẬP T
RL
ẬP T
R
Field
BÀI G
I
BÀI G
I
LL
Parameter
TRẦN NGỌC BẢO TRẦN NGỌC BẢO KHOA TOÁN KHOA TOÁN TIN HỌC TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM ĐẠI HỌC SƯ PHẠM TP.HCM ((2222))TRẦN NGỌC BẢO TRẦN NGỌC BẢO KHOA TOÁN KHOA TOÁN TIN HỌC TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM ĐẠI HỌC SƯ PHẠM TP.HCM ((2222))
2222
LẬP T
RN
LẬP T
R
C
SDL
VC
SDL
V
Ứng dụng
MS S
Q
L Server
File *.mdb nào ?File *.mdb nào ?
VD: QLHS.mdb, VD: QLHS.mdb,
QLNS mdbQLNS mdb
Ọ
C PHẦ
NỌ
C PHẦ
N
R
ÌNH
CR
ÌNH
C
Q
ConnectionConnection
QLNS
.
DatabaseName ?DatabaseName ?
User Name ?User Name ?
TRẦN NGỌC BẢO TRẦN NGỌC BẢO KHOA TOÁN KHOA TOÁN TIN HỌC TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM ĐẠI HỌC SƯ PHẠM TP.HCM ((2323))TRẦN NGỌC BẢO TRẦN NGỌC BẢO KHOA TOÁN KHOA TOÁN TIN HỌC TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM ĐẠI HỌC SƯ PHẠM TP.HCM ((2323))
2323
Password ?Password ?
SS
Đối tượng Connection
NDOW
S
NDOW
S
D
O
D
O
Ý nghĩa
Đ
ối tượn
g
Đ
ối tượn
g
Connection dùn
g
đ
ể
mở kết nối với n
g
uồn cơ sở dữ dùn
Ví dụ:
Server,
Oracle,…)Server,
Oracle,…)
ể ế ốể ế ố
Ọ
C PHẦ
NỌ
C PHẦ
N
R
ÌNH
CR
ÌNH
C
Để
k
ế
t n
ố
i ứng dụng quản lý học sinh với cơ sở dữ liệu quản lý
Để
k
ế
t n
ố
i ứng dụng quản lý học sinh với cơ sở dữ liệu quản lý
học sinh được lưu trữ trong học sinh được lưu trữ trong Access chúng ta cần tạo một đối chúng ta cần tạo một đối
R
ợ gợ g
ập ụập ụ
yy
C:C:\\C4WC4W\\DataData\\QLHS.mdbQLHS.mdb
Để kết nối ứng dụng quản lý học sinh với cơ sở dữ liệu quản lý Để kết nối ứng dụng quản lý học sinh với cơ sở dữ liệu quản lý
BÀI G
I
BÀI G
I
LL
học sinh được lưu trữ trong học sinh được lưu trữ trong SQL Server chúng ta cần tạo một chúng ta cần tạo một
đối tượng đối tượng ConnectionConnection chỉ đến chỉ đến DB nào ? Server nào ? Với User DB nào ? Server nào ? Với User
và
p
assword nào ?và
p
assword nào ?
TRẦN NGỌC BẢO TRẦN NGỌC BẢO KHOA TOÁN KHOA TOÁN TIN HỌC TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM ĐẠI HỌC SƯ PHẠM TP.HCM ((2424))TRẦN NGỌC BẢO TRẦN NGỌC BẢO KHOA TOÁN KHOA TOÁN TIN HỌC TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM ĐẠI HỌC SƯ PHẠM TP.HCM ((2424))
2424
pp
SS
Đối tượng Connection
NDOW
S
NDOW
S
D
O
D
eg
i
n
T
rans
B
eg
i
n
T
rans
C
omp
l
e
t
e
CommandTimeOut Cancel CommitTransComplete
ConnectionString Close ConnectComplete
ConnectionTimeOut CommitTrans DisConnect
Ọ
C PHẦ
NỌ
C PHẦ
N
R
ÌNH
CR
ÌNH
C
er
State
Version
TRẦN NGỌC BẢO TRẦN NGỌC BẢO KHOA TOÁN KHOA TOÁN TIN HỌC TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM ĐẠI HỌC SƯ PHẠM TP.HCM ((2525))TRẦN NGỌC BẢO TRẦN NGỌC BẢO KHOA TOÁN KHOA TOÁN TIN HỌC TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM ĐẠI HỌC SƯ PHẠM TP.HCM ((2525))
2525