158
C
C
h
h
ư
ư
ơ
ơ
n
n
g
g6
6
:
:L
L
Ậ
Ậ
P
PT
L
I
I
Ệ
Ệ
U
U
6
6
.
.
1
1
.
.
G
G
I
I
Ớ
Ớ
I
IT
T
c
cc
c
h
h
ư
ư
ơ
ơ
n
n
g
gt
t
r
r
ì
ì
n
n
h
h
à
à
y
yđ
đ
ế
ế
u
uí
í
t
tn
n
h
h
i
i
ề
ề
u
u
v
v
i
i
ệ
ệ
c
ct
t
r
r
u
u
y
yx
x
u
u
ấ
ấ
t
tc
c
á
á
c
cc
c
ơ
ơs
s
ở
ởd
d
ữ
ữl
l
h
h
ế
ến
n
ê
ê
n
nc
c
á
á
c
ct
t
h
h
a
a
o
o
t
t
r
r
ì
ì
n
n
h
hc
c
ơ
ơs
s
ở
ởd
d
ữ
ữ
ă
ă
n
n
g
gk
k
h
h
ô
ô
n
n
g
gt
t
h
h
ể
ểt
t
ô
ô
n
nn
n
g
g
ữ
ữl
l
ậ
ậ
p
pt
t
r
r
ì
ì
n
n
n
n
g
gđ
đ
ó
óc
c
ó
óJ
J
a
a
v
v
a
a
.
.v
v
i
i
ệ
ệ
n
nc
c
h
h
ứ
ứ
a
ac
c
á
á
c
c
n
nh
h
ỗ
ỗt
t
r
r
ợ
ợl
l
ậ
ậ
p
pt
t
r
r
ế
ế
t
tn
n
ố
ố
i
iv
v
à
àt
t
r
r
u
u
y
y
c
c
ơ
ơs
s
ở
ởd
d
ữ
ữl
l
i
i
ệ
ệ
u
u
.
.
A
A
P
P
I
Im
m
ớ
ớ
i
in
n
h
h
ấ
ấ
t
th
h
i
i
l
l
à
àm
m
ộ
ộ
t
tt
t
h
h
à
à
n
n
h
hp
p
h
h
n
n
ằ
ằ
m
mt
t
r
r
o
o
n
n
g
g2
2g
g
ó
ó
i
i
v
v
a
a
.
.
s
s
q
q
l
l
:
:
c
c
h
h
ứ
ứ
a
ac
c
d
d
i
i
ê
ê
n
nc
c
ơ
ơs
s
ở
ởc
c
ủ
ủ
a
a
a
a
x
x
.
.
s
s
q
q
l
l
:
:
c
c
h
h
ứ
ứ
a
ac
c
d
d
i
i
ệ
ệ
n
nm
m
ở
ởr
r
ộ
ộ
n
n
g
g
.
.J
J
p
pc
c
ơ
ơc
c
h
h
ế
ếc
c
h
h
o
op
p
h
h
r
r
ì
ì
n
n
h
hv
v
i
i
ế
ế
t
tb
b
ằ
ằ
n
n
g
g
g
gđ
đ
ộ
ộ
c
cl
l
ậ
ậ
p
pv
v
ớ
ớ
i
ic
c
l
l
i
i
ệ
ệ
u
u
,
,c
c
ó
ók
k
h
h
ả
ản
n
ă
ă
c
c
á
á
c
ch
h
ệ
ệc
c
ơ
ơs
s
ở
ởd
d
u
um
m
à
àk
k
h
h
ô
ô
n
n
g
gc
c
ầ
ầ
n
nt
t
r
r
ì
ì
n
n
h
h
.
.J
J
D
D
B
B
C
Cđ
đ
ơ
ơ
t
t
ạ
ạ
o
ov
v
à
àt
t
h
h
i
ih
h
à
à
n
n
v
v
ấ
ấ
n
nS
S
Q
Q
L
Lt
t
r
r
o
o
n
n
g
gc
c
.
.
2
2
.
.
K
K
I
I
Ế
Ế
N
NT
T
R
R
Ú
Ú
C
CJ
J
D
D
ủ
a
ac
c
ủ
ủ
a
aJ
J
D
D
B
B
C
Ct
t
ư
ư
ơ
ơ
n
t
r
r
ú
ú
c
cO
O
D
D
B
B
C
Cd
d
o
oM
M
i
i
c
g
.
.T
T
h
h
e
e
o
ok
k
i
i
ế
ế
n
nt
t
r
r
ú
t
t
á
á
c
cl
l
i
i
ê
ê
n
nq
q
u
u
a
a
n
nđ
ệ
u
ut
t
r
r
o
o
n
n
g
gc
c
h
h
ư
ư
ơ
ơ
n
n
g
g
ch
h
i
i
ệ
ệ
n
nt
t
h
h
ô
ô
n
n
g
gq
q
u
u
a
S
S
a
a
u
uđ
đ
ó
óc
c
á
á
c
cJ
J
D
D
B
B
C
c
c
á
á
c
cy
y
ê
ê
u
uc
c
ầ
ầ
u
uc
c
ủ
ủ
a
đ
ế
ế
n
nb
b
ộ
ộq
q
u
u
ả
ả
n
nl
l
ý
ýt
nJ
J
D
D
B
B
C
C
,
,l
l
à
àb
b
ộ
ộp
p
h
l
l
ự
ự
a
ac
c
h
h
ọ
ọ
n
nt
t
r
r
ì
ì
n
n
h
h
c
h
hh
h
ợ
ợ
p
pđ
đ
ể
ểc
c
ó
ót
t
h
h
ể
c
ơ
ơs
s
ở
ởd
d
ữ
ữl
l
i
i
ệ
ệ
u
uc
c
ụ
t
t
r
r
ì
ì
n
n
h
hm
m
u
u
ố
ố
n
nk
k
ế
ế
t
t
k
i
i
ế
ế
n
nt
t
r
r
ú
ú
c
cc
c
ủ
ủ
a
aJ
J
D
t
t
ầ
ầ
n
n
g
gđ
đ
ầ
ầ
u
ut
t
i
i
ê
ê
n
n
I
,
,c
c
ó
ón
n
h
h
i
i
ệ
ệ
m
mv
v
ụ
ục
l
ệ
ệ
n
n
h
hS
S
Q
Q
L
Lc
c
h
h
o
ob
b
ộ
ộ
đ
i
i
ề
ề
u
uk
k
h
h
i
i
ể
ể
n
nJ
J
D
D
B
B
C
C
;
c
c
á
á
c
cJ
J
D
D
B
B
C
CD
D
r
r
i
i
v
v
e
e
r
nn
n
h
h
i
i
ệ
ệ
m
mv
v
ụ
ụl
l
i
i
ệ
ệ
n
n
ề
u
uk
k
h
h
i
i
ể
ể
n
nc
c
ủ
ủ
a
ah
h
ệ
ệ
d
d
ữ
ữl
l
i
i
ệ
ệ
u
uc
c
ụ
ụt
t
h
h
ể
ể
.
ớ
i
im
m
i
i
n
n
h
hh
h
ọ
ọ
a
ac
c
á
á
c
c
ệ
n
nc
c
ơ
ơb
b
ả
ả
n
nt
t
r
r
o
o
n
n
g
g
.
C
C
á
á
c
ck
k
h
h
á
á
i
in
n
i
i
ệ
ệ
m
mc
B
C
CD
D
r
r
i
i
v
v
e
e
r
rĐ
Đ
ể
ểc
c
ó
ó
t
r
r
u
u
y
yc
c
ậ
ậ
p
pđ
đ
ế
ế
n
nc
c
á
á
c
ơs
s
ở
ởd
d
ữ
ữl
l
i
i
ệ
ệ
u
us
s
ử
ử
J
D
D
B
B
C
C
,
,c
c
h
h
ú
ú
n
n
g
gt
t
a
ac
n
h
hđ
đ
i
i
ề
ề
u
uk
k
h
h
i
i
ể
ể
n
nJ
J
D
t
t
r
r
ị
ịC
C
S
S
D
D
L
Lm
m
à
àc
c
h
h
ú
d
ụ
ụ
n
n
g
g
.
.T
T
r
r
ì
ì
n
n
h
hđ
đ
i
i
ề
ề
u
đ
đ
o
o
ạ
ạ
n
nc
c
h
h
ư
ư
ơ
ơ
n
n
g
gt
t
r
r
ì
h
à
àx
x
â
â
y
yd
d
ự
ự
n
n
g
gh
h
ệ
ệq
o
ặ
ặ
c
cd
d
o
on
n
h
h
à
àc
c
u
u
n
n
g
g
gc
c
ấ
ấ
p
p
,
,c
c
ó
ók
k
h
h
ả
ản
n
ă
q
u
u
ả
ả
n
nt
t
r
r
ị
ịC
C
S
S
D
D
L
Lc
c
ụ
c
c
á
á
c
cc
c
â
â
u
ul
l
ệ
ệ
n
n
h
hS
S
Q
á
c
ct
t
r
r
ì
ì
n
n
h
hđ
đ
i
i
ề
ề
u
uk
k
h
á
c
ch
h
ệ
ệq
q
u
u
ả
ả
n
nt
t
r
r
ị
ịC
đ
ư
ư
ợ
ợ
c
cS
S
u
u
n
nc
c
u
u
n
n
g
gc
c
ấ
l
i
i
ê
ê
n
nt
t
ụ
ụ
c
ct
t
ạ
ạ
i
iđ
đ
ị
ị
a
i
n
n
d
d
u
u
s
s
t
t
r
r
y
y
.
.
j
j
a
a
v
v
a
a
.
.
s
s
u
/
j
j
d
d
b
b
c
c
/
/
d
d
r
r
i
i
v
v
e
e
r
r
s
s
.
.C
k
h
h
i
i
ể
ể
n
nJ
J
D
D
B
B
C
Cđ
đ
ư
ư
ợ
ợ
c
c
ạ
i
ik
k
h
h
á
á
c
cn
n
h
h
a
a
u
u
.
.§
§
ng
g
ọ
ọ
i
il
l
à
àB
B
r
r
i
i
d
d
g
g
e
e
đ
i
i
ề
ề
u
uk
k
h
h
i
i
ể
ể
n
nl
l
o
o
ạ
ạ
i
i
ic
c
á
á
c
ch
h
ệ
ệC
C
S
S
D
D
L
Lt
t
h
iO
O
D
D
B
B
C
C
.
.Đ
Đ
â
â
y
yc
c
h
h
í
í
n
uk
k
h
h
i
i
ể
ể
n
n
161
đ
đ
ư
ư
ợ
ợ
c
cs
s
ử
n
n
h
h
ấ
ấ
t
tt
t
r
r
o
o
n
n
g
gn
n
h
h
ữ
ữ
n
ax
x
u
u
ấ
ấ
t
th
h
i
i
ệ
ệ
n
n
.
.T
T
u
u
y
a
y
yt
t
r
r
ì
ì
n
n
h
hđ
đ
i
i
ề
ề
u
uk
k
h
h
ô
ô
n
n
g
gc
c
ò
ò
n
np
p
h
h
ổ
ổb
b
i
i
ế
h
ạ
ạ
n
nc
c
h
h
ế
ế
.
.T
T
r
r
ì
ì
n
n
h
hđ
n
n
à
à
y
yl
l
u
u
ô
ô
n
nđ
đ
ư
ư
ợ
ợ
c
cc
o
n
n
g
gb
b
ộ
ộJ
J
2
2
S
S
E
Ev
v
ớ
ớ
i
i
o
d
d
b
b
c
c
.
.
J
J
d
d
b
b
c
c
O
O
d
d
b
b
c
c
D
D
r
r
i
:
c
c
ó
ót
t
ê
ê
n
ng
g
ọ
ọ
i
il
l
à
i
v
v
e
e
r
r
.
.T
T
r
r
ì
ì
n
n
h
hđ
đ
i
i
ề
ề
u
ys
s
ẽ
ẽc
c
h
h
u
u
y
y
ể
ể
n
nc
c
á
á
c
c
B
C
CA
A
P
P
I
Is
s
a
a
n
n
g
gt
t
h
h
ư
ư
t
t
ư
ư
ơ
ơ
n
n
g
gứ
ứ
n
n
g
gv
v
ớ
ớ
i
it
t
t
h
h
ể
ể
.
.T
T
r
r
ì
ì
n
n
h
hđ
đ
i
i
ề
ề
u
yt
t
h
h
ư
ư
ờ
ờ
n
n
g
gc
c
h
h
ỉ
ỉd
d
o
o
ệC
C
S
S
D
D
L
Lc
c
u
u
n
n
g
gc
c
ấ
ấ
p
p
.
h
h
à
à
n
n
h
hc
c
h
h
ư
ư
ơ
ơ
n
n
g
gt
t
r
r
ì
l
à
à
m
mv
v
i
i
ệ
ệ
c
cv
v
ớ
ớ
i
ih
h
ệ
ệ
np
p
h
h
ả
ả
i
iđ
đ
ư
ư
ợ
ợ
c
cc
c
u
u
n
n
g
ic
c
h
h
ư
ư
ơ
ơ
n
n
g
gt
t
r
r
ì
ì
n
n
h
h
.
.
t
t
ê
ê
n
ng
g
ọ
ọ
i
il
l
à
àJ
J
D
D
B
B
C
r
ì
ì
n
n
h
hđ
đ
i
i
ề
ề
u
uk
k
h
h
i
i
ể
ể
n
n
u
y
y
ể
ể
n
nc
c
á
á
c
cl
l
ờ
ờ
i
ig
g
ọ
ọ
i
m
m
ộ
ộ
t
td
d
ạ
ạ
n
n
g
gc
c
h
h
u
u
ẩ
ẩ
n
n
ch
h
ệ
ệC
C
S
S
D
D
L
L
,
,v
v
à
às
s
a
s
a
a
n
n
g
gl
l
ờ
ờ
i
ig
g
ọ
ọ
i
ic
c
ủ
ủ
a
ểb
b
ỡ
ỡ
i
i1
1c
c
h
h
ư
ư
ơ
ơ
n
n
g
gt
n
.
.T
T
r
r
ì
ì
n
n
h
hđ
đ
i
i
ề
ề
u
uk
k
h
àc
c
u
u
n
n
g
gứ
ứ
n
n
g
gt
t
h
h
ứ
ứ3
l
o
o
ạ
ạ
i
in
n
à
à
y
y
.
.L
L
ợ
ợ
i
it
t
h
ề
u
uk
k
h
h
i
i
ể
ể
n
nl
l
o
o
ạ
ạ
i
i
162
n
nc
c
u
u
n
n
g
gc
c
ấ
ấ
p
pm
m
ã
ãl
l
ệ
c
c
ó
ót
t
h
h
ể
ểs
s
ử
ửd
d
ụ
ụ
n
n
g
g
đ
đ
i
i
ề
ề
u
uk
k
h
h
i
i
ể
ể
n
nđ
đ
ể
ểt
i
ề
ề
u
uh
h
ệ
ệC
C
S
S
D
D
L
Lk
k
h
h
á
á
c
4
4
:
:
c
c
ó
ót
t
ê
ê
n
ng
g
ọ
ọ
i
i
o
c
c
o
o
l
lD
D
r
r
i
i
v
v
e
e
r
r
.
.T
T
r
r
ì
l
o
o
ạ
ạ
i
in
n
à
à
y
yc
c
h
h
u
u
y
y
ể
ể
n
n
B
C
CA
A
P
P
I
Is
s
a
a
n
n
g
gm
m
ã
ãl
Lc
c
ụ
ụt
t
h
h
ể
ể
.
.Đ
Đ
â
â
y
yl
l
à
uk
k
h
h
i
i
ể
ể
n
nt
t
h
h
ầ
ầ
n
nJ
J
a
a
v
k
k
h
h
ô
ô
n
n
g
gc
c
ầ
ầ
n
np
p
h
h
ả
ả
i
i
h
h
ệ
ệC
C
S
S
D
D
L
Lc
c
ụ
ụt
t
h
h
ể
ể
h
ư
ư
ơ
ơ
n
n
g
gt
t
r
r
ì
ì
n
n
h
h
.
.
6
6
.
ểc
c
ó
ót
t
h
h
ể
ểk
k
ế
ế
t
tn
n
ố
ố
i
n
g
gt
t
a
ac
c
ầ
ầ
n
nx
x
á
á
c
cđ
đ
ị
ệ
u
uc
c
ù
ù
n
n
g
gv
v
ớ
ớ
i
ic
c
á
á
c
c
q
u
u
a
a
n
nd
d
ư
ư
ớ
ớ
i
id
d
ạ
ạ
n
n
g
g1
j
j
d
d
b
b
c
c
:
:
<
<
s
s
u
u
b
b
p
p
r
r
o
o
t
t
o
o
c
e
r
r
s
s
>
>T
T
r
r
o
o
n
n
g
gđ
đ
ó
ó
:
:§
:
đ
đ
ư
ư
ợ
ợ
c
cd
d
ù
ù
n
n
g
gđ
đ
ể
ể
đ
đ
i
i
ề
ề
u
uk
k
h
h
i
i
ể
ể
n
nđ
đ
ể
ểk
L
.
.§
§<
<
d
d
s
s
n
n
>
>
:
:
đ
đ
ị
ị
a
p
h
h
á
á
p
pc
c
ủ
ủ
a
a<
<
d
d
s
s
n
n
>
>p
ừ
n
n
g
g
t
t
r
r
ì
ì
n
n
h
hđ
đ
i
i
ề
ề
u
u
§<
<
o
o
t
t
h
h
e
e
r
r
>
>
:
:c
c
á
á
c
ct
d
d
ụ
ụ
:
:
163
§
§j
j
d
d
b
b
c
c
:
:
o
o
d
d
b
Lđ
đ
ể
ểk
k
ế
ế
t
tn
n
ố
ố
i
iv
v
ớ
ớ
i
m
e
es
s
ử
ửd
d
ụ
ụ
n
n
g
gc
c
ầ
ầ
u
un
b
c
c
:
:
m
m
i
i
c
c
r
r
o
o
s
s
o
o
f
f
t
t
:
:
s
s
q
q
l
a
m
m
e
e
:
:
1
1
4
4
3
3
3
3l
l
à
àU
U
R
R
L
L
C
C
S
S
D
D
L
LM
M
i
i
c
c
r
r
o
o
s
s
o
o
f
f
t
t
o
n
n
g
gđ
đ
ó
óh
h
o
o
s
s
t
t
n
n
a
a
m
m
e
e
S
S
Q
Q
L
LS
S
e
e
r
r
v
v
e
e
r
r
.
.6
6
.
.
4
V
Ớ
Ớ
I
IJ
J
D
D
B
B
C
CV
V
i
i
ệ
ệ
c
ck
k
ế
b
b
ằ
ằ
n
n
g
gJ
J
D
D
B
B
C
Cđ
đ
ư
ư
ợ
ợ
c
c
h
a
a
i
ib
b
ư
ư
ớ
ớ
c
c
:
:
đ
đ
ă
ă
n
n
g
g
k
h
h
i
i
ể
ể
n
nJ
J
D
D
B
B
C
C
;
;t
t
i
i
ế
ế
p
p
p
h
h
ư
ư
ơ
ơ
n
n
g
gt
t
h
h
ứ
ứ
c
cg
g
e
e
t
ủ
a
al
l
ớ
ớ
p
pD
D
r
r
i
i
v
v
e
e
r
r
M
M
a
a
n
n
g
gk
k
ý
ýt
t
r
r
ì
ì
n
n
h
hđ
đ
i
i
ề
ề
u
i
ề
ề
u
uk
k
h
h
i
i
ể
ể
n
nJ
J
D
D
B
B
C
Cđ
b
b
y
y
t
t
e
e
c
c
o
o
d
d
e
ec
c
ủ
ủ
a
an
n
ó
J
V
V
M
M
.
.M
M
ộ
ộ
t
tc
c
á
á
c
c
h
hđ
đ
ơ
h
h
i
i
ệ
ệ
n
nc
c
ô
ô
n
n
g
gv
v
i
i
ệ
ệ
c
c
ip
p
h
h
ư
ư
ơ
ơ
n
n
g
gt
t
h
h
ứ
ứ
c
cC
C
l
J
D
D
B
B
C
CD
D
r
r
i
i
v
v
e
e
r
r
>
>
”
”
)
)
.
.
t
t
r
r
ì
ì
n
n
h
hđ
đ
i
i
ề
ề
u
uk
k
h
h
i
i
ể
n
ố
ố
i
iO
O
D
D
B
B
C
Cd
d
o
oS
S
u
u
n
n
gt
t
a
as
s
ử
ửd
d
ụ
ụ
n
n
g
gc
c
â
â
u
s
.
.
f
f
o
o
r
r
N
N
a
a
m
m
e
e
(
(
“
“
s
s
u
u
n
n
.
.
j
d
b
b
c
c
D
D
r
r
i
i
v
v
e
e
r
r
”
”
)
)
.
.6
6
.
.
4
ế
t
tn
n
ố
ố
i
iS
S
a
a
u
uk
k
h
h
i
iđ
ề
u
uk
k
h
h
i
i
ể
ể
n
nJ
J
D
D
B
B
C
C
,
,v
iC
C
S
S
D
D
L
Lđ
đ
ư
ư
ợ
ợ
c
ct
t
h
h
ự
ự
c
t
r
r
o
o
n
n
g
gc
c
á
á
c
cp
p
h
h
ư
ư
ơ
ơ
n
n
g
gl
l
ớ
ớ
p
pD
D
r
r
i
i
v
v
e
e
r
r
M
M
a
a
n
n
a
s
t
t
a
a
t
t
i
i
c
cC
C
o
o
n
n
n
n
e
e
c
c
t
t
i
i
o
n
(
(
S
S
t
t
r
r
i
i
n
n
g
gu
u
r
r
l
l
)
)t
t
h
i
o
o
n
n
:
:t
t
h
h
ự
ự
c
ch
h
i
i
ệ
ệ
n
nk
Lđ
đ
ư
ư
ợ
ợ
c
cy
y
ê
ê
u
uc
c
ầ
ầ
u
u
.
.
n
h
hđ
đ
i
i
ề
ề
u
uk
k
h
h
i
i
ể
ể
n
ns
s
ẽ
h
ọ
ọ
n
nt
t
r
r
ì
ì
n
n
h
hđ
đ
i
i
ề
ề
u
uk
r
o
o
n
n
g
gs
s
ố
ốc
c
á
á
c
ct
t
r
r
ì
ì
n
ãđ
đ
ư
ư
ợ
ợ
c
cn
n
ạ
ạ
p
p
.
.§
§p
p
u
n
n
n
e
e
c
c
t
t
i
i
o
o
n
ng
g
e
e
t
t
C
C
o
o
n
n
n
u
r
r
l
l
,
,S
S
t
t
r
r
i
i
n
n
g
gu
u
s
s
e
e
r
t
t
h
h
r
r
o
o
w
w
s
sS
S
Q
Q
L
L
E
E
x
x
c
c
e
e
p
n
h
hk
k
ế
ế
t
tn
n
ố
ố
i
it
t
ớ
ớ
i
iC
o
ả
ả
n
nu
u
s
s
e
e
r
rv
v
à
àm
m
ậ
ậ
t
t
l
i
i
c
cs
s
t
t
a
a
t
t
i
i
c
cC
C
o
o
n
n
n
n
e
c
t
t
i
i
o
o
n
n
(
(
S
S
t
t
r
r
i
i
n
n
g
gu
u
r
r
l
n
f
f
o
o
)
)t
t
h
h
r
r
o
o
w
w
s
sS
S
Q
Q
L
L
E
n
g
gt
t
ự
ựh
h
a
a
i
ip
p
h
h
ư
ư
ơ
ơ
n
n
g
à
i
ir
r
a
ac
c
u
u
n
n
g
gc
c
ấ
ấ
p
pt
t
t
i
i
n
nq
q
u
u
i
iđ
đ
ị
ị
n
n
h
ht
t
h
ố
i
it
t
h
h
ô
ô
n
n
g
gq
q
u
u
a
ađ
đ
ố
ố
i
P
P
r
r
o
o
p
p
e
e
r
r
t
t
i
i
e
e
s
s
.
.K
K
ế
ế
t
ac
c
á
á
c
cp
p
h
h
ư
ư
ơ
ơ
n
n
g
gt
t
h
h
ứ
đ
ố
ố
i
it
t
ư
ư
ợ
ợ
n
n
g
gc
c
ủ
ủ
a
al
l
ớ
n
e
e
c
c
t
t
i
i
o
o
n
nđ
đ
ư
ư
ợ
ợ
c
cd
d
ù
ù
n
c
h
h
o
ok
k
ế
ế
t
tn
n
ố
ố
i
iđ
đ
ế
ế
n
n
d
d
ụ
ụT
T
r
r
o
o
n
n
g
gp
p
h
h
ầ
ầ
n
nv
t
t
a
as
s
ẽ
ẽt
t
ì
ì
m
mh
h
i
i
ế
ế
u
u
n
h
h
a
a
u
uđ
đ
ể
ểk
k
ế
ế
t
tn
n
ố
ố
i
i
D
l
lA
A
c
c
c
c
e
e
s
s
s
sm
m
o
o
v
v
i
i
e
e
s
n
g
gt
t
ê
ê
n
nM
M
o
o
v
v
i
i
e
e
s
s
.
.B
cc
c
ộ
ộ
t
tn
n
u
u
m
m
b
b
e
e
r
r
,
,t
t
i
v
à
àf
f
o
o
m
m
a
a
t
t
.
.
Đ
Đ
ể
ểc
c
ó
k
k
ế
ế
t
tn
n
ố
ố
i
iv
v
ớ
ớ
i
iM
M
i
i
c
t
h
h
ô
ô
n
n
g
gq
q
u
u
a
ac
c
ầ
ầ
u
un
n
ố
đ
đ
ã
ãt
t
ạ
ạ
o
ot
t
ậ
ậ
p
pt
t
i
i
n
n
b
,
,c
c
h
h
ú
ú
n
n
g
gt
t
a
ac
c
ầ
ầ
n
n
S
o
o
u
u
r
r
c
c
e
eN
N
a
a
m
m
e
ec
c
h
h
o
o
v
v
à
à
o
oC
C
o
o
n
n
t
t
r
r
o
o
l
lP
P
a
a
n
CD
D
a
a
t
t
a
aS
S
o
o
u
u
r
r
c
c
e
e
.
.
nv
v
à
à
o
on
n
ú
ú
t
tA
A
d
d
d
d
,
,b
nt
t
h
h
ị
ịd
d
a
a
n
n
h
hs
s
á
á
c
c
h
h
k
k
h
h
i
i
ể
ể
n
nC
C
S
S
D
D
L
Lh
h
i
i
ệ
ệ
n
ọ
n
nM
M
i
i
c
c
r
r
o
o
s
s
o
o
f
f
t
tA
A
c
c
c
d
b
b
)
)v
v
à
àn
n
h
h
ấ
ấ
n
nF
F
i
i
n
n
i
h
h
ì
ì
n
n
h
hc
c
h
h
o
ot
t
ậ
ậ
p
pt
t
i
ấ
t
th
h
i
i
ệ
ệ
n
nv
v
à
àn
n
h
h
ậ
ậ
p
p
ôD
D
a
a
t
t
a
aS
S
o
o
u
u
r
r
c
c
e
eN
N
a
n
ú
ú
t
tS
S
e
e
l
l
e
e
c
c
t
tv
v
à
àc
c
h
Lc
c
ầ
ầ
n
nt
t
ạ
ạ
o
od
d
a
a
t
t
a
as
uđ
đ
ó
ón
n
h
h
ấ
ấ
n
nO
O
K
Kđ
đ
ể
ể
u
uk
k
h
h
i
iđ
đ
ã
ãh
h
o
o
à
à
n
nt
t
o
oD
D
S
S
N
Nc
c
h
h
o
ot
t
ậ
ậ
p
pt
t
c
c
h
h
ú
ú
n
n
g
gt
t
a
ac
c
ó
ót
t
h
h
ể
ể
ã
ãs
s
a
a
u
uđ
đ
ể
ểt
t
i
i
ế
ế
n
nh
h
t
t
ậ
ậ
p
pt
t
i
i
n
nm
m
o
o
v
v
i
i
e
e
s
s
return;
}
try {
String dbURL = "jdbc:odbc:" + args[0];
System.out.println("Establishing connection...");
connection =
DriverManager.getConnection(dbURL,"","");
System.out.println("Connect to ” +
connection.getCatalog() + “ successfully!");
// Do whatever queries or updates you want here!!!
}
catch( SQLException e ) {
e.printStackTrace( );
}
168
finally {
if( connection != null ) {
try { connection.close( ); }
catch( SQLException e ) {
e.printStackTrace( );
}
}
}
}
}
S
S
a
a
đ
đ
o
o
ạ
ạ
n
nc
c
h
h
ư
ư
ơ
ơ
n
n
g
gt
t
r
r
t
t
a
ac
c
ó
ót
t
h
h
ể
ểt
t
h
h
ự
ự
c
c
ớ
ớ
i
iC
C
S
S
D
D
L
Lb
b
ằ
ằ
n
n
g
gc
c
á
á
l
l
ệ
ệ
n
n
h
h
:
:j
j
a
a
v
v
a
aT
T
e
e
s
s
i
i
e
e
s
s
D
D
S
S
N
N
6
6
.
.
5
5
.
.
K
K
I
I
Ể
Ể
À
ÀK
K
I
I
Ể
Ể
U
UD
D
Ữ
ỮL
L
I
I
Ệ
Ệ
U
U
t
t
r
r
ì
ì
n
n
h
ht
t
h
h
a
a
o
ot
t
á
á
c
ct
t
a
as
s
ẽ
ẽg
g
ặ
ặ
p
pp
p
h
h
ả
ả
i
i
đ
đ
ổ
ổ
i
ig
g
i
i
ữ
ữ
a
ak
k
i
i
ể
ể
u
ud
d
D
D
L
Ls
s
a
a
n
n
g
gk
k
i
i
ể
ể
u
ud
d
ữ
ữ
r
r
ợ
ợv
v
à
àn
n
g
g
ư
ư
ợ
ợ
c
cl
l
a
a
i
i
ổ
ổ
i
in
n
à
à
y
yđ
đ
ư
ư
ợ
ợ
c
ct
t
h
h
ự
ự
g
g2
2b
b
ả
ả
n
n
g
gs
s
a
a
u
u
.
.
Java Type SQL Type
boolean BIT
byte TINYINT
short SMALLINT
int INTEGER
long BIGINT
float REAL
double DOUBLE
java.math.BigDecimal NUMERIC
java.lang.String VARCHAR or
LONGVARCHAR
byte[ ] VARBINARY or
LONGVARBINARY
java.sql.Date DATE
java.sql.Time TIME
java.sql.Timestamp TIMESTAMP
java.sql.Blob BLOB
java.sql.Clob CLOB
java.sql.Array ARRAY
java.sql.Ref REF
170
java.sql.Struct STRUCT
Bảng chuyển đổi từ kiểu dữ liệu Java sang SQL
6
6
.
.
6
C
Ơ
ƠB
B
Ả
Ả
N
NT
T
R
R
Ê
Ê
N
NC
C
S
S
D
D
L
t
t
r
r
u
u
y
yv
v
ấ
ấ
n
nC
C
S
S
D
D
L
Lc
t
t
h
h
ự
ự
c
ch
h
i
i
ệ
ệ
n
ns
s
a
a
u
uk
ư
ợ
ợ
n
n
g
gC
C
o
o
n
n
n
n
e
e
c
c
t
t
i
i
o
o
n
n
,
ừq
q
u
u
á
át
t
r
r
ì
ì
n
n
h
hk
k
ế
ế
t
t
C
h
h
ú
ú
n
n
g
gt
t
a
as
s
ử
ửd
d
ụ
ụ
n
n
g
l
l
ớ
ớ
p
pC
C
o
o
n
n
n
n
e
e
c
c
t
t
i
i
o
o
n
n
t
h
h
ể
ểh
h
i
i
ệ
ệ
n
nc
c
ủ
ủ
a
al
l
ớ
ớ
p
e
m
m
e
e
n
n
t
t
.
.S
S
a
a
u
uk
k
h
h
i
it
t
ư
ư
ợ
ợ
n
n
g
gc
c
ủ
ủ
a
al
l
ớ
ớ
p
pS
S
t
t
a
ac
c
ó
ót
t
h
h
ể
ểt
t
h
h
ự
ự
c
ch
á
c
ct
t
r
r
o
o
n
n
g
gc
c
á
á
c
cđ
đ
ố
ố
i
n
t
tt
t
r
r
ê
ê
n
nc
c
o
o
n
n
n
n
e
e
c
c
t
t
i
N
ộ
ộ
i
id
d
u
u
n
n
g
gt
t
r
r
o
o
n
n
g
gm
h
í
í
n
n
h
hl
l
à
àc
c
á
á
c
cc
c
â
â
u
u
S
Q
Q
L
Lt
t
r
r
o
o
n
n
g
gc
c
á
á
c
cs
s
t
ợ
c
ct
t
h
h
ự
ự
c
ch
h
i
i
ệ
ệ
n
nk
k
h
h
i
c
h
h
ú
ú
n
n
g
gđ
đ
ế
ế
n
nC
C
S
S
D
D
L
L
.
.
Ll
l
à
àm
m
ộ
ộ
t
tc
c
â
â
u
ut
t
r
r
u
t
t
h
h
ì
ìk
k
ế
ế
t
tq
q
u
u
ả
ảt
t
r
r
ả
t
h
h
ể
ểh
h
i
i
ệ
ệ
n
nc
c
ủ
ủ
a
al
l
ớ
ớ
p
l
t
t
S
S
e
e
t
t
,
,n
n
g
g
ư
ư
ợ
ợ
c
cl
l
ạ
ạ
i
t
t
h
h
a
a
y
yđ
đ
ổ
ổ
i
in
n
ộ
ộ
i
id
d
u
ảv
v
ề
ềk
k
ế
ế
t
tq
q
u
u
ả
ảl
l
à
à
C
á
á
c
cđ
đ
ố
ố
i
it
t
ư
ư
ợ
ợ
n
n
g
gc
c
ủ
tc
c
h
h
o
op
p
h
h
é
é
p
pc
c
h
h
ú
ú
n
n
g
ế
n
nk
k
ế
ế
t
tq
q
u
u
ả
ảt
t
r
r
ả
ảv
t
r
r
u
u
y
yv
v
ấ
ấ
n
n
.
.6
6
.
.
6
6
.
.
1
1
.
§ java.sql.Statement
Statement là một trong 3 lớp JDBC cơ bản dùng để thể
hiện một câu lệnh SQL. Mọi thao tác trên CSDL được
thực hiện thông qua 3 phương thức của lớp Statement.
Phương thức executeQuery() nhận vào 1 tham số là
chuỗi nội dung câu lện SQL và trả về 1 đối tượng kiểu
ResultSet. Phương thức này được sử dụng trong các
trường hợp câu lệnh SQL có trả về các kết quả trong
CSDL.
Phương thức executeUpdate() cũng nhận vào 1 tham số
là chuỗi nội dung câu lệnh SQL. Tuy nhiện phương thức
này chỉ sử dụng được đối với các cây lệnh cập nhật nội
dung CSDL. Kết quả trả về là số dòng bị tác động bỡi
câu lệnh SQL.
171
Phương thức execute() là trường hợp tổng quát của 2
phương thức trên. Phương thức nhận vào chuỗi nội dung
câu lệnh SQL. Câu lệnh SQL có thể là câu lệnh truy vấn
hoặc cập nhật. Nếu kết quả của câu lệnh là các dòng
trong CSDL thì phương thức trả về giá trị true, ngược lại
trả về giá trị false. Trong trường hợp giá trị true, sau đó
chúng ta có thể dùng phương thức getResultSet() để lấy
các dòng kết quả trả về.
§ java.sql.ResultSet
Đối tượng resultset là các dòng dữ liệu trả về của câu
lệnh truy vấn CSDL. Lớp này cung cấp các phương thức
để rút trích các cột trong từng dòng kết quả trả về. Tất
cả các phương thức này đều có dạng:
t
t
r
r
u
u
y
yv
v
ấ
ấ
n
nC
C
S
S
D
D
L
L
} import java.sql.*;
public class MovieDatabase{
private Connection connection;
private PreparedStatement findByNumber, updateCategory;
private CallableStatement findByCategory;
public MovieDatabase(Connection connection) throws
SQLException{
this.connection = connection;
}
public void showAllMovies(){
try{
Statement selectAll = connection.createStatement();
String sql = "SELECT * FROM Movies";
173
ResultSet results = selectAll.executeQuery(sql);
while(results.next()){
int number = results.getInt(1);
String title = results.getString("title");
String category = results.getString(3);
String format = results.getString(4);
Movie movie = new Movie(number, title, category,
format);
}
}
6
6
.
.
6
6
.
.
3
3
.
.
V
V
í
íd
d
ụ
ục
c
ậ
ậ
ơ
ơ
n
n
g
gt
t
h
h
ứ
ứ
c
ca
a
d
d
d
d
M
M
o
o
v
v
ư
ư
ợ
ợ
c
ct
t
h
h
ê
ê
m
mv
v
à
à
o
ol
l
ớ
ớ
đ
đ
ã
ãđ
đ
ị
ị
n
n
h
hn
n
g
g
h
h
ĩ
ĩ
a
a
public void addMovie(Movie movie){
System.out.println(“Adding movie: “ + movie.toString());
try{
Statement addMovie = connection.createStatement();
String sql = “INSERT INTO Movies VALUES(“
+ movie.getNumber() + “, “
+ “‘“ + movie.getMovieTitle() + “‘, “
+ “‘“ + movie.getCategory() + “‘, “
+ “‘“ + movie.getFormat() + “‘)”;
System.out.println(“Executing statement: “ + sql);
addMovie.executeUpdate(sql);
addMovie.close();
System.out.println(“Movie added successfully!”);
}
catch(SQLException e){
e.printStackTrace();
}
}
}
import java.sql.*;
public class AddMovies{
public static void main(String [] args){
String url = “jdbc:odbc:” + args[0];
175
System.out.println(“Attempting to connect to “ + url);
try{
System.out.println(“Loading the driver...”);
}
}
176
T
T
à
à
i
il
l
i
i
ệ
ệ
u
ut
t
h
h
a
a
m
m