Sie sind auf Seite 1von 137




   "!  ##$&%  (' )+*,' #$#.-/%-%021%34*
!6547988:!6; 
<9=?>9+@0AB3C.% !  ##$&%  D#$ E F@02%G2%-H.%2%3C&@03B%IJ@0KE-L M ! 2 #$#.%  F'+) * 8 $ANOP$-Q@P2%0E$-.%%3D.2@03B%IJ@0K
M 8 ABN- ! 21@E#3B-,* RLSUTWVF-X@Y2%0E$-.%%3(&@03%0IJ@02K" MZV[ 7 %AP
IJ @0A 8 &34*]\F@  $-X@Y2%$-.%2%03^.2@E3%IJ@E2KY MZ'  #%
 IJ N.%"TWA  *(\C)`_a$A3B b"-c$-Y@2%-H.%2%3`&@03B%IJ@0K ML\F   - M&L 2  @0. A4*(' #$#X .%d 2 3BN  .-YA@EIJ%3`@E2%
.2@E3%IJ@E2K-/ MZ&B%$+%-H %  .$1%Y b"AB%2-e*
f gEhXi0hkjElEmonpm qhXrXni0setHuvdhkl0npwxnpmosel9moy?z{|sHqmoiEh}i~mol~Xf cLse{.v"wxnEyuzzomh}i Ymnpg~rXnpxwxl0iwq]wkmowkeohXselEomolEh/wkng0npnpz? }Ei0setHonp{|seoonphktgEotsev"
f gEmoy
E
djEoh cwky ,h}l0hk{|wknphki"wxunpsevdwxnpmotHwko c{|sevnpg0hUXf c9yseu{|thUwxy
w~tHselq]h}l0mh}l0tHh9npsduEyhk{.yEwknpg0seuxgcE
dmoy
lEsenBwxlcsejEtHmowxrXn
iEsetuv"h}l0npwxnpmoselYse{|vdwxnp

BJBZ6p*Y*c*c*Y*c*"*c*c*Y*c*Y*c*c*Y*c*Y*c*c*"*c*Y*c*Y*c*c*Y*c*Y*c*c*"*c*Y*c*c*Y*c*Y*c*Y*c*c*"*c*Y*c*c*Y*c*Y*c*c*Y*
BJBZ6p(Up*"*c*c*Y*c*Y*c*c*Y*c*Y*c*c*"*c*Y*c*Y*c*c*Y*c*Y*c*c*"*c*Y*c*c*Y*c*Y*c*Y*c*c*"*c*Y*c*c*Y*c*Y*c*c*Y*JX
dU
?}]~+p }+]&]]6e*c*c*Y*c*Y*c*c*"*c*Y*c*Y*c*c*Y*c*Y*c*c*"*c*Y*c*c*Y*c*Y*c*Y*c*c*"*c*Y*c*c*Y*c*Y*c*c*Y*J?
dU 0 ?pP+p }d ].]6e*c*Y*c*c*Y*c*Y*c*c*"*c*Y*c*Y*c*c*Y*c*Y*c*c*"*c*Y*c*c*Y*c*Y*c*Y*c*c*"*c*Y*c*c*Y*c*Y*c*c*Y*JX
dU xLp] p k+]&]]6e*c*Y*c*c*Y*c*Y*c*c*"*c*Y*c*Y*c*c*Y*c*Y*c*c*"*c*Y*c*c*Y*c*Y*c*Y*c*c*"*c*Y*c*c*Y*c*Y*c*c*Y*J?
d?6 p k+]&]]6e*"*c*c*Y*c*Y*c*c*Y*c*Y*c*c*"*c*Y*c*Y*c*c*Y*c*Y*c*c*"*c*Y*c*c*Y*c*Y*c*Y*c*c*"*c*Y*c*c*Y*c*Y*c*c*Y*J?
d?p 6kB~+p }d ].]6e*c*Y*c*c*Y*c*Y*c*c*"*c*Y*c*Y*c*c*Y*c*Y*c*c*"*c*Y*c*c*Y*c*Y*c*Y*c*c*"*c*Y*c*c*Y*c*Y*c*c*Y*JX
d?pU B kP+p }d ].]6eD*Y*c*c*Y*c*Y*c*c*"*c*Y*c*Y*c*c*Y*c*Y*c*c*"*c*Y*c*c*Y*c*Y*c*Y*c*c*"*c*Y*c*c*Y*c*Y*c*c*Y*J?
d?pUpE]~+p }+]&]]6e*c*Y*c*c*Y*c*Y*c*c*"*c*Y*c*Y*c*c*Y*c*Y*c*c*"*c*Y*c*c*Y*c*Y*c*Y*c*c*"*c*Y*c*c*Y*c*Y*c*c*Y*JX
d?pZ?p?, eBP+p }+]&]]6e*Y*c*Y*c*c*"*c*Y*c*Y*c*c*Y*c*Y*c*c*"*c*Y*c*c*Y*c*Y*c*Y*c*c*"*c*Y*c*c*Y*c*Y*c*c*Y*J?
d?pZB~+p }d ].]6e*Y*c*Y*c*c*Y*c*Y*c*c*"*c*Y*c*Y*c*c*Y*c*Y*c*c*"*c*Y*c*c*Y*c*Y*c*Y*c*c*"*c*Y*c*c*Y*c*Y*c*c*Y*J?
d?p]ppa+p }d ].]6e*Y*c*Y*c*c*Y*c*Y*c*c*"*c*Y*c*Y*c*c*Y*c*Y*c*c*"*c*Y*c*c*Y*c*Y*c*Y*c*c*"*c*Y*c*c*Y*c*Y*c*c*Y*JX
d?p]ppZ|6.a p k+.]]6e*Y*c*c*Y*c*Y*c*c*"*c*Y*c*Y*c*c*Y*c*Y*c*c*"*c*Y*c*c*Y*c*Y*c*Y*c*c*"*c*Y*c*c*Y*c*Y*c*c*Y* X
d?p0? p k+.]]6e*Y*c*Y*c*c*Y*c*Y*c*c*"*c*Y*c*Y*c*c*Y*c*Y*c*c*"*c*Y*c*c*Y*c*Y*c*Y*c*c*"*c*Y*c*c*Y*c*Y*c*c*Y* ?
d?p|6?]J+p }d ].]6e`*Y*c*Y*c*c*Y*c*Y*c*c*"*c*Y*c*Y*c*c*Y*c*Y*c*c*"*c*Y*c*c*Y*c*Y*c*Y*c*c*"*c*Y*c*c*Y*c*Y*c*c*Y* ?
d?pZBZ]E  p k+.]]6e*Y*c*Y*c*c*"*c*Y*c*Y*c*c*Y*c*Y*c*c*"*c*Y*c*c*Y*c*Y*c*Y*c*c*"*c*Y*c*c*Y*c*Y*c*c*Y* B0
d?p6]P p k9 ].]6e *c*Y*c*c*Y*c*Y*c*c*"*c*Y*c*Y*c*c*Y*c*Y*c*c*"*c*Y*c*c*Y*c*Y*c*Y*c*c*"*c*Y*c*c*Y*c*Y*c*c*Y* B0
d?p ]e?C+p }d ].]6e*c*Y*c*c*Y*c*Y*c*c*"*c*Y*c*Y*c*c*Y*c*Y*c*c*"*c*Y*c*c*Y*c*Y*c*Y*c*c*"*c*Y*c*c*Y*c*Y*c*c*Y* ?
d?p ]e?Z.6. p k+.]]6e *c*Y*c*Y*c*c*"*c*Y*c*Y*c*c*Y*c*Y*c*c*"*c*Y*c*c*Y*c*Y*c*Y*c*c*"*c*Y*c*c*Y*c*Y*c*c*Y* ?
d?p ]k6p++p }d ].]6e*c*Y*c*c*Y*c*Y*c*c*"*c*Y*c*Y*c*c*Y*c*Y*c*c*"*c*Y*c*c*Y*c*Y*c*Y*c*c*"*c*Y*c*c*Y*c*Y*c*c*Y* ?
|6Z]*Y*c*Y*c*Y*c*c*Y*c*"*c*c*Y*c*Y*c*c*Y*c*Y*c*c*"*c*Y*c*Y*c*c*Y*c*Y*c*c*"*c*Y*c*c*Y*c*Y*c*Y*c*c*"*c*Y*c*c*Y*c*Y*c*c*Y* ?

! B-IJ 3N#$%Y-L @06 M6&B%d> ; AB&%02 -H% ; 3$. A4*


EF6(DFLE:(
>& -/)> 8  #@E--H%-L%#$ (  NJ 2 103B%d-H%@0IJ#$%-H-3B@0.@0 @0-H%YAB&%0E@0. AJ. G  NBX>9@E  #$  @0. AB-,*
! B-Q 1%1$%b@0-H-NBIJ%-U&B@0
0 NF@E1%@E #$%@0-H+@G @0-H  KA bY#$%3% M)> 8 *E ND-H NB#3 %c@0 #$%. JNAB3%-.@0AB3F-HIJ #$%
=
=
@0AB3
 IJIJ@0AB3-e*X'+#. NBE.%>)]# N2-H   #$@0-H-9  13B%-Q@0AAB&%02MW@  %^& D3B@0.@0 @E-%
SELECT
 bY-$AINSERT
@0AB3`%03UPDATE
$&$Aa.@EL3B DELETE
%-dAB UHY@KA bY#%03%F M)> 8 =4@C @0-H  NAB3%-.@0AB3$Aa M)> 8 -Y$#$ C%  IJ
IJ%0A3%03+*~'-.@0AB3@03a&%0O0  10%2$AD)> 8 3@E&@E @0-H%-9$-6"P&H0H&0.".]0kk92k.c&E (Q* ]* Q@0.%=
T&) 6S     *
_`$#-H.$-IJ 3BN#$%Q 10%21$%b 2%-H%A.-6.%  #$@0-H-%0-
MW I @~ NB2%#$ U 2 2@EIJIJ@0.   $A M10%b &B %
U,".k ?IJ@0ABN@0#$ 
%@0.AB
 Q@0.@0 @E-%"'+  #$  @0. AB-  @E .%4&@EKE%-@c$EB%2#$%1%0#@0  2 @  J3%0IJ A-H&@0.AB b& P-%0N (IJ@0-H.%23B%.@0$#
%#$@0. AB-B -L %.b"%0%A(b"$3%.-= %2M& 2I3B2$##$3 bYAD@EA3JB@0A3B#%cM& 2%$APK% Y#$ KENB -,*
! B-3  NBIJ%A
-L3$13B%3J$A. ^-HOc-H%  &$ A- 
)> 8 \C 3N#$%Y'   B.%  .N%B* ! $-/3B%-  2$ %-/.%" b&B%  #@E--H%- ?. E%0&B%|*
 AAB%  .ABG. Q@0.@0 @E-%0-,* ! B--%  &$ AJ%OE #@EAB-/ b& P-H%6N (3@E&@E @0-H%  AAB%  .$ A-/NB-$AP&B%d>)]# Q@0.@0 @E-%  #$@0-H-e*
; O0%  N.$A)> 8 
IJIJ@EA3-e* ! $-d-H%  .$ A 3%IJ AB-.2@E&%0- b . a-H-HN%D.%D-H.@0A3B@03 3@E&@CIJ@0A$ NB#@E&$ A  IJIJ@0AB3-H=
=
= UPDATE @0AB3 DELETE A^.@0 #$%-X$A^.%d3@0.@0 @E-% .@0#$&B N^@EA "1@0#$$3P)> 8 -.@0.%IJ%AB  @0A( %-H%AB?. .%
SELECT INSERT
!
3B@0.@0 @E-% 0* %YMW  N-/$-/ NB2%#$ Y AJ3@0.@0 @E-%Y$A.%2@  . A(NB-$AP>9)]#$>9N% }*
RQ-HAB 
NB2-H 2-e* ! $-(-%  . A%OE #@EAB-J b . N-H% .%`>9)]#$
N-   #@E--DbYB    1$3%-(@IJ 2% -H.2N  &NB2%3@0AB3
 b"%02MWNB#' T6&B@0AJ.%"2@Eb )> 8 N-H%3DbY.J>9)]#$>9N%02 }*
Q@0.@0W'?bY@E2%c_a$3%&-e* ! $--H%  .$ AJ-B b"-L b& P 2 2@EIJIJ@0.  @0#$# G#$AK^  N/3B@0.@0 @E-%Y. ^.%YN-H%/$A.%MW@  %B*TWAJ.$-H%  &$ AGbY%~$A.2 3N  %U.%~> Q@0.@ ! @0 #$%=0>9)# e 2IJ=E>9)]# 2 %02. \F@E "@EA3^>9)]# ; 3$.  x@  . 2  #@E--H%-+@0A3^3%IJ AB-.2@E&%
B b& (N-H%  N-H& I 3@E&@E@0bY@E2%bY$3%&-e*
Ud.k  2 1$3%0-@0AC%@0-H c1$-NB@0#ZbY@0 M
@  B%01AB(&B%c-@EIJ%&BABZ*)%%
.%
Ud.k XIJ@0ANB@0#$=> Q@0.@ 6 bY-%4@EA3J> Q@0."@ !/$%b MW 4IJ %"$AM& 2IJ@E&$ A+*
)N  #$@0-H-HAB>9)]#$
N- * ! B-+-%  . APE$1%-4%OE@0IJ #$%-+ M-HN  #@E--HABc>9)]#$
N- *])NB  #$@0-H-$A  @0AP %9NB-%3^& c 2 1$3%
3B%MW@EN#$L@EA3  @E#  N#$@0.%3 1@E#NB%-YMW # B%#$3$- .-HN  `@0-"@0NB& ABNIJ %%3 2$IJ@02 J$A3B%%O ?%#$3&- =X@0AB3 . a3$- #$@0  @E#  N#$@0.%3
3B@0.@0=%?* 6* -H bY$AGAB@0IJ%-2@0.%0+.@EAJ3B- MZMW %$EAJK% -e*
')(+*-,

(D/.10+263D}40"F50

! B%Y)> 8  #@E--H%-@E2%"3$1$3%3J$A. ^.%%"#@E %2-


6 xU. 7k]H8B ! %-H%  #$@0-H-%-G 2 1$3%3@E&@E@0bY@E2%bY3BE%.-.@E  @EA %  AA%  .%3& &@E #%0-c c1%0b"-GA .%
3B@0.@0 @E-%9. ^NB-$AC@J>9)]#$
N- U@E-9@J3@E&@(-H N  %0* ; AB3N-H%2-  @0A$A.%2@  X3$2%  .# (bY.&B%-H%^bY$3%&-~. F  bY-%
L%3$
3B@0.@?:*
Ud.k X$-QMWN#$#$ G$A.%E@0.%3DbY$&D.%c)> 8  #@E--H%-U@0AB3  @EAF %cNB-%3C&  2%@E&%c3B@0.@0@Eb"@E2%M& 2IJ-e* ! %
3B@0.@0@EbY@02%"bY3BE%0&-  @0AJ@0#$-H G % 2 2@0IJIJ%03^3B%  .# "bY.(  N+ bYA(<;;  3%B* ! B%  #$@0-H-H%-/.@0Z-HN   2Z&B-X#$@0 0%


=>@?BADCFEGHJI

$A  #NB3%c>9)# ; 3$& Lk@  . 2 = >9)]#e 2IJ= >9)# %2. \C@0 = >Q@0.@ ! @0 #$%= >Q@0.@ 6 b"-H%4@0AB3J>Q@0.@"!/%0b~*

N8Y O  8B ! B%-%  #@E--H%-c  1$3%J@ k %-H-Y& a3B@0.@0 @E-%-e*G
AAB%  .$ A-Y@0%DIJ@03B%DN-HABa&B%J>9)]# L@E&@E @0-H%  #$@0-H-,*
M
Q@0.@0 @E-%$A.%2@  . A $-@  $%1%3%$.%Y N-HAB .%>9)]#>N%  #@E--G@0A3 %0O0%  N.AB )> 8  IJIJ@0AB3-c3$2%  .#  
N-H$Aa.%FB%0d#$%1%#4>9)#$
NB2-H   #$@0-H-cb"B    IJ  -H%-Y)> 8  IJIJ@EA3-Y@EN. IJ@0.  @0#$# }*DTWA@03B3$&$ A`. a>9)]#$
Q@0.@0 @E-%0=Q>)]# N2-H @EA3 >9)]#$>9N%02 =U&B%)> 8 ' T9#$@0 %0c-^-NB   2.%3 a>9)]# ; 2 $=L>)]#  $%#$3=U>9)]#$TWA3B%Oa@0AB3
>)]# 5 %  234*
" P  8B ! $-  IJ -H%-G.%%  #$@0-H-H%-=d>9)]# 5 %-HN#$&=9>)]# Q2$1%^@0A3 >9)]# L1%0 x@  . 2 0TWA.%MW@  %B* ! $-^#$@0 0%
2 1$3%-X.%d# b#%01%# 2$3%" %&bY%%0A^.%"3@E&@E @0-H%d@EA3(&B%)> 8  #$@0-H-%0-,* ! $-X#@E %4-3  NBIJ%A.%3P-%0 @0@0.%# "-HA  %
$
$-/ AB# c%#%01@0AB& ^31%0Xb".%-=@EA3J$-@02%0# YN-H%3J$AD-H&@EA3@E23J3B@0.@0 @0-H%"@0  #$  @0.$ AD 2 2@EIJIJABZ*)%%Y%02%"MW 
IJ %YABMW 2IJ@E&$ A( AJIJ #%IJ%0A.ABG@c>9)> 8 310%4 #NBE$A+*
')(+*-Q

6SRT0dVU$.:/W:/X

! B%Y>96)> 8 IJ 3BN#$%  @0AF3 AB@0IJ  @0#$#$ c# @E3DA%b31%02-X@0


2NAB&$IJ%YN-HABG.%Y#$NAB-,*
! B%Y)> 8 3B2$1%43  NIJ%AB&@E&$ AJ3%-   %0-X b . P N$#3J #$N$A-QMW 4- %    3B@0.@0 @E-%"IJ@0AB@0%IJ%A - 0-.%IJ-e*
7 A  %^@G #$N$A$-U N$#.=Z>9+b"$#$#6@0N. IJ@0.  @0#$#$ G#$ @03.=Z@0A3.%c310%bY$##6 %@E1@0$#$@0 #$%GMW LN-H%G >)]#Q@0.@0 @E-%/.-H%%
>)]# Q@0.@0 @E-M% Z 31%02- [LM& +IJ %d$AM& 2IJ@E&$ A 0*
PC%0":%W E
\

Q^]

]`_]

XN0aX

'
 #$%@0-H+ A%c3@E&@E @0-H%  ABA%  &$ ADIJNB-+ %  %@0.%3J@0AB3F %0A%3D %0MW 2%Y.%c>9)#$>9NB%2 c />)]# N2-H   #@E--H%-  @EAF %
NB-%03+*
T&M .%G@0  #$  @0.$ AC AB# ^A%%3B-U@G-HABE#$%^3B@0.@0 @E-%  AAB%  .$ A=Z&B%>9)]#L@E&@E @0-H%  #$@0-H-  @EA  2%@E&%G@  AA%  . ACb"B  
$-NB-%03J "3B%MW@EN#$MW 4@E##B)> 8 %02@0.$ A-e*]TWM6IJNB#. #%Y3@E&@E @0-H%  AAB%  .$ A-/@E2%Y2%]NB%3(&B%-%  @0AJ%@E-$# c %"-H%N +*
>)]# Q@0.@0 @E-%Y2%0NB%-/.%"]-]#$3@0.@0 @E-%?* DB%@03B%@B#$%B*
\

PC%0":%W E

]b'

:%WB.10

Qc]

]`_]

X0

\C@0KABc@3B@0.@0 @0-H%  AAB%  . A^-4@"-$IJ #$%.%%~-.% 2  %0--@  .10@0.%9&B%9310%=]-H%?N G.%  AAB%  . AP$AMW IJ@0. AB=
@EA3D %A(&B%  AAB%  . A4*
#include <qapplication.h>
#include <qsqldatabase.h>
#include "../login.h"
int main( int argc, char *argv[] )
{
QApplication app( argc, argv );
QSqlDatabase *defaultDB = QSqlDatabase::addDatabase( DB_SALES_DRIVER );
if ( defaultDB ) {
defaultDB->setDatabaseName( DB_SALES_DBNAME );
defaultDB->setUserName( DB_SALES_USER );
defaultDB->setPassword( DB_SALES_PASSWD );
defaultDB->setHostName( DB_SALES_HOST );
if ( defaultDB->open() ) {
// Database successfully opened; we can now issue SQL commands.

=>@?BADCFEGHJI

}
}
return 0;
}

 Ek4e f+"P ZP][gNf+EHih&f+^]$kjlj


 $2-HQb"%F@  .$1@0.%D.%J310%  @0#$#$Aa>)]#Q@0.@0 @E-%MZ @03B3Q@0.@0 @0-H%M[=4 @E--HAB&B%DA@EIJ%D M/.%D3B2$1%9bY%DbY$- &
NB-%PMW Q.$-  AAB%  . A4*4'X.%^&$IJ%G M b".$AJ.%G@E1@0$#$@0 #$%^3B2$1%2-U@E2%M/> 7 <
   7 %AmL@E&@E @0-H%
ABA%  &$1$& =
> 7 
T   7 @  #% =Z> ! Q)Nno.)  @0-H%G'+3@E &$1%^)%210%@EA3\F   - M& )> 8 )%21%0 =Z> )> 8 nm[0 -H&2%0)> T8 p @EAq3 n9@0AB3
>\FZ)> l8  .\C )> 8 0*ESQ .%G.@E4- IJ%^ M .%-H%G3B2$1%-Q@E2%AB 4$A  #$N3B%3A.%^>9@  2%% ; 3B. AB=6# K(@EX&B% 54; ' Q\ ;
?#$%-M& +3B%.@0$#-e*
! B%  AAB%  .$ AJb"B  J-  %@0.%3( %  IJ%0-X&B%"@E  #$  @0. AB -/3B%MW@EN#$3@E&@E @0-H%  AAB%  .$ AJ@0A3Fb"$#$# %YN-H%3J Y&B%Y>9
)> 8  #@E--H%-$M6A ^ &B%43@E&@E @0-H%"$--H %   ?%34*
)%  AB3PbY%  @E##-H%[ L@E&@E @0-H%SU@0IJM% [=]-H%.RL-H%2SU@EIJM% [=E-H%[ @0-H-Hb" 3 [L@0A3(-H%.<9 -.SU@0IJM% [& $A$.@E# r,%".%  ABA%  &$ A
$AM& 2IJ@E&$ A+*]SU .%~&B@0BMW 
.%~> 7 
T   7 2@  #$% 431%0&B% ! SU))%1  %~SU@0IJ%9B@0-4. " % @0-H-%03G. "-H%[ L@E& @E-%0SQ@EIJM% [0*
! B3(b"%  @E## %A [X. G %0A^.%d3@0.@0 @E-%"@0AB3(E$1%"N-X@ k %-H-/. .%3B@0.@?*]T&MZ&B-  @E##MW@0$#$-/ZbY$##%.N2A k' 8 ) t; s %2 
$AM& 2IJ@E&$ A  @EAJ %"3B%.%2IJ$A%3(NB-$A^>9)]# Q@0.@0 @E-t% k #$@0-H ; 2 u [0*
d

vYw:xyxBz{|l}xB~D|4wDyJ|4} zM|4Ma@FzN

 AAB%  .ABc& YIJNB#. #%d3@0.@0 @E-%0- $-4@  B%01%3GNB-$AY.%9.bY c@0ENBIJ%A?MW I MB>9)]#L@E&@E @0-H%Mk @E33Q@0.@0 @E-%t[+bYB%2%
.%Y-H%  AB3J@0ENBIJ%A$-/@NBA$]N%Y3B%A.B%X3B-H.ABENB-H$AP&B%  AAB%  . A4*
#include <qapplication.h>
#include <qsqldatabase.h>
#include "../login.h"
bool createConnections();
int main( int argc, char *argv[] )
{
QApplication app( argc, argv );
if ( createConnections() ) {
// Databases successfully opened; get pointers to them:
QSqlDatabase *oracledb = QSqlDatabase::database( "ORACLE" );
// Now we can now issue SQL commands to the oracle connection
// or to the default connection
}
return 0;
}
bool createConnections()
{
// create the default database connection
QSqlDatabase *defaultDB = QSqlDatabase::addDatabase( DB_SALES_DRIVER );
if ( ! defaultDB ) {
qWarning( "Failed to connect to driver" );
return FALSE;
}
defaultDB->setDatabaseName( DB_SALES_DBNAME );
defaultDB->setUserName( DB_SALES_USER );

=>@?BADCFEGHJI

defaultDB->setPassword( DB_SALES_PASSWD );
defaultDB->setHostName( DB_SALES_HOST );
if ( ! defaultDB->open() ) {
qWarning( "Failed to open sales database: " +
defaultDB->lastError().driverText() );
qWarning( defaultDB->lastError().databaseText() );
return FALSE;
}
// create a named connection to oracle
QSqlDatabase *oracle = QSqlDatabase::addDatabase( DB_ORDERS_DRIVER, "ORACLE" );
if ( ! oracle ) {
qWarning( "Failed to connect to oracle driver" );
return FALSE;
}
oracle->setDatabaseName( DB_ORDERS_DBNAME );
oracle->setUserName( DB_ORDERS_USER );
oracle->setPassword( DB_ORDERS_PASSWD );
oracle->setHostName( DB_ORDERS_HOST );
if ( ! oracle->open() ) {
qWarning( "Failed to open orders database: " +
oracle->lastError().driverText() );
qWarning( oracle->lastError().databaseText() );
return FALSE;
}
return TRUE;
}

 Ek4e f+"P ZP][gNf+H]&[ZEH&E,f+P$Zj4j


T&A .%D%0O0@0IJ #%J@E 1%JbY%D@E1%DIJ 1%3 &B%  AAB%  .$ A-"AB& a.%$9 bYA M&NA  . AB=  2%@E&%0
AAB%  .$ A-[=+@EA3`@033B%3
-H IJ% @E-  %2 
B@0A3B#$A6* ! B%9-H&@E&  M&NA  . AP>9)]#L@E&@E @0-H%Mk 3B@0.@0 @0-H%M[  @0AP %  @0#$#%3(M&2 I @0AB bY%%9. 2 103B%9@
 AB&%4. @Y3@E&@E @0-H%  AA%  . A4*]TWM?bY%  @0#$#6bY$&B N6@EA " @0@0IJ%.%+6bY$##%.N2AP.%3B%MW@EN#$  ABA%  &$ A+*]T&M  @0#$#$%3
bY$&(.%d3B%A. ?%+bY% 1%dN-H%3(MW +@  AAB%  .$ A= %B* Z* 795 '+ 8; =A(.%d@0 1%"%O0@EIJ #$%=]6bY$##%.N2AP@Y  $A.% . .%
-H %   ?%3  AA%  . A4*
T&MU  N  2%0@0.%F@ main.cpp N-H$A
U d.k 2=$~bY#$#LEQA  #$N3% NY%OE@0IJ #$%  2%0@0.%
ABA%  &$ A- [cMWNBA  .$ A+* ! $IJ%0@0A-4.@EB@E  #$  @0. AB-+.@EB 2%1$%b  2%  &#$ 9$A
U0d.k 
bY#$# A ?2NBA^NBA#$%--X 0 NG$IJ #%0IJ%AZ  NB
bYA^3B@0.@0 @E-%
 AAB%  . AB-/MWNBA  &$ A+*
SU .%c&B@0$AD.%  3B%Y@0 1%Y.% 7 <
  ABA%  &$ ADbY@0-LA AB@0IJ%3F@0A3F-L&B%2%M& 2%dN-H%3D@0-L&B%Y3%M&@0N#$  AA%  . A4*
>)]# Q@0.@0 @E-%CIJ@0$A.@0$A-c bYA%-B M.%D  $A.%-d%&NB2AB%3 C&B%D@03B3 Q@0.@0 @0-HM% [Y-H&@E&  M&NA  . A4* ! a2%IJ 10%D@
3B@0.@0 @E-%CMW2 I .%C#$-H~ MIJ@0$A.@0$A%03  AA%  . AB-= B-  #$ -%C&B%F3B@0.@0 @0-H%DbY$& >9)]# L@E&@E @0-HM% k  # -HM% [=@EA3 &B%A
%IJ 1%Y$N-HABG.%"-.@0.  MWNA  . AJ>)]# Q@0.@0 @E-M% Z 2%IJ 10% L@E&@E @0-HM% [0*
d

dLF:%W

%0

'(+*-\ 

F%XX+:%W

(' . (

/0dl

! B% >9)]#$>9N%02  #@E--(  1$3%-P@0AAB&%02MW@  %aM& G%OE%  NB&$A)> 8  IJIJ@EA3B-,* TWY@E#-H @E-^M&NA  . AB-PM& GAB@01$E@E&$A
. NJ&B%d%-HN#$
-H%&- M SELECT ]N%%-@0A3JM& X2%.2$%1$AGAB3$13BN@E#2%  23B-X@0AB3$B%#$3J1@E#NB%-,*
! B%G>9)#$
NB2-H   #$@0-H-~3%-   %3$A.%GA%OE+-H%  &$ AC$AB%2$.-~MW2 I>)]#>9NB%2 ^@0AB3 2 1$3%-U@P$EB%Q#%10%#6AB&%02MW@  %
.@E  IJ  -%0-)> 8  IJIJ@0AB3- MW 6N-e*]>9)#$
NB2-H $-
@E2.  N#$@02#$ 9%@E- ~. "AB&%2@E&%~bY$&c AB-  2%0%AbY3BE%0&-e*  E@0IJ
IJ%02-/NBAMW@EIJ#$$@0/bY$&J)> 8  @EAJ-@EMW%#$ c-K$ P.$-/-H%  .$ AJ@0A3JNB-%c.%">9)]#$
NB2-H   #$@0-H-  10%2%3($A RQ-HABG>9)]#$
NB2-H  *

=>@?BADCFEGHJI

 MxBF@{|l}Jw5xB

T&ML.%FNA3B%2#$ $Aa3B@0.@0 @0-H%F%0AAB%C-HN   2.-d.2@EA-H@  .$ A-Y>9)]#L1%0uk B@0-&e%@0.N%MQ>9)]#L10%uk ! @0AB-@  . AB-acbY$##
%.N2A !65 R ; *] N  @0A NB-%D>)]# Q@0.@0 @E-M% Z &@0AB-@  . @A [". AB.$@0.%J@D&@0AB-@  . AB=+M& ##$ bY%3 J.%J)> 8  IJIJ@EA3B 0 NbY@EAc. %OE%  NB&%`b"$.$A.%  AB&%OEY Md.%`&@0A-H@  &$ A="@0AB3&B%A%.%0^>9)# Q@0.@0 @0-HM% k  IJIJ$[D P>9)]#$
Q@0.@0 @E-t% k 2 #$#$ @  5K [0*
@F}J{ a w:cF}xB~
#include
#include
#include
#include

<qapplication.h>
<qsqldatabase.h>
<qsqlquery.h>
"../login.h"

bool createConnections();
int main( int argc, char *argv[] )
{
QApplication app( argc, argv );
if ( createConnections() ) {
QSqlDatabase *oracledb = QSqlDatabase::database( "ORACLE" );
// Copy data from the oracle database to the ODBC (default)
// database
QSqlQuery target;
QSqlQuery query( "SELECT id, name FROM people;", oracledb );
if ( query.isActive() ) {
while ( query.next() ) {
target.exec( "INSERT INTO people ( id, name ) VALUES ( " +
query.value(0).toString() +
", " + query.value(1).toString() + " );" );
}
}
}
return 0;
}

 Ek4e f+"P ZP][gNf+0kkH0H"gUk &f+P$Zj4j


T&A&B%G%OE@0IJ #$%G@E 1%GbY% 1%@03B3%3@EAC@E33$. AB@0#6%0@03%0?#%0=6-H]#]NB%2 }* +* ! %?2-H4]N% ^bY%  2%@E&%0=
= NB-%0.%3%M&@0N#$?3@0.@0 @E-%@0A3^-4$A$&$@0#$#$ d%IJ & }*le .%~-H%  A3G]NB%2 = q=]bY%9-H %  M& 9&B% 75 '+ 8; 3B@0.@0 @0-H%9.target
@EbY%9bY@0AB
. P2%.2$%1%"2%  23B-/MW I * 6 &J.%Y3B@0.@0 @0-H%  ABA%  &$ A-/bY%%Y-%
N (AF&B%  2%@E&%0
AAB%  .$ A-[MWNBA  &$ AJbY%"bY &%
%0@02#$$%|*
'
MW.%  %@0.AB .%AB.@E# SELECT -.@0.%IJ%AB&=L-H'  &$1M% [^-  B%  K%3& `-%0%$MU&B%C]NB%2 %OE%  NB&%3-HN k %-H-M&N#$# }* ! %
AB%O0" [~MWNBA  &$ A-UN-H%3. D.%@0.%&B2 NBE&B%]N% ^%-HN#$&-e* ! %^1@0#$Nt% [9MWNBA  .$ AC%&NB2AB-Q.%  A.%AB&-U M B%#$3-U@E> !?@0@EA.-,* ! B%JAB-%02. AB-@0%J@  $%1%3a  2%@E&$A@0AB3 %O0%  N.$AF]NB%2$%-@EE@EAB-Q.%J3%0MW@0NB#L3@E&@E @0-H%JN-HABC.%

>9)]#$>9N%02 }*
target
d

int count = 0;
if ( query.isActive() ) {
while ( query.next() ) {
target.exec( "INSERT INTO people ( id, name ) VALUES ( " +
query.value(0).toString() +
", " + query.value(1).toString() + " );" );
if ( target.isActive() )

=>@?BADCFEGHJI

count += target.numRowsAffected();
}
}

 Ek4e f+"P ZP][gNf+0kkH0H"gUk f+P]$Zj4j


! B%F@E 1%  3B%D$A.2 3N  %-Y@  NBAU MLB b IJ@0A C2%  23B-"@E2%D-HN k %-H-HMWN#$#$ $A-H%&%34*^SQ .%F.@EL$-H'  &$1%M[%.N2ABk' 8 ) ; $M".% NB%2 =d%B* Z* &B% AB-%02. AB=dM&@0$#-e*ABNI 5 bY-H'MWM&%  .%3[(%&NB2AB-P  $Md.% ANIJ %0^ M"2 bY-  @EAA Y %
3B%.%2IJ$A%3B=%B* Z* M6.%Y]N% YMW@0$#$-,*
d

@F}J{$M|4xB} yM|4}Jw:x
int main( int argc, char *argv[] )
{
QApplication app( argc, argv );
int rows = 0;
if ( createConnections() ) {
QSqlQuery query( "INSERT INTO staff ( id, forename, surname, salary ) "
"VALUES ( 1155, Ginger, Davis, 50000 );" );
if ( query.isActive() ) rows += query.numRowsAffected() ;
query.exec( "UPDATE staff SET salary=60000 WHERE id=1155;" );
if ( query.isActive() ) rows += query.numRowsAffected() ;
query.exec( "DELETE FROM staff WHERE id=1155;" );
if ( query.isActive() ) rows += query.numRowsAffected() ;
}
return ( rows == 3 ) ? 0 : 1;
}

 Ek4e f+"P ZP][gNf+0kkHE].P] j1f+P]Zjlj


! B-L%O0@EIJ #$%"3B%IJ A-H.2@0.%-X-H&@0$EB&M& 2bY@03J)> 8 Q\ 8 .3@E&@cIJ@EA$ N#$@0. AF#@EAN@0%  IJIJ@0A3B-,*)$A  %cb"%Y3B3DAB 
-H %  M& @3B@0.@0 @0-H%$AF.%Y>9)]#$>9N%02  A-H&N  . X.%c3%0MW@0NB#+3@E&@E @0-H%c-QN-H%34*Z>9)]#$>9N% c u.%  &-  @EAF@0#$-H J %cN-H%3
. P%O0%  N.%d)> 8 < 8 .3B@0.@Y3% ?A$&$ AJ#$@0AN@EE%   IJIJ@0AB3-/-HN  D@0- CREATE ! '  8E; @EA3 CREATE TWS ; V*
d

M}J~M|4}xB~^azuyJ|oz|4

7 A  %P@ SELECT ]N% G@E-~ %%A%O0%  N.%3C-N } %0--HMWNB##$ (b"%P@E1%G@ } %--~. D.%^2%-HN#$4-%X M+2%  23B-L.@E4IJ@0  %03C.%
]NB%2  .%2$@?*C_J%@E1%C@E#%@03B CNB-%03 AB%C MQ.%A@010@0. A M&NA  . AB-=LA%OE[=Lb"B    @0A %N-H%3@0#$ A%& `-.%
-H%]N%0A.@E##$ &B2 N&B%F%  3-e*(>9)]#$>9N% C@E#-H 2 1$3%-Y?2-H[=X#$@0-H"[=A%0O0"[c@0A3 %1M[0*('
MW.%d@EA  ML.%0-%
 IJIJ@0AB3-bY%  @EA  B%  Kc.@EbY%"@E2%" AJ@1@E#$3J2%  23(#$  @0.$ AD  @0#$#$AP$-k!Z@0#$3@[0*
_J%  @EAa@0#$- CA@E1@0.%(& F@0A (@E2 $&@02 ^2%  23N-HABD-H%%K5[0* ! %T?2-H+%  3C$A&B%^3B@0.@0-H%4-)rx%02
* ! B%GABNIJ %U M
.%c#$@0-H+2%  23J$--H r,M% [U  *?SU .%c&B@0AB 
@0#$#?3@0.@0 @E-%0-  13B%Y&B%c- r,%c M@ SELECT NB%2 c@EA3CAD-HN    @0-H%--H r,M% [
%.N2AB-/  *
if ( createConnections() ) {
QSqlQuery query( "SELECT id, name FROM people ORDER BY name;" );
if ( ! query.isActive() ) return 1; // Query failed
int i;
i = query.size();
// In this example we have 9 records; i == 9.
query.first();
// Moves to the first record.

=>@?BADCFEGHJI

i = query.at();
//
query.last();
//
i = query.at();
//
query.seek( query.size() / 2 ); //
i = query.at();
//

i == 0
Moves to the last record.
i == 8
Moves to the middle record.
i == 4

 Ek4e f+"P ZP][gNf+P] ].$ &f+^]$kjlj


! B%Y%O0@EIJ #%"@0 10%"-H bY-/-H IJ%Y MZ&B%dAB@01$E@E&$ ADM&NA  &$ A-LAJNB-%?*
SU @E##B31%02-/-HN   26-H r,M% [= NB6bY%  @0AD$A.%2 @0.%d.%"31%0+.T BAB3J N"
d

QSqlDatabase* defaultDB = QSqlDatabase::database();


if ( defaultDB->driver()->hasFeature( QSqlDriver::QuerySize ) ) {
// QSqlQuery::size() supported
}
else {
// QSqlQuery::size() cannot be relied upon
}

7 A  %YbY%Y@E1%Y#  @0.%3J&B%d%  3(b"%Y@E2%"AB&%%-H&%3($ADbY%YIJ@0 YbY-HJ& P2%0&%10%d3B@0.@cMW2 I*


if ( createConnections() ) {
QSqlQuery query( "SELECT id, surname FROM staff;" );
if ( query.isActive() ) {
while ( query.next() ) {
qDebug( query.value(0).toString() + ": " +
query.value(1).toString() );
}
}
}

 Ek4e f+"P ZP][gNf+.H$[P "hLf+P]$Zj4j


SU .%Y&B@06$M6  NDbY-HJ. G$&%@0.%Y&B2 N(&B%Y2%  23(-%06AD 3%4.%" A#$ cA@E1@0.$ ADMWNBA  .$ AJ  NJA%%03P$-AB%O0"[0*
! $N  ! %#$@0-H.>9N%M [XMWNBA  &$ A^%.N2AB- .%d&%0O0? M.%9#$@0-H6]N% %OE%  NB&%34* ! $-  @0A( %9NB-%M&N# .  B%  KY.@0?.%9]N%02
0 ND&BABK$-/ %$AG%0O0%  N.%3(-/.%" A%Y@  .N@0#$#$ c %ABG%OE%  NB&%03+*
d

+:%W

(') . \

F5X+(

! B%F>9)#$
NB2-H   #@E--c 2 1$3%-Y@$E #$%1%#X$A.%2M&@  %D& a  bY-$Aa@EA3 %3$&$A%  3-YA )> 8 3B@0.@0 @0-H%F.@0 #$%-Y 
10%bY-Lb"$. N6.%YAB%%3(& PbY2$&%Y  NB4 b"AJ)> 8 *
>)]# N2-H   @EAC3B D@0#$IJ -4%10%2 .$AP.@04>9)#$>9NB%2  @0AB=6bY.F.bY D%O  % . AB-,* )$A  %  N- -L% 2%0-%AB .@0 #$%-U 
10%bY-QbY.$AD.%Y3@E&@E @0-H%= c3B%MW@EN#$&=B>9)]# N- L u .%  &-/%.2$%1%Y@0#$#B.%Y?%#$3- M
%@  J2%  23J$AF.%Y&@E #%c X10%b
bYB%A%10%dAB@01$@0.AB . @A%b%  3+*DTWMU A#$ C-H IJm% B%#$3-c@E2%C2%#$%1@EA~-HIJ #$  A?A%  NBd   %-H-HAB & &B -%
@EA3 $EAB 2%&B%C .%02-e* 7 $=IJ@EANB@0#$# a3B-H@0 #$%C.%%A%@0. A M  %02.@0$A ?%#$3-cNB-$A`>9)]# 5 %  3 k -H%[ L%0A%@0.%3 [0*
< b"%01%$=$M  NF%@0#$#$ c3 A 
bY@0AB
. (2%.2$%1%Y@0#$t# B%#$3-LAC&B%  NB2-H /&B%AJ  NC-B N#$3DN-H%@>9)#$>9NB%2 c$A-H&%0@03=?@0AB3
 N-H& IJ r,%G.%]NB%2 ^& D-HN$4  NQA%0%3-e*+ N  @0A%3$42%  23B-LNB-$AJ@P>9)]#$
N- U  1$3$A(&B@0+&B%.@0 #$%G 10%b
B@0-U@P 2$IJ@0 AB3%O^&B@0+NAB]N%0# P3$-.$AN$-B%-~%@  F%  3+*
TWM+&B-  AB3$&$ AC$-UA +IJ%+&B%AF  NB #$#ZA%%3C& JNB-%^@
>)]#>9NB%2 YM& X%3$&-e:* .SU .%d.@EA 6@E##B3@0.@0 @E-%0-/-NB   6%3$&@E #%Y1$%bY-e* 
>)]# N2-H  %2@E&%-~ A @D-$A#$%D2%  23@0L@D.IJ%B*_ B%A%01%~ %MW IJABD@0A $A-H%&=+N 3B@0.%( ~3%#$%.%PNB-$A>9)]#$
 N- $= A#$ (@(-$A#%(%  3C$A&B%^3B@0.@0 @0-H%G$-9@EMWMW%  .%3+*/_ %0AAB@01$@0.ABD&B2 NBE2%  23B-UA.%  N- $=6 A#$ ( A%
%  3^@E6@Y&$IJ%d$-X@010@0$#@E #%Y$AJ@0  #$  @0.$ A  3%B*T&A(@033B.$ A=>9)#$
NB2-H 4IJ@0$A.@0$A-/@Y-H% @0@0.% %3$6 NM&MW%}bY  ($-

,

=>@?BADCFEGHJI

NB-%03D& ^IJ@0K%  @EA%-/. ^@c-H$A#%c%  3P$AJ.%"3@0.@0 @E-%?* ! %"%3B6 NBMWMW%0+$-/IJ@EAB&@EAB%3D$AJ@c-% @02@E&%"IJ%IJ  "@E2%@E=
@EA3D$-/NBAA@EMWM&%  .%3( Y&B%" A@E1@0.$ AJ NMWM&%2,bY    @EA%-@E-/&B%  N- XIJ 1%0-/MW I 2%  23(. G%  3+*
6%0MW 2%UbY%  @EAN-H%~>9)]#$
NB2-H  u.%  &-
b"%~IJNB-MB-  2%0@0.%Q@EA3 %A@~3@E&@E @0-H%  ABA%  &$ A+* AA%  .ABd$-
3B%-  2$ %3
$Aa.%P
AAB%  .$AD.o Q@0.@0 @0-H%-~-H%  .$ A@E 1%B* e L.%P%OE@0IJ #$%-~.@04M& ##$ bbY%^bY$## @0-H-NBIJ%^.@EX&B%  AA%  . ABB@01%Y %%0A  2%0@0.%3(N-HABG.%  %@0.%
ABA%  &$ A- [/M&NA  &$ AJ3% BAB%3JAJ.%">9)]# L@E&@E @0-H%Y%O0@EIJ #%Y %-H%A.%3(%@0#$%*
T&AJ&B%d3B@0.@0@EbY@02%YbY$3%&-X-H%  &$ AJ&B@06M& ##$ bY-/&B-X AB%dbY%Y-H b B b & ^#$AK^bY3BE%.-/. G3B@0.@0 @0-H%  N- -,* 7 A  %"bY%
B@01%Y@cKA bY#$%3%c MZ &  NB2-H 2-/@EA3J3B@0.@0@Eb"@E2%YbY3BE%0&-Lb"%  @0AJ3$-  N-H--HN  #@E--H$AP>9)]# N- *
! B%Y>9)]# N-   #@E--L2%]N$2%0-/&B%d]-H]#  N2-H * DB%@03B%@ B#$%B*
azF| }JzF<}xB~^#zN{w t
#include
#include
#include
#include

<qapplication.h>
<qsqldatabase.h>
<qsqlcursor.h>
"../login.h"

bool createConnections();
int main( int argc, char *argv[] )
{
QApplication app( argc, argv );
if ( createConnections() ) {
QSqlCursor cur( "staff" ); // Specify the table/view name
cur.select(); // Well retrieve every record
while ( cur.next() ) {
qDebug( cur.value( "id" ).toString() + ": " +
cur.value( "surname" ).toString() + " " +
cur.value( "salary" ).toString() );
}
}
return 0;
}

 Ek4e f+"P ZP][gNf+.H$[P [f+P]$Zj4j


_J%  %@0.%.%>9)#$
NB2-H L u|%  .=Z- %  $MW $AJ.%G&@E #% Q1$%b& FN-H%B*+TWM b"%^A%%03F. JN-H%G@P3@0.@0 @E-%^ &B%/.@EAC.%
3B%MW@EN#$bY%  @0AF- %  $MW "$AD.%">9)]#$
N-   A-H.2N  & *
! B%Y)> 8 %OE%  NB&%03P Y.%  NB|* -%0#%   [  @E##Bd

SELECT staff.id, staff.forename, staff.surname, staff.salary, staff.statusid FROM staff

SU%OE&=ZbY%G$.%2@E&%c. NC.%%  3-L2%.NA%3C G.$-L-H%#$%  4-H&@E&%IJ%0A+N-HAB  N* A%OE[0*: %#$31@0#$N%-U@E2%G%.2$%1%3


$A $A @a-$IJ#$@0cbY@E . >)]#>9NB%2 =L%O  % ~.@E~b"% @E-- ?%#$3A@0IJ%0-c2@0.%0".@EAANIJ%02  AB3%OE%-c& `1@0#$N%t[G@0AB3
-H% !?@E#NBM% [0*
BBp5F 6]pp]p5J+e?Z
! J- %  $MW ^@^-HN -H%+ M
2%  23B-L. J2%0&%10%cb"%  @EAC @E-- ?#.%AB  2$&%@P. J&B%-%0#%  [~M&NA  . A4* ; @  F%  3F.@0+$%.N2AB%3JbY#$#IJ%0%6&B%  2$&%02$@c M?.Y% ?#.% ..%aB#$&%0  2%-H  A3B-X& ^&B%")> 8 -H&@E&%IJ%0A. -X_ < ;B54;  #$@0NB-% 0*
cur.select( "id > 100" );



=>@?BADCFEGHJI

! B--%#$%  [  @E##Bb"$#$#%OE%  NB&%"&B%d)> 8


SELECT staff.id, staff.forename, staff.surname, staff.salary, staff.statusid
FROM staff WHERE staff.id > 100

! B-b"$#$#B%&%01% AB# c. -H%d-H.@0MWM6bYB -% id $-/2%@E&%0X&B@0A , *


T&A @E33$. A`& 2%.2$%1$A-H%#%  .%3 2%  23B-9bY%D MW.%AabY@0ABL. - %  $MW J@D-H 2L 23B%9MW ~.%J%.N2AB%3 %  3-e* ! $-$@  B%10%3F  2%@E&$AP@G>9)#$TWAB3%OG u .%  
bY    A.@0$A-Q.%cA@EIJ%-Q M&B%`B%0#3@.-LQbY%bY-HF. (- 
@EA3D @E--Q.$ u |%  
& ^&B%"-H%#$%  " [  @0#$#|*
QSqlCursor cur( "staff" );
QSqlIndex nameIndex = cur.index( "surname" );
cur.select( nameIndex );

<%2%"bY%  2%@E&%d@">)]#T&A3%0O" u|%  ZbY$&( A%a?%#3B= -HNA@0IJ% * _`%A(bY%  @0#$#.%"-%0#%  [MWNA  . A(bY%" @0-H-X&B%$A3B%O
u |%  .=ZbY  - %  B%-Q.@0+.%%  3-Q-B N#$3C %%.N2AB%3F-H 2.%3C -.@0M&M* -HNA@0IJ%?* ; @  /?%#$3F$A&B%AB3%O^ u.%  
$-NB-%03JAD.% 795 ;B5 ?  #@EN-H%c MZ&B%d-H%#$%  -H.@0.%IJ%A* ! B%d)> 8 %OE%  NB&%3(B%2%"SELECT staff.id, staff.forename, staff.surname, staff.salary, staff.statusid
FROM staff ORDER BY staff.surname ASC

 IJ ABAB^.%"2%0&%10@0# MZ@c-HN -H% M62%  23B-X@0AB3J 23%02$A.%"2%-HN#$.-$-/-.2@E.MW bY@0234*


cur.select( "surname LIKE A%", nameIndex );

_J%( @E--~$Aa@$?#.%Q-.2$A..%^_ < ;?54;  #$@0NB-%= @0AB3a&B%G>9)]#$TWAB3%OJ u|%  4. F-H 2X 9.&B% 795 B; 5 ?  #@EN-H%0* ! $ 2 3N  %SELECT staff.id, staff.forename, staff.surname, staff.salary, staff.statusid
FROM staff WHERE staff.surname LIKE A% ORDER BY staff.surname ASC

! (-  cIJ 2%Y.@0AF A%`?%#3B=@EADAB3%O  @0AF %  2%0@0.%3JbY    AB&@EAB-LIJNB#.$ #%`?%#$3-e*?' -  %0A3$AP@0AB3D3%0-  %A3BAB
3%  @0AD %"-%0N-HABG>9)#$TWAB3%O k -H%[ L%-  %0A3$A5[ s .%"3%M&@0N#$$-@E-  %A3BABZ*
QSqlCursor cur( "staff" );
QStringList fields = QStringList() << "surname" << "forename";
QSqlIndex order = cur.index( fields );
cur.select( order );
while ( cur.next() ) {

 Ek4e f+"P ZP][gNf+0HE&hLf+P]$Zj4j


<%2%9bY%  2%0@0.%~@d-H&ABd#$$-  AB&@EABABc&B%yB%0#3B-+bY%9bY$-P. c-  =]AP.%9 3%.%0 9@0%9& c %~NB-%03+* ! B%AGbY%  2%@E&%
@G>9)]#T&A3B%Oc u.%  6 @0-H%3( AJ&B%-H%a?%#$3-H=?A@0#$#$ c%O0%  N.AB.%"-%#$%  [  @E##BN-HABG.$-/AB3%OZ* ! B-X%OE%  NB&%0d

SELECT staff.id, staff.forename, staff.surname, staff.salary, staff.statusid


FROM staff ORDER BY staff.surname ASC, staff.forename ASC

T&M6bY%"AB%%3J. G%&%01%d%  3-XbY$&$?%#$3-/.@E6IJ@0  J-H %   ~ 2$.%2$@cbY%  @0A  2%@E&%"@`B#$.%4 @0-H%3J AJ@0AD$A3B%O?*
QSqlCursor cur( "staff" );
QStringList fields = QStringList() << "id" << "forename";
QSqlIndex order = cur.index( fields );
QSqlIndex filter = cur.index( "surname" );
cur.setValue( "surname", "Bloggs" );
cur.select( filter, order );
while ( cur.next() ) {

,

=>@?BADCFEGHJI

 Ek4e f+"P ZP][gNf+0HEZf+P]$Zj4j


! B-%O0%  N.%d

SELECT staff.id, staff.forename, staff.surname, staff.salary, staff.statusid


FROM staff WHERE staff.surname=Bloggs ORDER BY staff.id ASC, staff.forename ASC

! B% 3% >)]#T&A3%0O  A.@0$A-Y&bY 9?%#$3-H= $3 @0AB3 MW %A@EIJ% bY   @0%DN-H%3 & a 3%d&B%D2%0-NB#.-,* ! B% ?#$&%
>)]#T&A3%0O  AB&@EAB-U@G-HABE#$%B?%#$3= -HNA@0IJ% *
_ %0AF@0ACAB3%O^-U @E--H%3C@0-Q@B?#.%. (&B%-H%#%  "[QM&NA  . AB=BM& %@  
?%#$3A.%B?#$&%$=6@9"e$EP P]e$U-HN  #@EN-H%P$-  %@0.%3Cb"B%2%^&B%G1@E#NB%^$-~.@0K%AMW2 I &B%  NB2%A  NB2-H 2 -Q10@0#$N%
M& X&B@05 ?%#$3+*]_J%YN-H%c-H% !Z@0#$NM% [L& P%AB-NB2%Y&B%d10@0#$N%cN-H%3J$-.%" A%YbY%Yb"@EA*
Z] ep5DU
QSqlCursor cur( "creditors" );
QStringList orderFields = QStringList() << "surname" << "forename";
QSqlIndex order = cur.index( orderFields );
QStringList filterFields = QStringList() << "surname" << "city";
QSqlIndex filter = cur.index( filterFields );
cur.setValue( "surname", "Chirac" );
cur.setValue( "city", "Paris" );
cur.select( filter, order );
while ( cur.next() ) {
int id = cur.value( "id" ).toInt();
QString name = cur.value( "forename" ).toString() + " " +
cur.value( "surname" ).toString();
qDebug( QString::number( id ) + ": " + name );
}

 Ek4e f+"P ZP][gNf+[&H] f+P$Zj4j


T&A&B-U%OE@0IJ #$%^bY%^ %E$A  2%@E&$AJ@  NB2-H L A.%  2%3B. 2-Q.@0 #$%B*X_J%  2%0@0.%G.b" F>9)]#T&A3B%O^ u|%  .-e* ! %B-.=
23B% =$-  %@0.%3JMW I .% 3%L %0#3B- -H&AB#$-H * ! %Y-H%  AB3= B#$.% =-  %@0.%3(MW I.% ?#.%L %#$3- -H&ABG#$-H*
_J%P-H%X&B%G1@E#NB%-9 M4.%G.bYo ?%#3B-~N-H%3a$A.% B#$.%= -NB2AB@0IJ% @EA3  . =
. D&B%^10@0#$N%-9bY% 2%$A.%%-.%3A4*LSQ b
bY%  @E##B-%0#%   [QbY  J%A%02@0.%-X@EA3J%OE%  NB&%-&B%dM& ##$ bYABG)> 8 
d

SELECT creditors.city, creditors.surname, creditors.forename, creditors.id


FROM creditors
WHERE creditors.surname = Chirac AND creditors.city = Paris
ORDER BY creditors.surname ASC, creditors.forename ASC

! B%?#$&%y?%#$3-~@E2%(N-H%3a$Aa&B%^_`< ;B54;  #@EN-H%B* ! B%U1@E#NB%-@E2%P&@EKE%0AaMW2 I &B%  N-  -  NB2%AX1@E#NB%-M& U&B -%


?%#$3- s bY%"-H%.%0-%"1@0#$N%0- N-%0#1%0-/bY.J&B%d-H%!?@E#NB%M[  @0#$#-e* ! %" 23%0?%#$3-/@E2%"N-H%3D$AJ&B% 75 ;?5 B  #$@0NB-%B*
SU bbY%c.%@0.%". ND%@  DIJ@E  $AP2%  23.$M@0AB 0*Z_J%c2%0&%10%".%  A.%A.- M
&B%"$3=?MW %A@EIJ%c@0AB3D-NB2AB@0IJ%
?%#$3-/@EA3D @0-H-/&B%I AJ. P- IJ%Y   %-H-$AGMWNA  . AB=$AD&B-%O0@EIJ #%"@c-HIJ #$%cL%0 N5[  @E##*
MxB} y|l}xB~^#zN{w t

5 %  3-  @EAD %"AB-%&%03=NB 3@E&%3J 43B%#%0&%3($AD@c.@0 #$%" X10%bN-HABG@c>9)#$


NB2-H /  13BAB.@06.%Y.@0 #$%Y +10%b
B@0-@ IJ@E2 AB3%O.@EQNBA$]N%#$ a3$-.$AN$-B%-%@  2%  234*DT&MQ.$-c$-cA ~.%  @0-H%@>)]#>9NB%2 IJN-H9 %CN-H%3
$A-H.%@034*.SU &%".@0
A 6@0#$#3B@0.@0 @E-%--NB   2
%3$&@E #%"1$%bY-,* 



=>@?BADCFEGHJI

; @    NB2-H QB@0-~@EAaAB&%A@E#6 %3BX NBMWMW%02b"B  -9NB-%03 P@0#$#


.%^%3$X %@0. AB-B.AB-%02.=N 3B@0.%G@EA3a3%0#%.%0* ! %
%03$&$A 2  %0--4$-/&B%-H@0IJ%"MW 4%@  P %2@E&$ AB@  ]N$2%"@Y  AB&%0 . G.%d2%#$%1@EA6 NM&MW% s  @0#$#-%0!Z@0#$N%M[L& 2$IJ%d.%
NBMWM&%/bY.F.%G1@0#$N%-Q  NbY@0A s  @0#$#ZAB-%[U LN 3B@0.%M[U /3%#J[U& J %2M& 2I &B%3%-H$2%3D %2@E&$ A+*:e /%O0@EIJ #$%=
bYB%A AB-%02.AB @a2%  23NB-$A`@  N- $=Q  N  @E##L 2$IJ%TWAB-%02" [G. %9@a  $A.%Y& .%%3$9 NM&MW%Y@EA3 .%A  @E##
-H% !?@E#NBM% [^ A .$- NBMWMW%0". -%%@  q B%#$3 -1@E#NB%B* ! B%A  N  @E##L>9)>9#$
NB2-H uk AB-%[P. `$A-H%2&B%  A.%A.- M
.%(%3B NMWM&%UAB& .%P3@E&@E @0-H%B*~)$IJ$#@E2#$ =Xb"B%AaN 3@0.$A . U3B%#%0&$Al d@F2%  23= &B%^10@0#$N%-d MX&BT% ?%#$3-9$A .%
%03$+ NBMWM&%/@0%N-H%3& JNB 3@E&m% . /3%#$%.% ~.%%  3DA.%3B@0.@0 @0-H%B* ! % %3$+ NMWM&%20-UNAB@0M&MW%  &%3F G@0AB  N2-H 
AB@01$@0. AaM&NA  &$ A-e*SQ .%P&B@04M4  N @E--~@(-H&ABJ1@0#$N%(. D-H% !Z@0#$NM% [@0A (-HABE#$%(]N .%-Ub"$#$# %^%0-  @0 %q3 ..N2AB%3
$A. P@ @0$4 M6-$A#$%cNB &%0L- Q-$A  %Y@c-$A#%GNB &%"$-@c-H %  $@0#  B@02@  .%4AJ)> 8 *
! B%Y 2$IJ%TWAB-%02" [= 2$IJ%RL 3@0.M% [X@EA3J IJ% Q%#$%.M% [/IJ%. 3B-X@0#$#2%0&NB2A(@c  $A.%4& P&B%d$A.%A@0#%3$ NM&MW%$=] bY
%01%~%@  IJ%. 3  @EAa  &%0A.@E##$ ( %2M& 2I 3$MWMW%02%AB+ %2@E&$ A-~ Aa.%P%3$/ NBMWMW%0Q %0MW 2%^2%.NA$AD$ * 6 (3%M&@0N#$.=
>)]# N2-H u Z 2$IJ%T&A-H%2" [  #%0@02-L@0#$#.a% B%0#3J1@E#NB%-$AJ.%Y%3$ NBMWMW%0y .-H%%">9)]# 5 %  3 k  #$%@0k !?@0#$N%0- ["0* 6 &(>9)]#$
 N-  k IJ%RQ 3B@0.M% [Y@0A3 >9)]#$
NB2-H u k 2$IJ% L%0#%.M% [Y$A$&$@0#$ r,%&B%J%3$U NM&MW%9bY$&`&B%  NB2%A  A.%AB&-" M.%
 N- Q %MW %c2%.NA$A($ *4'+#$#6&B2%%c M+&B%-H%MWNBA  .$ A-U@0%G1$2.N@E#=6-H D  N  @EAC%3% ?A%G&B% %@E1$ a .MW L%O0@EIJ #$%=
%$IJ #%0IJ%A.ABC 2$IJ%TWAB-% [". @EN. ANBIJ % ?%#$3-$A .%J%03$ NM&MW%L 0#* L@E&@E@0bY@0%JN-H%2WAB&%MW@  %  AB& #-"%IJ$
-H$EAB@0#$-=+%B* Z*Q IJ%0TWA-H% [=Z.@0X 0 N  @0A  ABA%  X& s .%0-%P @0-H-~@(  $A.%U& D.%P@0  2 @E&%G NMWM&%Q- C-NB  #$@0-H-$A
IJ@E AB B %~AB%  %-H-H@02 }* )%%9-HN  #@E--HABc>9)]#$
N- +MW 
IJ 2%9$AM& 2IJ@0.$ A AG-HN  #@E--HAB s -H%%9.a%
Qd.k 
IJ@0ABN@0#
M& XIJ 2%" A  ABA%  &$A. P&B%d IJ%0TWA-H% [L-$EAB@0#*
_`%A$A-H%2" [=BNB 3@E&t% [~ 3%0S# [~$-  @0#$#$%3C A@  N- $=?4bY#$#6 %$A1@E#$3@E&%03C@EA3b"$#$#6A J#$ A%L %G  -$. AB%3C AC@
10@0#$3D%  3+*T&M?bY%"A%%03P. GIJ 10%d. G@EA .%+2%  23(@0M&&%0 %02MW IJABc@0AJ$A-H%2" [=]N 3B@0.M% [/ 43%0S# [Lb"%"IJN-HIJ@EKE%"@
M&2%-HJ-H%#%  " [  @E##* ! B-%A-HN%-.@E  @EA%-. G.%Y3B@0.@0 @0-H%"@02%Y@ } NB2@E&%#$ Y2% ?%  &%3($AJ&B%  N- *
|6kp5F ]e??
QSqlCursor cur( "prices" );
QStringList names = QStringList() <<
"Screwdriver" << "Hammer" << "Wrench" << "Saw";
int id = 20;
for ( QStringList::Iterator name = names.begin();
name != names.end(); ++name ) {
QSqlRecord *buffer = cur.primeInsert();
buffer->setValue( "id", id );
buffer->setValue( "name", *name );
buffer->setValue( "price", 100.0 + (double)id );
count += cur.insert();
id++;
}

 Ek4e f+"P ZP][gNf+,kH f+P]$Zj4j


T&A&B-~%OE@0IJ #$%GbY%  2%0@0.%G@  N- Q A&B% 2  %- &@E #%?*XSU%O04bY%  2%@E&%G@P#$$-X M+ 2 3BN  +AB@0IJ%-~bYB  CbY%G$.%2@E&%
10%|*te X%0@  F.%2@E&$ AJbY%  @E##?&B%  NB2-H 2 -L 2$IJ%T&A-H%2"[IJ%. 34* ! $-IJ%. 3D%.N2AB-/@G  AB&%X. (@>9)]# 5 %  23
NBMWM&%
$A^bYB  G@0#$#]&B% ?%#3B- @E2%9-H%Z. * .SU &%&B@0?>9)]# N-  k IJ%T&A-H%2" [X$-+10&NB@0#$=@EA3  @EA^ %  N-H& IJ r,%3
(3B%2$1%3  #$@0-H-H%-,*~)%%(>9)]#$
N- L 0*QNULL
SU%O0XbY%  @E##-H% !?@E#NBM% [dM& L%0@  9 ?%#$3&B@0X2%0NB%-9@(1@E#NB%B *  $A@0#$#$ Jb"%  @E##
$A-H% [Q& ^AB-%02.%"2%  234* ! %"AB-%02" [  @E##B2%.NA-/.%"ANBIJ %X MZ2 bY-/$A-H%2.%34*
_J%( .@0$A%3@(  $A.%U& C@(>9)]# 5 %  3 u |%  4M&2 I .%^ 2$IJ%T&A-H%2" [  @E##*U>9)# 5 %  23 u .%  &-  @0A #$3a.%G3B@0.@
M& /@G-H$A#%%  3D #$N-Q- IJ%cIJ%0&@E3@E&@^@0 N &B%c2%  234*T&AF @  &  %cIJ -H
$A.%2@  . AFb"$.F@>9)# 5 %  23  A-H-H. M6-H$IJ #%Y1@E#NBM% [Q@0A3J-H% !?@E#NBM% [  @0#$#-L@0-L-B b"AJ$AJ.$-/@0AB3J&B%"M& ##$ bYABG%OE@0IJ #$%B*

ZZ p5D+e?Z
QSqlCursor cur( "prices" );
cur.select( "id=202" );
if ( cur.next() ) {

K

=>@?BADCFEGHJI

QSqlRecord *buffer = cur.primeUpdate();


double price = buffer->value( "price" ).toDouble();
double newprice = price * 1.05;
buffer->setValue( "price", newprice );
cur.update();
}

 Ek4e f+"P ZP][gNf+j6E].f+^]$kjlj


! B-d%O0@EIJ #$%P %0E$A-db"$. &B%  2%0@0. Aa MX@  N2-H 9 1%0~&B%P 2  %-9.@0 #$%B*_J%(-%#$%  .%(2%  23bY%JbY-H . CNB 3@E&%
bY$&.%c-H%#%  "[  @0#$#Z@0AB3CIJ 1%G& ($+bY$&C&B%A%0O0"[  @0#$#|* _J%  @0#$#Z 2$IJ%RQ 3@E&%t[L. JE%0 @^>9)]# 5 %  3F  $A.%/. J@
NBMWM&% bYB  P$-X  NB#@E&%03PbY$&P.%  A.%A.-X M?&B%  NB2%A6%  3+*_J%%.2$%1%.%d1@0#$N%Y M?&B%   %#?%#$3=  @0#  N#$@0.%
@YAB%b 2  %0=@EA3(-H%Z&B%9&B%   % ?%#3P. &B%AB%bY#  @0#  NB#@E&%03P10@0#$N%B* AB@0#$# "bY%  @E## NB 3@E&%t[X& NB 3@E&%d&B%92%  234*
! B%YN 3B@0.M% [  @E##B2%.NA-/.%"ANBIJ %X M62 bY-XNB 3@E&%34*
T&M/IJ@0AB D$3%AB&  @E#
N 3@0.%-dA%%3 &  %( %MW 2IJ%03=
M& ~%O0@EIJ #$%JA  2%0@0-HABC.%(   %J M/%1% (.%IA`&B%( 2  %J#$-H.=
NB-$AP@c-HABE#$%c)> 8 -H.@0.%IJ%A
b"$.P>)]#>9NB%2 Y$-IJ %d%iM   %0A.= %B* 6*
d

QSqlQuery query( "UPDATE prices SET price = price * 1.05"

);

U]p]p5J ]e?Z
QSqlCursor cur( "prices" );
cur.select( "id=999" );
if ( cur.next() ) {
cur.primeDelete();
cur.del();

 Ek4e f+"P ZP][gNf+E"e f+P$Zj4j


! 3%0#%.%%  3-H= -%0#%  Z&B%2%  23P. %3B%#%0&%3P@0AB3(A@010@0.%d. $ * ! %A  @E## 2$IJ%L%0#%.%M[4.  NB#@E&%"&B%  N2-H 
bY$&(.%9 2$IJ@02 dKE%0 M?&B%-H%#%  .%3G%  3=:.AP.$-X%O0@EIJ #%0=.% prices.id ?%#$3=]@0AB3P.%0A  @E##>9)]# N- k 3%0#S[
. P3%#$%.%d$ *
'+-"b"$.aN 3B@0.M% [= $M/IJNB#. #%J3B%#%0&$ A-dA%%3 &  %(IJ@03%JbY$& - IJ%  IJIJ A  2$.%2$@D$$-IJ 2%(%Mi  %0A/. 3 -
NB-$AP@c-HABE#$%c)> 8 -H.@0.%IJ%A.=%B* 6*
d

QSqlQuery query( "DELETE FROM prices WHERE id >= 2450 AND id <= 2500" );

Qc]

]` 2q ] 5 0 :oWB0dlX

Q@0.@0W'?bY@E2% _a$3%.-P 2 1$3%a@`-$IJ #$% %"  bY%MWN#LIJ%@0AB-^ M  ABA%  &$A 3@E&@E @0-H%-^. >9dN-H%G$A.%2M&@  %-,* ! %
%0@0-H%-HbY@E P M  2%@E&$AF@0A3 IJ@0A$ NB#@E&$AC3@0.@0W@0bY@0%PbY$3%.-$-bY.
U?d.k x*ye U. -H%PbYB F %MW%U@J NB2%#$
2 2@0IJIJ@E&  @0  2 @  (&B%MW #$#$ b"$AG%O0@EIJ #%0-X@0A3J%0O0 #$@0AB@0. AB-X 2 1$3%"@0A($A.2 3BN  .$ A+*]SU .%d.@E6&B%  2%@E&$A
Q@0.@0 @E-% '  #  @E&$ A-  @E &%0 M.%
Ud.k GIJ@0ABN@0#U@EA3$.-P@ } IJ @0AB AB%O0@EIJ #%0-^  1$3%-P@03B3$&$ A@E#
$AM& 2IJ@E&$ A+*
|lkyc z z
#include
#include
#include
#include
#include

<qapplication.h>
<qsqldatabase.h>
<qsqlcursor.h>
<qdatatable.h>
"../login.h"



=>@?BADCFEGHJI

bool createConnections();
int main( int argc, char *argv[] )
{
QApplication app( argc, argv );
if ( createConnections() ) {
QSqlCursor staffCursor( "staff" );
QDataTable *staffTable = new QDataTable( &staffCursor, TRUE );
app.setMainWidget( staffTable );
staffTable->refresh();
staffTable->show();
return app.exec();
}
return 0;
}

 Ek4e f+"P ZP][gNf+&]4e"hLf+P]Zjlj


Q@0.@0W'?bY@E2%&@E #%-Y%]N$2%F.%C]3@0.@0.@0 #$%B* `@EA3 ]-]#  N- *  B%@03B%)?#$%-,*D_J%  2%@E&%C N"@0  #$  @0.$ A u|%  .=  @E##
 2%@E&%0
AAB%  .$ A-[@0AB3  %@0.%d.%  NB2-H |* _J%  2%@E&%".%">L@E&@ ! @E #%d @0-H-$A^
@c  AB&%0+. G.%  NB2-H =@0A3(-H%.%
@EN.F 0 NB#@E&% B@EJ& !65 R ; *SU%OE+bY%^IJ@0K%G NQ> Q@0.@ ! @0 #$%&B%GIJ@EAbY3BE%0+@EA3  @E##6%MW%-H [U& F  N#$@0.%G$4bY.
3B@0.@c@0AB3  @E##B-B $b [L& ^IJ@0K%Y10-H #$%B*
! B%Y@0N.F 0 N#$@0.`% B@EG.%##$-.%Y> Q@0.@ ! @0 #$%Yb"B%.%4 XA  -B N#$3  %@0.%  #$NIJA-L @0-H%3D AJ.%  NB2-H |*@0NB&F E 
NB#@E&%c3B %-XA 
@0MWM&%  6.%Y#$ @03BABG MZ3@E&@c$A. ^.%".@0 #$% s &B@06$-@  $%1%03P Y.%Y2%0MW2%0-@ [/MWNBA  .$ A+*
d

QSqlCursor staffCursor( "staff" );


QDataTable *staffTable = new QDataTable( &staffCursor );
app.setMainWidget( staffTable );
staffTable->addColumn( "forename", "Forename" );
staffTable->addColumn( "surname", "Surname" );
staffTable->addColumn( "salary",
"Annual Salary" );
QStringList order = QStringList() << "surname" << "forename";
staffTable->setSort( order );
staffTable->refresh();
staffTable->show();

 Ek4e f+"P ZP][gNf+&]4e[f+P]Zjlj


_J%  2%@E&%Y@EAD%IJ . Y>L@E&@ ! @E #%YbY  DbY%YIJ@0K%c$A. P NBXIJ@0$AFbY$3%
@EA3D.%AJbY%cIJ@EAN@E##$ @E33D.%  #$NIJAB-LbY%
bY@EAQA .%J 3%~bY%JbY$-`&B%I . @0  %@0*#e ~%@    #$NIJA`b"%J-H %  M& J&B%$B%0#3 AB@0IJ%J@EA3 &$ A@E##$ J@F3B-H #$@0
#$@0 %0#|*
_J%JB@01%J@E#-H  .%3a& -H 2.%( b"-A`&B%P.@0 #$% s &B-  NB#3 @E#-H @E1%J %%Aa@  $%1%03 (@0  #$ $A&B%(- . C.%
 N- X$&-H%#$M*
7 A  %C%1% .$A-c-H%UN `bY%  @0#$#X2%M&2%-H [Y. # @E3`.%C3@E&@MW I &B%F3@E&@E @0-H%F@EA3 -B $b [G& IJ@EKE%C&B%DbY3BE%0
10-H #$%B*
>)L@E&@ ! @0 #$%-9 AB# (%&%01%^10-H #$%J2 bY-9bYB   .3% %A3BABD Aa&B%(32$1%L @E##$ bY-%1%0Aa#@E2%J&@E #%-&  %(3$- #$@0 0%3
10%2 Y]N  K# cbY$&JIJ$A$IJ@0#BIJ%IJ 2  -*
d

p

=>@?BADCFEGHJI
v zM|4}xB~M|4@yc z9w

 2 %@E&$AP3@E&@E@0bY@E2%M& 2IJ-/$-LIJ %cAB1 #$1%3D.@EAFN-H$AP3@0.@0W@0bY@0%&@E #%0- %  @0N-H%cbY%cIJN-H .@0K%  @E2%c M6%@  /B%#$3
$A3B103BN@0#$#$ }*Q\F -H+ M+.%  3%P %#$ b  @0A %^@0N. IJ@0.  @0#$#$ P%AB%2@E&%3 $
QBd.x k*/)%%P&B%T
UBd.k LIJ@0ABN@0#
M& XIJ 2%"3%.@0$#$-,*
Upk?p p5F(+]eB
#include
#include
#include
#include
#include
#include
#include
#include
#include

<qapplication.h>
<qdialog.h>
<qlabel.h>
<qlayout.h>
<qlineedit.h>
<qsqldatabase.h>
<qsqlcursor.h>
<qsqlform.h>
"../login.h"

bool createConnections();
class FormDialog : public QDialog
{
public:
FormDialog();
};
FormDialog::FormDialog()
{
QLabel *forenameLabel
QLabel *forenameDisplay
QLabel *surnameLabel
QLabel *surnameDisplay
QLabel *salaryLabel
QLineEdit *salaryEdit

=
=
=
=
=
=

new
new
new
new
new
new

QLabel( "Forename:", this );


QLabel( this );
QLabel( "Surname:", this );
QLabel( this );
QLabel( "Salary:", this );
QLineEdit( this );

QGridLayout *grid = new QGridLayout( this );


grid->addWidget( forenameLabel,
0, 0 );
grid->addWidget( forenameDisplay,
0, 1 );
grid->addWidget( surnameLabel,
1, 0 );
grid->addWidget( surnameDisplay,
1, 1 );
grid->addWidget( salaryLabel,
2, 0 );
grid->addWidget( salaryEdit,
2, 1 );
grid->activate();
QSqlCursor staffCursor( "staff" );
staffCursor.select();
staffCursor.next();
QSqlForm sqlForm( this );
sqlForm.setRecord( staffCursor.primeUpdate() );
sqlForm.insert( forenameDisplay, "forename" );
sqlForm.insert( surnameDisplay, "surname" );
sqlForm.insert( salaryEdit, "salary" );
sqlForm.readFields();
}

=>@?BADCFEGHJI

n

int main( int argc, char *argv[] )


{
QApplication app( argc, argv );
if ( ! createConnections() ) return 1;
FormDialog *formDialog = new FormDialog();
formDialog->show();
app.setMainWidget( formDialog );
return app.exec();
}

 Ek4e f+"P ZP][gNf7k0HhLf+P]Zjlj


_J%"$A  #$N3B%d.%%@E3%NB#$%-XMW  &B%bY$3%&-4.@E?bY%dA%%34*_J%d@E#-H $A  #NB3%"-H]#3B@0.@0 @E-%B* (@0AB3^]-H#  NB2-H |* P@0-XN-HN@E#=
NBbY%YA b @E33J]-H#$MW I * 4*
! B%dM& 2IbY$## %d %-H%A.%3G@E-/@Y3$@0#$ -H GbY%d-HN  #@E--> L$@0#$ cbY.( N4 bYA e 2$I Q@E#   #$@0-H-e* _J%"N-H%d@c> 8 $A% ; 3$
M& X&B%d-H@0#$@0 c- P.@06.%YNB-%  @0A  @0ABE%Y$ *' #$#.%"bY3BE%0&-L@02%"#$@0$3D NbY$&J@c2$3+*
_J%  2%@E&%Y@  NB2-H X A(&B%"-H.@0MWMZ.@0 #$%=-H%#$%  @E##B2%  23B-X@0A3FIJ 1%d. P&B#% ?2-H62%  234*
SU bbY%  2%@E&%F@>)]# e I u .%  L@EA3 -%U.%D>)]# e IJ -"2%  23 NBMWM&%. a&B%  N2-H 2 -dNB 3@E&%C NM&MW%* e %@  
bY$3%4&B@0+bY%bY-HC. JIJ@0K%G3B@0.@0@EbY@02%Gb"%^AB-%02+@^  $A.%L& J.%bY$3%+@0A3.%@E--H  $@0.%m3 B%#$3FAB@0IJ%^AB& J.%
>)]# e I *  AB@0#$# cbY%  @E##%@0M3  %0#3B- [L& ^  N#$@0.%"&B%dbY$3%&-b"$.P3B@0.@cMW I&B%d3B@0.@0 @E-%Y1$@c&B%  N-  -X NM&MW%*
d

Upk?p p5F(+]eBCpaPU JEB


>)L@E&1@ !X$%b -"@D_a$3%Q&B@0  @0A B #3 @F2%0@03W A#$ J>9)]#e I *"TWA @E33B. A & >9)]#e 2I Q MWM&%2-&B%P-H#$ L%MW%-
>)]# 5 %  2$3 YQ- P$  @EAJ%@0-H#$ c %Y#$AK%3J. E%0&B%4b"$.J@c>L@E&@ ! @E #%"& ^3$- #@E c@c3%.@0$##$%3D10%b MZ@c2%  23
connect( myDataTable, SIGNAL( currentChanged( QSqlRecord* ) ),
myDataView, SLOT( refresh( QSqlRecord* ) ) );

ZZpp5F(+]eB
! B-%O0@EIJ #%Y$-/-HIJ$#@E/. ^.%" 2%01 NB-/ A%Y-H ^bY%YbY#$#M&  NB-/ AJ&B%d3BM&MW%%A  %-e*
class FormDialog : public QDialog
{
Q_OBJECT
public:
FormDialog();
~FormDialog();
public slots:
void save();
private:
QSqlCursor staffCursor;
QSqlForm *sqlForm;
QSqlIndex idIndex;
};

 Ek4e f+"P ZP][gNf7k0Hf+P]


! B%d-H@010%"-H#$ 6b"$#$# %"N-H%3(MW 4@Y N.& A(.@06.%dN-H%  @EA( 2%-H-/.  AMBI .%$4N 3B@0.%B*]_J%"@0#$- P #$3(  $A.%2-X. G.%
>)]# N2-H /@EA3J.%Y>9)]#e 2I -H$A  %Y.% YbY$##BA%%3(. ^ %Y@ } %0--H%3J N.-H3B%".%  AB-.2N  . |*
d



=>@?BADCFEGHJI

staffCursor.setTrimmed( "forename", TRUE );


staffCursor.setTrimmed( "surname", TRUE );

_J%  @0#$#-H% ! IJIJ%03[/ AJ.%"&%0O05?%#3B-/-H P.@E6@0AB c- @  %-N-H%3J& P2$ @E3J&B%#?%#$3-/@E2%Y2%0IJ 1%3(bY%AJ.%aB%0#3B@E2%Y2%0&%10%3+*
2 %&$%-4.@06bY%dIJ6bY$-J. @0  # ". B%0#3B-=-HN  (@0-X@0#$$EABIJ%A@EA3(1@E#$3@E&$ A(@02%"@  $%1%3($A(&B%  AB1%AB&$ A@E#
bY@E =MW 4%OE@0IJ #$%=  @E##$$AP> 8 $A% ; 3B" k -H%.' #$AIJ%0A+@0A3J> 8 $A% ; 3$" k -H% !Z@0#$3B@0. |*
QLineEdit

*forenameEdit

= new QLineEdit( this );

QPushButton *saveButton
= new QPushButton( "&Save", this );
connect( saveButton, SIGNAL(clicked()), this, SLOT(save()) );

! B%oe 2I$Q$@0#$   A-H&N  . $-Y-$IJ$#@Ed. a&B%D A%FA &B%D %1$ N-"%O0@EIJ #%?*G_J%C@E1%  B@0ABE%3 .%DM& 2%AB@0IJ%J@0AB3
-HNA@EIJ%PbY$3%.-9& C> 8 AB% ; 3B.-~. FIJ@0K%P&B%I %3B.@0 #$%P@0A3B@01%(@03B3%3@(>NB-M6N.& A.%PN-H%  @EA  #$  KD& C-@E1%
.%0XNB 3@E&%-e*
grid->addWidget( saveButton,

3, 0 );

_J%Y@E33J@0AF%O0.2@Y2 b & P&B%d2$3  A.@0$A$AG.%"-H@01%Y N.. A+*


idIndex = staffCursor.index( "id" );
staffCursor.select( idIndex );
staffCursor.first();

_J%  2%0@0.%c@G>9)]#$TWAB3%O u|%   @0AB3F.%AD%0O0%  N.%c@G-H%#%  "[QNB-$A(.%c$A3B%O?*Z_J%G&B%ADIJ 1%c. (&B%`B- 2%  23D$AF.%
%-HN#$
-H% *
sqlForm = new QSqlForm( this );
sqlForm->setRecord( staffCursor.primeUpdate() );

_J%  2%@E&%Y@cA%0b >9)]#e 2I u.%  6@0A3J-H%$. -/%  3P NBMWM&%4& ^&B%  N-  -XN 3@0.%Y NM&MW%*
sqlForm->insert( forenameEdit, "forename" );
sqlForm->insert( surnameEdit, "surname" );
sqlForm->insert( salaryEdit, "salary" );
sqlForm->readFields();

SU bbY%#$$AKJ.%G NBMWM&%2 -?%#$3-U& J.%^> 8 AB% ; 3B  A.2 #$-,*y.T&AC.%^ 2%10 NB-L%OE@0IJ #$%GbY%^#$AK%3&B%  NB2-H 2 -<?%#$3-e* 
! B%Y%3$  AB& #-/@E2%Y  NB#@E&%03P Y.%Y2%0@03 $%#$3-[  @0#$#@0- %MW %B*
FormDialog::~FormDialog()
{
}

T&Aa&B%^3B%-H&N  . Qb"%P3 AB XB@01%P& CbY 22 ^@0 NBX&B%^bY$3%&- Q>)]#e I-$A  %(&B% ^@E2%  B#$3%A M+.%PMW I@0AB3
bY$##? %"3%#$%.%3J d>@0.%"2$.IJ%?*
void FormDialog::save()
{
sqlForm->writeFields();
staffCursor.update();
staffCursor.select( idIndex );
staffCursor.first();
}



=>@?BADCFEGHJI

$A@E##$ abY%C@E33 .%C-@E1%MWNA  . AB@0#$. MW "bY%A .%N-H%Y 2%0--H%-c.%-@E1%C NB&. A+*_J%bY2$&% @  Ka&B%C3B@0.@MW2 I
.%^bY3BE%.-~. D&B%G>9)# 5 %  23 NM&MW%Lb"$.C.%^b".% $%#$3-[  @E##* ! B%ACbY%PN 3B@0.%G.%^3@0.@0 @E-%^bY.C.%^N 3B@0.%3
10%2-H AF M?.%Y%  3PbY$&J.%  NB2-H 2 -/N 3B@0.%M[M&NA  . A4* ' &B-/  AB&B%  N- X$-AB ^#$ A%/  -H$&$ A%3(@E@1@E#$3
%  3(- PbY%"%$--HN%c.%"-%0#%   [  @E##BN-HABG NX>)]#T&A3%0Oc@0A3JIJ 10%". P&B%#?2-H62%  234*
>)L@E&4@ 62 bY-%0L@EA3a> Q@0."@ !/$%b@0%^bY$3%.-9bY   2 103B%^@J2%@EX3%@E# M4&B%G@E 1%^M&NA  . AB@0#$. }*U>Q@0.@ 6 b"-H%
2 1$3%-@D3@E&@JM& 2I bYB   @0#$# bY-d%3$&$AC MX@0AB3aA@010@0. A &B2 Na2%  23B-9$Aa@  NB2-H |*9> L@E&1@ !/%b 2 1$3%0-9@
%@03F A#$ cMW 2IMW X3B@0.@AF@  N-  X3@0.@0 @E-%Y%  3+* )%%Y&B%  #@E--Q3  NIJ%AB&@E&$ AJ X.%
U]d.k /IJ@0ANB@0#BMW 
IJ %YABMW 2IJ@E&$ A( AJN-HAB^.%0-%"bY3BE%.-e*
8 $AKG. P-]# [ 1%210%bL[M& 2I  [IJ@EA4*  


vBu|4w  }|4w m

} ~zF|4

>)]#e I NB-%-^>9)]#2 %02. \F@E . @0AB3#$%a&B%&@0A-HMW%0" M~3B@0.@ %.bY%%A bY3BE%0&-@EA3 3B@0.@0 @E-%9?%#$3-e*  N-H& I
bY$3%.-  @0A@0#$- F %N-H%3F$A@GMW I $A-H&@E##$ABD@G 2 %& cIJ@E D.@0  AB&@EAB-UABMW 2IJ@E&$ AD@E N+&B% 2 %2.%0- M
.%  N-H& I bY3BE%
b"B  J-B N#$3J %YN-H%3J& P.2@0AB-M&%4&B%d3B@0.@?*
! B-X%0O0@0IJ #%d-X @E-%3P AP&B%MW I  %OE@0IJ #$%$A(&B% %1$ N-4-%  . AP- ^bY%bY#$# A#$  1%+.%3BM&MW%%A  %-+%%B* ! %
M&N#$#-H N  %Y-LAJ-H]# [ 10%21$%bL[  NB-. I  [IJ@EA4* J@EA3D-H]# [ 1%021$%bL[  NB-. I  [IJ@0$A+*  
class CustomEdit : public QLineEdit
{
Q_OBJECT
Q_PROPERTY( QString upperLine READ upperLine WRITE setUpperLine )
public:
CustomEdit( QWidget *parent=0, const char *name=0 );
QString upperLine() const;
void setUpperLine( const QString &line );
public slots:
void changed( const QString &line );
private:
QString upperLineText;
};

_J%0 1%  2%0@0.%3F@(-HIJ #$%G-HN  #@E-- M


> 8 AB% ; 3$+@EA3@03B3%3@P 2 %02. =BNB  % 8 $A% ! %O0.=ZbY  b"$#$#6 #$3C@EANB  %  @E-%
10%2-H AJ M6.%".%O0*]_J%Y@0#$-  %@0.%3(@-H# .=  @0ABE%03+*
QSqlPropertyMap *propMap;

_J%YbY$##? %dNB-$AP@c  %2. IJ@E (- PbY%"@E33J@c  $A.%4. ^@c  %& dIJ@0 (& P N@e I$L$@0#$ E -/ 1@E&%"3@E&@Z*
CustomEdit::CustomEdit( QWidget *parent, const char *name ) :
QLineEdit( parent, name )
{
connect( this, SIGNAL(textChanged(const QString &)),
this, SLOT(changed(const QString &)) );
}

T&Aa&B%^ N-H& I ; 3$  AB-.2N  . Ub"%PN-H%(&B%G> 8 $A% ; 3$  AB-.2N  . Q@EA3a@E33@  AAB%  .$ Aa %&bY%%0AC.%P&%0O0.
@EA%3
-H$EAB@0#?@0A3J NBX bYA  @EA%3J-H# *
void CustomEdit::changed( const QString &line )
{
setUpperLine( line );
}



=>@?BADCFEGHJI

! B%  @EA%3[L-#$   @0#$#-Q N4-H%&RQ  %0 8 AB%M[/MWNBA  &$ A+*


void CustomEdit::setUpperLine( const QString &line )
{
upperLineText = line.upper();
setText( upperLineText );
}

! B%9-H%&RQ  %0 8 AB%M[4MWNA  . A^ #$@  %0-+@EA^NB  %  @E-%   MB&B%9.%O0BAP&B%9N  % 8 $A% ! %O0B NMWM&%
@EA3P&B%AG-H%.- .%&%OE
M6.%"bY3BE%0& P.$-/&%0O0*
7 NQ
N-H. I ; 3B  #$@0-H-9%AB-NB2%-U.@E .%^&%OE %0A.%2%3C-~@E#bY@E -~N  %  @0-H%@0AB3C  1$3%-U@P 2 %02. &B@0  @EA %GN-H%3
bY$&J@c 2 %& "IJ@0 (. G#$ABKG N-H& I ; 3$$A-H&@EA  %0-3$2%  .# Y. G3@E&@E @0-HY% B%#$3-e*
CustomEdit

*forenameEdit

= new CustomEdit( this );

CustomEdit

*surnameEdit

= new CustomEdit( this );

_J%(NB-%(.%P-@EIJ%e I$L$@0#$ J@0-9bY%P3$3a %MW %=6 NX.$-~.IJ%(2%0 #@  %P&bY C M+.%P> 8 AB% ; 3$Xb"$3%.-9bY. NU bYA
 N-H& I ; 3$
bY$3%.-,*
8 @0 0AB^ NB6&B%"2$3J@0AB3J-%0&.ABGNB P.%  NB2-H X-L&B%d-H@0IJ%Y@E-/ %MW %B*
propMap = new QSqlPropertyMap;
propMap->insert( forenameEdit->className(), "upperLine" );

_J%  2%0@0.%"@^A%b  %2. YIJ@0 J AC&B%"B%@0 J@EA3C2%-H.%/ N


N-H. I ; 3B  #$@0-H-Q@EA3D$.-LNB  % 8 $A%c  %& YbY.D.%
2 %& "IJ@0 +*
sqlForm = new QSqlForm( this );
sqlForm->setRecord( staffCursor->primeUpdate() );
sqlForm->installPropertyMap( propMap );

! B%)?A@E#  @EA%d$-X. AB-.@0#$#.%d 2 %02. 9IJ@0 PAB& G&B%>9)]#e 2I A  %d&B%>9)]#e 2IB@0-4 %%A  %@0.%34* ! $-4 @0-H-%0%-H  A-H $#$. MW "&B%F  %2. DIJ@E  -cIJ%IJ  C. >9)# e 2Ib"B  .-%0#MU$- bYA%3 C./% e 2I$Q@E# =-H >QbY$##
3B%#$%&%Y.%I@0.%Y.$IJ%B*
! B%d %0@010 NBX M?.$-/%OE@0IJ #$%"-/$3%0A.  @0#. G.%" %1$ N-/ AB%d%O  % 6&B@06.%"MW 2%0A@0IJ%"@0AB3J-NB2AB@0IJY% B%0#3B-/bY#$# %
NB  %  @E-%Y-HA  %Y&B% YN-H%Y NX
NB-. I ; 3$bY3BE%*
+6}? ?Zp?y p]9.BUE Bp]
_J%^IJN-H %$IJ #$IJ%AB >9)# ; 3$& Lk@  . 2 c. JN-H%  NB-. I%3B. bY$3%&-Q$AC.@0 #$%-e*T&AC.%cM& ##$ bYABP%0O0@0IJ #%bY%bY$##
 2%@E&%(@  N-H& I%3B. U @0-H%3a Aa>9
IJ F6 OJ@EA3a@D>)]# ; 3$& Lk@  . 2 P-NB  #$@0-H-. C-H b b@D> ! @E #%  @EA N-H%(@
 N-H& I %3B. |*
class StatusPicker : public QComboBox
{
Q_OBJECT
Q_PROPERTY( int statusid READ statusId WRITE setStatusId )
public:
StatusPicker( QWidget *parent=0, const char *name=0 );
int statusId() const;
void setStatusId( int id );
private:
QMap index2id;
};

=>@?BADCFEGHJI



 Ek4e f+"P ZP][gNf+&]4e[f+P]


_J%  %@0.%@(  %2. =Z-.@0.N-H$3=6@0AB33%?A%^ N 5+; ' @EA3_ 5 T !6; IJ%. 3B-LM& L$* ! %G-.@0.N-H3B -~$A&B%G-H&@E&NB-~&@E #%
bY$## 2 @E # P %(3$MWM&%2%AB4MW2 I &B%  IJ O0 -Q$A3B%O0%0-9- bY%  2%@E&%P@J>9\C@0 & CIJ@0  IJ OPAB3%OE%-9. x[MW I
.%Y-H&@E&NB-$3-&B@0bY%YbY#$##$-H
$AJ.%  IJ O?*
d

class CustomSqlEditorFactory : public QSqlEditorFactory


{
Q_OBJECT
public:
QWidget *createEditor( QWidget *parent, const QSqlField *field );
};

_J%P@0#$-H FA%0%3& D-HN  #@E-->9)]# ; 3$. x@  . 2 ^3%  #@E2$AJ@  %@0.% ; 3$& [UMWNA  . A-HA  %P&B@04$-9&B%G AB# PMWNBA  .$ AbY%
AB%%3J. ^%$IJ #%0IJ%A*
StatusPicker::StatusPicker( QWidget *parent, const char *name )
: QComboBox( parent, name )
{
QSqlCursor cur( "status" );
cur.select( cur.index( "name" ) );
int i = 0;
while ( cur.next() ) {
insertItem( cur.value( "name" ).toString(), i );
index2id[i] = cur.value( "id" ).toInt();
i++;
}

 Ek4e f+"P ZP][gNf+&]4e[f+P]Zjlj


T&A^.%d).@0.N-&  KE%02 -  A-H&N  . 
bY%  2%@E&%@  N2-H + 1%
.%-.@0.N-4.@0 #$%$A3%0O0%3^ .%9AB@0IJ%)?%#$3+*]_J%d&B%AG$.%2@E&%
10%L%0@  2%  23FA.%-H&@E&NB-~&@E #%GAB-%&$AJ%0@  A@EIJ%G$A. D.%  IJ O?* _J%G-H& %G.%-H.@0.N-H3MW Q%@  FAB@0IJ%
$AD.%"AB3%O  $3D>9\F@E ^NB-$A^&B%Y-@EIJ%">\F@0 P$A3%0Oc@0-.%  IJ OY$A3B%O?*
d

int StatusPicker::statusId() const


{
return index2id[ currentItem() ];
}

! B%(-.@0.N-H3 2 %02. 54; ' M&NA  &$ Aa-HIJ #$ J$A1 #$1%-d# KABFNB .%  IJ O0 -U$A3B%OJMW ~.%  NB2%A.# (-H%#$%  .%3
$.%I$AD.%"AB3%O  $3J>9\F@E PbYB  JIJ@0 -  IJ OYAB3%OE%-X& P-H&@E&NB-$3-e*
void StatusPicker::setStatusId( int statusid )
{
QMap::Iterator it;
for ( it = index2id.begin(); it != index2id.end(); ++it ) {
if ( it.data() == statusid ) {
setCurrentItem( it.key() );
break;
}
}
}

! B%9-H&@E&NB-T&3[XMWNBA  &$ A^$IJ #$%IJ%AB&-+&B%9-H&@E&NB-$3^ 2 %& 0 -


_ 5 T !6; MWNA  . A4*]_J%  2%@E&%9@EA^$.%2@E&  10%
@">9\F@E @0AB3
$.%2@E&% 10%/.%$A3B%O  $3F>\F@0 +*6_J%  IJ @0%%@  F$A3B%O  $3F%0#%IJ%0A. -Q3@0.@m.-H.@0.N-H3MQ. J.%$3F @E2@EIJ%&%02 -L1@0#$N%?*



=>@?BADCFEGHJI

T&M
bY%GB@01%G@GIJ@0  bY%-H% .%  IJ O0 -  N2%A .%I. J.%c$A3%0O  $3C%0#%IJ%0A. -QKE% m.&B%  IJ O$A3B%O =?@0AB3
#$%@E1%c&B%d#$ *
_`%A^&B%UN-H%
%3B.-
.%~-H.@0.N-?%#$3G$A.%~>Q@0.@ ! @0 #$%Q.%0 ~b"$#$# %~ 2%-H%A.%3cbY$&@  IJ O~ M 1@E#$3G-H.@0.N-+A@0IJ%0.@0K%A(MW I.%-H.@0.N-X.@0 #$%B*<9 bY%1%+.%"-.@0.N-43$-H #@E %3J$-X-.$## .%d2@0b -.@0.N-H34* ! c3$- #$@0 Y.%d-.@0.N-XAB@0IJ%"b"B%A
.Y% ?%#$3J-HA  %$A%3B.%3J%]N$2%-XNB-. G-HN  #$@0-H-Q> L@E&@ ! @E #%d@0A3F2%$IJ #$%IJ%A6.%" @EABi $%#$3[QMWNA  . A4*
class CustomTable : public QDataTable
{
Q_OBJECT
public:
CustomTable(
QSqlCursor *cursor, bool autoPopulate = FALSE,
QWidget * parent = 0, const char * name = 0 ) :
QDataTable( cursor, autoPopulate, parent, name ) {}
void paintField(
QPainter * p, const QSqlField* field, const QRect & cr, bool );
};

 Ek4e f+"P ZP][gNf+&]4e[f+P]


_J%-HIJ #  @E##L&B%C $A@0#L>Q@0.@ ! @E #%  AB-.2N  . "bY$&B N  @0ABE$A`@0AB &BABZ*a_J%@E#-H 3%  #@E2%&B%C @EABi $%#$3
M&NA  . A4*
d

void CustomTable::paintField( QPainter * p, const QSqlField* field,


const QRect & cr, bool b)
{
if ( !field )
return;
if ( field->name() == "statusid" ) {
QSqlQuery query( "SELECT name FROM status WHERE id=" +
field->value().toString() );
QString text;
if ( query.next() ) {
text = query.value( 0 ).toString();
}
p->drawText( 2,2, cr.width()-4, cr.height()-4, fieldAlignment( field ), text );
}
else {
QDataTable::paintField( p, field, cr, b) ;
}

 Ek4e f+"P ZP][gNf+&]4e[f+P]Zjlj


! B% @EABi $%#$3  3%d- @0-H%3^ A(>Q@0.@ ! @0 #$% -+-H N  %  3%B*_J%"A%0%3^. GIJ@EKE%d&B2%%  B@0A%-e* $2-H&#$ d@E33(@0A($M  #$@0N-H%
@0AB3G#$ KNB &B%~&%0O0.N@0#E1@0#$N%MW .%~$3bY.G@-.2@EM& 2bY@03>9)]#$>9N% }*)%  A3#$
@0#$#.%"-NB %  #$@0-H==-/& ^"statusid"
@EA3#$%Y &B% B%#$3-e* ! B%d#$@0-H  @0ABE%Y$-/$AJ N4IJ@0$AJMWNBA  .$ AJb"B%2%dbY%  @EA%"-H.@0MWM ! @E #%dMW2 I
field->name()
%0ABG@c> Q@0.@ ! @0 #$%d. G %$A^@c
NB-. I ! @E #%B*
'

_ . ] XNX+:/W
#include
#include
#include
#include

(') . \

F5X+(

<qapplication.h>
<qsqldatabase.h>
<qsqlcursor.h>
<qdatatable.h>



=>@?BADCFEGHJI

#include "../login.h"
bool createConnections();
int main( int argc, char *argv[] )
{
QApplication app( argc, argv );
if ( createConnections() ) {
QSqlCursor invoiceItemCursor( "invoiceitem" );
QDataTable *invoiceItemTable = new QDataTable( &invoiceItemCursor );
app.setMainWidget( invoiceItemTable );
invoiceItemTable->addColumn( "pricesid", "PriceID" );
invoiceItemTable->addColumn( "quantity", "Quantity" );
invoiceItemTable->addColumn( "paiddate", "Paid" );
invoiceItemTable->refresh();
invoiceItemTable->show();
return app.exec();
}
return 1;
}

 Ek4e f+"P ZP][gNfkELe$khLf+P]$Zj4j


! B-%O0@EIJ #%P$-91% ^-HIJ$#$@0~. F.%P&@E #%  %OE@0IJ #$%^ 2%-H%A.%3%@0#$%*L_J%  2%@E&%^@  NB2-H =@E33.%TB%#$3-~@EA3a.%$
3B-H #$@0 c#$@0 %#$-. G@G>L@E&@ ! @E #%=  @0#$#B%MW%-@[X& P#$ @03J.%Y3@E&@c@EA3  @E##B-B bo[. G-H b .%YbY$3% *
RQAM& 2.NAB@0.%# c.$-Q%O0@EIJ #%G-QNAB-@E&$-M&@  &  }*6TW+$-L.%3$ N-Q. P-H%+&B%c&@E #%GA@0IJ%c@EA3@0AB  NB-. I  B@02@  .%2$-H&  -LMW 
.% B%0#3B-L%10%2 ^&$IJ%bY%GAB%%3F@  NB2-H L 10%.$-U&@E #%B*+'+A3$+bY NB#3 %MW@EL %0&.%/$M bY%3B-H #$@0 %03.%GA@0IJ%^ M
.%
2 3N  +2@E&B%/.@0AC.-U 2  %0-$3+*
)$A  %Gb"%GKEAB b &B%c 2  % M &B%c 2 3BN   @EA3F.%GNB@0AB&$& Gb"%  NB#3C@0#$- D-H b.%
2 3N    - @0AB3D&B%  -H M6%@  D$A1   %$.%I *  $A@E##$ $bY N#$3D %cN-H%M&N# . X%01%AJ%-H-%0A.@E#MW X 2$IJ@02 cK% &- QMbY%
 N#$3D3%0MW@0NB#
- IJ%Y MZ&B%d10@0#$N%-Lb"B%AJ.%"N-H%X@03B3-@cAB%b %  3+*
d

class InvoiceItemCursor : public QSqlCursor


{
public:
InvoiceItemCursor();
};

 Ek4e f+"P ZP][gNfkELe$kf+P]$


_J%YB@01%  %@0.%3(@c-H% @0@0.%Y%@E3%@?#%Y@0AB3J-NB  #$@0-H-%03D>9)]#$
N- *
d

InvoiceItemCursor::InvoiceItemCursor() :
QSqlCursor( "invoiceitem" )
{
// NOOP
}

 Ek4e f+"P ZP][gNfkELe$kf+P]$Zj4j


T&AF NB  #$@0-H-H -  AB-.2N  . /bY%  @E##?&B%>9)]#$
NB2-H   AB-.2N  . /bY.F.%cAB@0IJ% M
&B%&@E #%?*6_J%c3 AB +@E1%c@0AB G .%
 @E2@  &%02$-.  -/. ^@E33J@0
&B-/-H.@0%B*
d

K

=>@?BADCFEGHJI

InvoiceItemCursor invoiceItemCursor;

_`%AB%1%b"%c%]N$2%@  N- L 1%X.%c$A1   %0.%I.@0 #$%cb"%  @0A  2%0@0.%c@0AFT&A1   %0TW.%IJ


NB2-H /AB-.%@E3F M@%AB%2 
>)]# N2-H *
_J%Y-H&$#$#BAB%%3(& P-H b .%"  3N  6A@EIJ%"@0.%4.@EAJ&B%d   %-H34*
protected:
QVariant calculateField( const QString & name );

 Ek4e f+"P ZP][gNfkELe$kf+P]$


! B%  @0ABE%dAP.%9B%@03B%?#%d-XIJ$A$IJ@0#J?bY%9-HIJ #$ "@033P.%9-HA@E&NB2%" M.%  @0#  NB#@E&% $%#$3[/M&NA  . AP-$A  %bY%bY$##
%Y%IJ #%IJ%0A.AB*
d

InvoiceItemCursor::InvoiceItemCursor() :
QSqlCursor( "invoiceitem" )
{
QSqlFieldInfo productName( "productname", QVariant::String );
append( productName );
setCalculated( productName.name(), TRUE );
}
QVariant InvoiceItemCursor::calculateField( const QString & name )
{
if ( name == "productname" ) {
QSqlQuery query( "SELECT name FROM prices WHERE id=" +
field( "pricesid" )->value().toString() + ";" );
if ( query.next() )
return query.value( 0 );
}
return QVariant( QString::null );
}

 Ek4e f+"P ZP][gNfkELe$kf+P]$Zj4j


_J%B@01%  B@0A%3.%TWA10   %TW.%IJ
NB2-H   A-H&N  & *C_J%CAB b  %@0.%C@AB%b>9)]# %0#3  @0#$#%3 2 3N  .A@EIJ%F@0AB3
@E  %AB3`.$-c. &B%FT&A1   %T&&%0IJ
N-  -Y-H%U M?%#$3-e*J_J%  @0#$#X-H%& @0#  NB#@E&%3@[G A  3N  &AB@0IJ%D. $3%AB&$MW $Q@E-c@
 @0#  NB#@E&%/3 B%0#34* ! Y% B- @0ENBIJ%A & (-H%& @0#  NB#@E&%@3 [U-Q&B%YB%#$3DAB@0IJ%=?&B%Y-%  A3D@^ #bY  D$M !65 R ; -$AB%.@E  @E#  N#$@0.%  $%#@3 [LIJNB-
%  @0#$#%03J& PE%0&B#% ?%#$3 -/1@0#$N%?*
d

invoiceItemTable->addColumn( "productname", "Product" );

_J%Y@E33J NXAB%bc?%#$3-/bY$&J@E33B
#$NIJA[QbY  J@E33-L&B%I . G.%YM& 2I @EA3J-H%.-/&B%$X3$- #$@0 YAB@0IJ%-e*
_J%"@E1%"& ^3% ?A%d N4 bYA  @0#  NB#@E&%  $%#$3 [LMWNA  . A4*]TWA( NB+%0O0@0IJ #%"3@E&@E @0-H%.%" 2  %-H$3P$A(&B%d$A10   %.%I&@E #%
$-"@FMW %$EA K% J$A. a&B%( 2  %-d&@E #%?*Y_J$% BAB3 .%JA@EIJ%D MX.%J  3N   J%OE%  NB&$AC@F]N%02 J A .%(   %-"&@E #%
NB-$AP.%" 2  %-H$3+* ! B-2%.NA-X.%Y 2 3BN  & -XA@0IJ%?*
_J%Y@E2%YA b@0 #$%". P%O0.%A3(.%"%O0@EIJ #$%". G$A  #NB3%  @0#  N#$@0.%o3 ?%#$3-/bYB  J %2M& 2I%@0#  @E#  N#$@0. AB-,*
! B%dB%@03B%@ B#$%= -H]# [ 1%021$%bL[-NB  #$@0-HL- Ke[IJ@0$A+* =?2%IJ@EAB-XNA  @EA%3DMW I.%" 2%10 NB-X%O0@EIJ #%0= N6.%  AB-.2N 
. X@0AB3  @E#  N#$@0.%  %0#@3 [LM&NA  &$ AJ2%0NB%Y- IJ%"-$IJ #$%c%O0 @0A-H$ A+*]_J% ##B# KG@0%@  ($AD&NB2A4*
InvoiceItemCursor::InvoiceItemCursor() :
QSqlCursor( "invoiceitem" )
{



=>@?BADCFEGHJI

QSqlFieldInfo productName( "productname", QVariant::String );


append( productName );
setCalculated( productName.name(), TRUE );
QSqlFieldInfo productPrice( "price", QVariant::Double );
append( productPrice );
setCalculated( productPrice.name(), TRUE );
QSqlFieldInfo productCost( "cost", QVariant::Double );
append( productCost );
setCalculated( productCost.name(), TRUE );
}

 Ek4e f+"P ZP][gNfkELe$kf+P]$Zj4j


_J%  2%0@0.%D&bY %OE&@%?%#3B-=4   %D@0AB3  -.=X@0AB3 @0  %A3`&B%I& a.%  N-  -"-%Q M?%#$3-e*`6 . @E2%D%E$-H&%%3 @E @0#  NB#@E&%3%B%#$3-b"$.  @0#$#$-. ^-H%.
@0#  NB#@E&%03[0*
d

QVariant InvoiceItemCursor::calculateField( const QString & name )


{
if ( name == "productname" ) {
QSqlQuery query( "SELECT name FROM prices WHERE id=" +
field( "pricesid" )->value().toString() + ";" );
if ( query.next() )
return query.value( 0 );
}
else if ( name == "price" ) {
QSqlQuery query( "SELECT price FROM prices WHERE id=" +
field( "pricesid" )->value().toString() + ";" );
if ( query.next() )
return query.value( 0 );
}
else if ( name == "cost" ) {
QSqlQuery query( "SELECT price FROM prices WHERE id=" +
field( "pricesid" )->value().toString() + ";" );
if ( query.next() )
return QVariant( query.value( 0 ).toDouble() *
value( "quantity").toDouble() );
}
return QVariant( QString::null );
}

 Ek4e f+"P ZP][gNfkELe$kf+P]$Zj4j


! B%  @0#  N#$@0.% $%#$3[cMWNBA  &$ A`B@0-Y%OE @0AB3%3`-#$.#$  %  @0NB-%FA bbY%FIJNB-  @E#  N#$@0.%C.%F1@0#$N% M.%%D3$MWM&%2%0A
?%#$3-e* ! %G 2 3BN  .A@EIJ%@0AB3C 2  %B?%#$3-U@0%  3N  %3F ^# K$AJN C&B%  2%-H  AB3$AP1@0#$N%-~$A&B%   %-U&@E #%
K% %03P d 2  %0-$3+* ! B%  - ?%#3P$-  @E#  N#$@0.%3(-$IJ #$ d "IJN#$&$ #$ $A.%d 2  %d d.%9]NB@0A.$& }*SQ .%.@EZb"%  @E-6.%
 -
& P@c@> !?@E2$@0AB-$A  %Y&B@0$-/.%Y& 0 %d.@E  @E#  N#$@0.%  $%#@3 [LIJNB-
2%.NA+*
_J%0 1%bY.&%0AD&B2%%c-H% @E2@E&%c]N%02$%-@0.%/.@EAF AB%c& JIJ@EKE%c.%c%OE@0IJ #$%IJ %c#$KE%G@G2%0@0#?@0  #$  @0.$ AFbY%%c+$IJ %Y#$KE%0# c.@E6%@    @0#  NB#@E&%0o3 B%0#3(bY N#$3D %"@# KN (@EE@EAB- @c3$MWMW%02%AB?.@0 #$%Y X1$%b9*
! B%Y#@E-M&%@0.N%d.@EbY%YA%%3(. ^@E33J$-/3%0MW@0NB#.$AG10@0#$N%-Lb"B%AJ.%"N-H%X@0.&%0IJ &-X. PAB-%@cA%0b 2%  234*
d

QSqlRecord *primeInsert();

Ek4e f+"P ZP][gNfkELe$kf+P]$

=>@?BADCFEGHJI

p

_J%Y3B%  #$@0%" NBX bYAJ 2$IJ%TWAB-%02"[/MWNBA  .$ AJ-$A  %cb"%YbY$##BA%%3(. ^%$IJ #%0IJ%A6.$-,*
! B%  A-H.2N  & 4@EA3J.%  @0#  NB#@E&%  %#$3 [QMWNBA  &$ AJ2%IJ@EAFNA  @EA%3+*
QSqlRecord *InvoiceItemCursor::primeInsert()
{
QSqlRecord *buffer = editBuffer();
QSqlQuery query( "SELECT NEXTVAL( invoiceitem_seq );" );
if ( query.next() )
buffer->setValue( "id", query.value( 0 ) );
buffer->setValue( "paiddate", QDate::currentDate() );
buffer->setValue( "quantity", 1 );
return buffer;
}

 Ek4e f+"P ZP][gNfkELe$kf+P]$Zj4j


_J%J%/@F  AB&%0Q. &B%P$A.%A@0# %3$/ NBMWMW%0Q.@E/.%  NB2-H ~N-H%-M& ~AB-%&-@0A3 N 3B@0.%-,* ! %P$3B%0#3a$-@DNBA$]N%
$A.%%.@E
bY%c%A%@0.%cN-HAB(&B%"$A10   %.%I$E-%*Z_J%c3B%MW@EN#$
.%c1@E#NB% M.%c @E3B3@E&%`?%#$3D& (. 3@E  -L3@0.%c@0AB3
3B%MW@EN#$L.%(]N@EA.. D.  Y*  $A@0#$#$ DbY%J2%.NA @D  $A.%9. C.%J NBMWM&%|* ! B%J2%-H/ M/.%  3%J$-dNBA  B@0ABE%3`MW I .%
2%1$ N-1%2-H$ A+*
d

/3o0o ] o.10 ]`_ .10#X

! B%^%0O0@0IJ #%(.@0 #$%-~N-H%3  @EAa %(2%  2%@E&%3bY.&B%(MW #$# bY$AD-H&@EA3B@023a)> 8 *  NIJ@0 (A%%03. IJ 3$MW P&B%^)> 8 &
IJ@E  J&B@0NB-%03J " 0 NX @E2.  N#$@0X3@E&@E @0-H%B*
create table people (id integer primary key, name char(40))
create table staff (id integer primary key, forename char(40),
surname char(40), salary float, statusid integer)
create table status (id integer primary key, name char(30))
create table creditors (id integer primary key, forename char(40),
surname char(40), city char(30))
create table prices (id integer primary key, name char(40), price float)
create table invoiceitem (id integer primary key,
pricesid integer, quantity integer,
paiddate date)

'-H%]N%A  %~bY@0- N-H%3$AG.%  @E#  N#$@0.% %0#3@[+%0O0@0IJ #%~@E 1%B*ESU &%~.@E-%0NB%A  %-+@02%UAB -HN   &%03cA@E##3@E&@E @0-H%-e*
create sequence invoiceitem_seq

EF6(DFLE:(
! B%Y)> 8 \C 3N#$%cN-H%-/3B2$1%X #$N$A-QAJ 3%X.  IJIJNA  @E&%cbY$&J3BM&MW%%A63B@0.@0 @E-%Y'TW-e*)A  %Y&B%Y)> 8 \C 3N#$%
'T+-U3B@0.@0 @0-H%$A3B% %AB3%AB&=Z@E##63B@0.@0 @0-H%-H %    3%$-  AB&@EAB%3CbY$&BA.%-H%310%2-e* )%1%@0#?31%02-Q@02%^-NB 
#$%3bY.C> @EA3 &B%3B2$1%2-  @0A %@03B3%34* ! %G32$1%L- NB  %  3B%G$-U-NB  #$%3@EA3  @0A %NB-%03@E-U@^IJ 3B%#ZMW 
bY.ABG  NBX bYAJ32$1%-,*
! G NB#$3J@c31%0 #$N$AD  NJA%0%3(&B%  #$$%A' T6.@E6-/-H$  %03PbY$&(%10%2 a6\C)[Q@0.@0 @E-%d\F@EA@0%IJ%AB) -H.%I$0*
\C -X$A-H.@0#$#@E&$ A 2 2@EIJ-Q@E#-H F@E##$ b  N. D$A-H&@E## 3%10%# IJ%A4#$ @02$%- =@EA3&B%-H%G@0%GbY@E4  NA%%34* ! %0-%
#$$ 2@0%0-@0%d%-H  A-H #$%YMW 4.%Y# bY#$%1%0#  IJIJNBA  @E&$ AJbY.J&BY% 6\C) *
! B%  N2%AB&#$ Y@01@E#$@0 #$%c310%2-X-H$  %3JbY$&J>6@02t% 
>9\C?)> 48  6\F 0)> 8 Q2$1%
% Q2$1%
> 7  T  7 @  #$%"
@0#$#?TWA.%MW@  #
> 7 <
  7  q 7 %AL@E&@E @0-H%Y
AAB%  .$1. <L10%
> )> 8 nd5 E -.E%)> 8 1 p * Oc@0A3Jt1 n* `O Q2$1%

 L10%
> ! Q)Nn6)  @0-H%Y' 3B@0 .$1%Y)%210%4@0A3J\C  2 -H MW6)> 8 )%1%@
SU .%Y&B@06A 
@0#$# M6.%" #NBE$A-L@0%"-H$  %03Jb"$.J&B%d>95  %% ; 3B. AJ3BN%Y. ^#$  %A  %YA  IJ @E&$ #$$&$%-bY$&J.a% < 8 *
aC1.:D}%W 43o0 D6SR0"5X %X+:/W(/mWGF50

! B%c>9  A?N2%c-    @EN. IJ@0.  @0#$# ^3%.%  .-.%c@E1@0$#$@0 #$%  #$$%A+#$ 2@E2$%-Q AF  NB/IJ@  $A%B* 5 NA  A?ENB2%B%#$
. P-%%YbY@E310%2-XIJ@E " %Y NB#$ * NJ-H N#$3J%@0AJ NB& N-HIJ$#$@0/. G.$-
Possible values for : [ mysql oci odbc psql tds ]
Auto-Detected on this system: [ mysql psql ]

SU .%d.@E  AMBN%  @0ABA 63%0&%  6&B%dAB% } %-H-@E2 "#$ 2@E2$%-/@0AB3JA  #$N3B%a?#$%-/$M?.%0 d@E2%"A $AJ&B%d-H.@0A3B@03P @0.-H= -
$
IJ@E Y %"AB%  %0--H@0 ". P- %  $MW Y&B%-H%d @E&B-/N-H$AG.% T @EA3 8 -bY$  %-e* T&M6  NX\C )> 8 A  #$N3%`?#$%-@E2%"AB-.@0#$#%03
$A [N-Hp[#$  @0# [IJ -H]#`. GA < eIJ -H]#e$A  #NB3% A _a$A3B b"-&=.%0A @0-H-P&B%aMW #$# bY$A @0@0IJ%.%.  AMBN%M
To[N-Hp[#$  @E# [IJ -H]# .  T&<  eIJ -H]# e$A  #NB3% M& +_a$A3B bYL- 0*
SU .%J&B@0L A _aAB3 bY-"&B%J @0@0IJ%.%~T/3B %-HA L@0#$# b -H @  %-$A ?#$%A@EIJ%-=4-H N-H%D&B%  *  A@0IJ%FAB-.%@03B=4|* %B*"N-H%
<
  e 2 2t@  eIJ 0-]# $A-H&%0@03J M   e 2 2@E
I B#$%&- eIJ -]# *
RQ-H% &B% -qt-sql-<driver> @0@0IJ%.%. NB#$3.% 3B@0.@0 @0-H% 310%-.@0.  @0#$#$ AB&  NB>9#$ 2@E2 
& NB#$3.%310%@0-P@ #NBE$A+* 8 K`@0.%  @E &%02- %#$ b MW @E33$. AB@0#QABMW 2IJ@E&$ A
@E-plugin-sql-<driver>
N%]N$2%3J#$$ 2@0%0-,*
n



=>@?BADCFEGHJIY4I"u

aC1.:D}%W 43o0o.:/W:%X ] F

] ..S

 Ty @ T+

U]6] Zp6&? pB6


\C )> 8/ * OJ3 %-HA X-NB   2X)> 8 .2@EA-H@  .$ A-9 (3%0MW@0NB#* ! B%2%^@0%P-H IJ%( @  KE%AB3-9bYB  a MWMW%0Q.$-9M&NA  &$ A@E#$. }*
5 %  %AB1%-$ A- M?.%Y\C )> 8  #$%AB#$ 2@E2$%-#"  *  *  KU@0#$#$ b  ND. GNB-%Y.2@EA-H@  .$ A- AJ. -H%"IJ 3B%3(-H%210%2-e*
T&M  N B@01% @ 2%  %A  #$$%A#$ @0 @EA3  ABA%  . @.2@0AB-@  . AB%AB@0 #$%3 \F )> 8 -H%1%$=@  @E## . .%
>)]# Q2$1% k @EL- e%0@0.N2t% 6>9)]# L10%u k ! @0AB-@  . AB- LM&NA  . AJ%&NB2AB- !65 R ; @0AB3J)> 8 &@0A-H@  &$ A-  @0AJ %YNB-%34*
0 N  @0$A ?A3J$AM& 2IJ@E&$ AJ@0 NB6\F )> 8 AJ..N  [e[bYbYb~* IJ -H]#|*  I

? F?6ppJ6GZp5pB 6pB p66


0 NaA%%3.%P\F )> 8 %0@03%0<?#$%-9@0AB3@0-9bY%#$#
@E-9&B%^-H@E2%3#$ @0 #$ IJ -H]#  #$%A* - *Q% %AB3$AD A  NB 8 $ANBO
3B-H.2$ N. AJ  NFA%%3(. ^$A-H.@0#$#@c @  K@0%"bYB  J-LN-HN@0#$#$  @E##$%3 IJ 0-]#$3%10%# *
! %#$#6IJ@EKE%^bY%%&$ ?A3.%\C )> 8 %0@03%0 ?#%0-Q@EA3-B@0%3F#$ @0%-B.B%2%c$4-~@E--HNIJ%03C.@E+\C )> 8 $-UAB-.@0#$#%03
$AY[NB-[#  @0# L@EA3DNAJIJ@0KM% 

cd $QTDIR/plugins/src/sqldrivers/mysql
qmake -o Makefile "INCLUDEPATH+=/usr/local/include" "LIBS+=-L/usr/local/lib -lmysqlclient" mysql.pro
make

? F?6ppJ6GZp5pB p6Z?
0 N A%%3 . E%d&B%C\C )> 8 AB-.@0#$#$@0. A?#$%-,* 5 NBA ) ;B! R<* ; V ; @EA3   -H% 
N-H. I TWA-H.@0#$# * T&A-H&@E##L&B% 8  -
T&A  #NB3`%  $#%- \C 3N#$%B* 6NB#$3D.%Y #$NAF@0-/M& ##$ bY-a.%02%$$-@E--HNIJ%3J.@E\F 0)> 8 $-$A-H&@E##$%3D$AJ<e\FZ)> 8  

cd %QTDIR%\plugins\src\sqldrivers\mysql
qmake -o Makefile "INCLUDEPATH+=C:\MYSQL\INCLUDE" "LIBS+=C:\MYSQL\LIB\OPT\LIBMYSQL.LIB" mysql.pro
nmake

T&M6  NJ@0%YA NB-$A^@c\F  2 -H MW  IJ $#%$=% #$@  % BA IJ@0K% bY$& JI @0K% $AJ&B%"-H.@0.%IJ%A6@E 1%B*
9 vY" @{zvYJB[xy|lz t @{z

? F?6ppJ6GZp5pB 6pB p66


'+#$#M?#%0-2%0NB%3J. ^ NB#$3F3B2$1%X-H N#$3D-H$ JbY.J&B%Y-.@0AB3@03 7 @  #$%c$A-H&@E##*te  8 $ANBO0=?IJ@E c %c  -H-$ #%Y.  
B%@03B%2-MW2 I@0AB &B%4 #@E&M& 2IJ -XAB-.@0#$#|*
7 2@  #%Y#$ @0a ?#$%-/2%0NB%3J. G N$#$3D31%0u 
#$  #AB&-H+* -
#$  #AB&-H+* -
*  * 
#$ bY   * -
7 2@  #%YB%@03B%@ B#$%-/%]N$2%3J. ^ NB#$3J310%u 
A r,%2 * 


=>@?BADCFEGHJIY4I"u



A ,* 
 * 
   *
   3B * 
 $@0 +* 
 $@0 |* 
 $3%0M* 
 $3%0I * 
 $3M&A+* 
 $%OE& * 
 $K * 
 $K |* 
3  |* 
2@E& 0 %-e* 
2* 
2$3+* 
2#* 
2
* 
2* 
! %#$#B]IJ@0K%YbY%%". BAB3J&B% 7 2@  #$%Y%@E3%?#%0-@0AB3F-H@E2%3J#$ @0%-Y.%%Y -L@0-H-NBIJ%3F.@E 7 2@  #$%c-LAB-.@0#$#$%3F$A
[NB-[#  @0# U@0A3JNAJIJ@EKEM% 
r

cd $QTDIR/plugins/src/sqldrivers/oci
qmake -o Makefile "INCLUDEPATH+=/usr/local/include" "LIBS+=-L/usr/local/lib -lclntsh -lwtc8" oci.pro
make

? F?6ppJ6GZp5pB p6Z?
  -HABG.%" . A 2 2@0IJIJ%0 $AD&B% 7 2@  #%"
#$$%A TWA-H.@0#$#%XM&2 I&B% 7 @  #%"
#$%0A
T&A-H&@E##$@0.$ AD $--HNMi  %AB
. P N$#3D.%" #$NA4*
6NB#$3D.%Y #$NAF@0-M& ##$ bY#
- .%02%"$-/@E--HNIJ%3F&B@0 7 @  #$%Y
#$%0A
$-/$A-H&@E##$%3D$AD  e 2@  #$% 

cd %QTDIR%\plugins\src\sqldrivers\oci
qmake -o Makefile "INCLUDEPATH+=C:\oracle\oci\include" oci.pro
nmake

T&M6  NJ@0%YA NB-$A^@c\F  2 -H MW  IJ $#%$=% #$@  % BA IJ@0K% bY$& JI @0K% $AJ&B%"-H.@0.%IJ%A6@E 1%B*
9 v zFxM|4Ma@Fzvaw:xyxBz{|4}}|1

U]6] Zp6&? pB6


7 
  7 %A L@E&@E @0-H%C AAB%  .10. P-@a%AB%2@E#/AB&%02MW@  %C&B@09@E##$ bY-  N .  ABA%  ~& `IJN#$&$ #$%96\C)`NB-$A
@  IJIJ A$A.%MW@  %B* ! B% > 7    3B2$1%P@0#$# bY-D 0 N.  AA%  Y& @0A 7 <
 31%0^IJ@EA@0%(@0AB3@ } %-H-J$3B@0.@0-H N  %-e*LSQ .%G.@EX  N@0#$- A%0%3C. F$A-H.@0#$#@0AB3  A?ENB2% 7 <
31%02-UMW U.% 7   3B2$1%QIJ@0AB@0%U&B@0X$$A-H.@0#$#%3F AJ  NX-H -H&%I * ! %"> 7 <
  #NBE$AD.%A(@0#$#$ b"-L  NJ. ^NB-%Y.%-H%Y3@0.@c-H N  %-/$AJ  NX>6 2 u|%  *




=>@?BADCFEGHJIY4I"u

7 FA _a$A3 bY-U-H -.%IJ-U@0M&&%0  @EA 7 <


`32$1%IJ@0A@EE%0L-H NB#3C %AB-.@0#$#$%3C G3%M&@0N#$.=BM& RQA$OG-H -.%IJ-Q&B%2%c@E2%
-H IJ%"IJ #$%IJ%AB&@E&$ A-XbYB  PB@01%". %d$A-H.@0#$#%3$?2-H*SQ .%"&B@0Z%1%  #$%A
&B@0ZN-H%-X  NB+@E  #$  @0. A($-/2%0NB%3
. P@010%"@EA 7 <
a310%4IJ@0A@EE%0XAB-.@0#$#%03= .%02bY-H%"&B%"> 7    #$NACb"$#$#A 6bY KZ*
! B%9> 7 <
  #$NAJAB%%3B- @EA 7 <
  IJ $#$@0AZ3B2$1%
IJ@EA@EE%+1%-$ A  *  
2%@E&%0
. cb" KZ*) IJ% 7 <
C32$1% #@EI & ( %c1%-$ A  *   IJ $#@EA.=B NB
3 JAB 
M&MW%X@E##ZA%0%3%3FMWNA  . AB@0#$. }* ! B%Y> 7 <
  #NBE$AC.%02%M& 2%  B%  KbYB%&B%4&B%d3B@0.@Y- NB  %  @0A( %YN-H%3(@0MW.%4@  ABA%  &$ A(@E-/ %%A(%-H&@E #$-H%3J@EA3(2%M&N-H%-/. GbY 2Kc$MZ&B%  %  KMW@E#$-e*
T&MB 0 N^3B A ?#$K%d.$-4 %@E1$ N$=E  N  @0AP2%IJ 1%&B% #define ODBC_CHECK_DRIVER #$A%dMW I&B% ?#% qsql_odbc.cpp*
Q P&B-/@E  NBX b"AJ-HK5
?F?6ppJ6GZp5pB 6pB p66
T& - 2%  IJIJ%A3B%3 .@E  N N-H% NBA$O 7 <
U*  N  @0A?A3 .% A%bY%-H 1%-$ A @0A3 7 <
3B2$1%2- @E
B&.N  [e[bYbYb9* NBA$O0 3B  * 26*] NJA%0%3J&B%dNBA$O 7 <
aB%@03B%@B#$%-/@EA3J-H@E2%3J#$ @0%-e*
! %#$#XIJ@EKE%CbY%%F. BAB3`.%FNA$O 7  B%@03B%)?#$%-c@0AB3`-H@E2%3 #$ 2@E2$%-%.%02%D$U-c@E--HNIJ%3.@EQNBA$O 7 <
$$A-H.@0#$#%3FAY[NB-[#  @0# [NABO 7   Q@0AB3J2NAFIJ@0KM% 

cd $QTDIR/plugins/src/sqldrivers/odbc
qmake "INCLUDEPATH+=/usr/local/unixODBC/include" "LIBS+=-L/usr/local/unixODBC/lib -lodbc"
make

? F?6ppJ6GZp5pB p6Z?
! B% 7 <
`%@E3%L@0AB3C$A  #NB3%TB#$%-U-B N#$3C@E#%@03B G %^AB-.@0#$#%03$A&B%2$EB43$2%  & %-e*+ N.N-H4@E1%G. J N$#3.%
#NBE$AF@E-/MW #$# bY- 

cd %QTDIR%\plugins\src\sqldrivers\odbc
qmake -o Makefile odbc.pro
nmake

T&M6  NJ@0%YA NB-$A^@c\F  2 -H MW  IJ $#%$=% #$@  % BA IJ@0K% bY$& JI @0K% $AJ&B%"-H.@0.%IJ%A6@E 1%B*
T T wu|l~ z T z F}Jw:xcMx

U]6] Zp6&? pB
! B%C>))> 8 n31%0"-HN   2.-c &1%02-H A p @0AB3cnC M<E -.2%)> 8 *Z_J%2%  IJIJ%AB3  IJ $#$A`&B%C #$N$AbY.@
%  %0A1%02-H AJ MZ.a% 0 -H&2%)> 8 
#$$%A N' T.#$$ L %  @0NB-%Y$-LIJ 2%"-.@0 #$%Y@0AB3J-.#$#3B bYAbY@03  IJ @E&$ #%?*
T&MX  NabY@0ABX& #$AKF&B%^ #$N$A @0@0$A-H.%P#$ C-B  %3b"$.a1%2-H$ A p bY%(2%  IJIJ%AX@(%  %ABX1%-$ Aa#$K%TE -.
2%0)> 8 p *  *  = .%02bY-H%"@  AAB%  .$ AJ& P@c1%-$ A nd-%1%4IJ@0 cAB 6bY 2K6*
! B%c31%0/@0NB& 3B%.%  .-.%c-H%210%/1%-$ AD :M E -.2%)> 8 @EMW.%X@  AA%  . ADbY@E-L-HN k %-H-M&N#*6T&M
.%c-H%21%0X-Q& ( #$3
X.%"1%-$ AJ$AMW IJ@0. A  @0ABA  %"3%.%IJAB%3(@bY@02ABAB$-$--HN%34*
e 4IJ %d$AM& 2IJ@0.$ AJ@0 N
 0 -H&2%)> 8 1$-$
B&.N  [e[bYbYb9*  -H.E%-]#* Z*

? F?6ppJ6GZp5pB 6pB p66


kN-H~AB-.@0#$#$AB #$$ * -H @0A3.%  2%-H  A3BABB%@03B%aB#$%-Y-cNBAM& 2.NA@E&%0# CA ~-HNMZ  $%AB *(0 N`B@01%& E%U.%
bYB #% - NB  % 3$-H& NB&$ A@0A32NBA&B%  AMBN% -   c A  %.&B%2% $-JA A%%03 . N$#$3$c$Md  NB@01%`@0#$2%@E3
$A-H.@0#$#%3F@ AB@0 "3B-H.2$ N. MA 0*
! %#$#]IJ@0K%PbYB%2%P&m ?A3&B% E -.2%)> 8 %@E3%  ?#%0-9@0AB3a-B@02%03#$$ 2@0%0- .%%^$/$-9@0-H-HNIJ%3 .@EX  Na%OE&@  .%3
.Y% E -.E%)> 8 - NB  %  3B%YA"[NB-[-  [ -H]#@0AB3J&B%d-H@E2%3J#$$ 2@0 Y-LAB-.@0#$#%03DA"[NB-[#$F Q@0A3F2NAJIJ@EKEt% 

=>@?BADCFEGHJIY4I"u

cd $QTDIR/plugins/src/sqldrivers/psql
qmake -o Makefile "INCLUDEPATH+=/usr/src/psql/src/include /usr/src/psql/src/interfaces/libpq" "LIBS+=-L/us
make

#5:Y@Fz  |4}<zz z Mx }J{ wFw |m T

z z

? F?6ppJ6GZp5pB 6pB p66


RQA3B%XRQA$O0=.bY G#$ @02$%-/@E2%Y@010@0$#@E #%cbY  J-HN   26.% ! Q)^  &  #S
 2%% ! L)=6@CMW%%(IJ #$%IJ%AB&@E&$ A M&B% ! L)a  &  # L.&  [e[bYb"b9* MW%%.3-e* o0*YSU &%J.@E %% ! Q)C$-dAB L 0%
-H.@0 #$%=-H ^-H IJ%"MWNA  . AB@0#$. cIJ@0 YAB bY 2Kc@0-L%O0 %  .%3+*
6)  @0-H% 7 %AJ #$%A.=@E1@0$#$@0 #$%cMW2 I.&  [e[bYb"b9* - 0 @0-H%B*  I SU .%"M&  8 $ANBON-H%2- tQ%6&B% 7 %A(
#$$%A 5 \MW2 I
B&.N  [e[#$$ANOZ* -H  @E-%B*  I
5 %E@E23B#%-H- MXbYB  a#$ 2@E2 J  NaNB-%=+.%(-B@0%3a u .%   ?#% #$$ -  3B
* -H $-9AB%%3%03+*)%/.%P) 6' ) ; %AB1 AIJ%AB
10@02$@0 #$%c. G  $A. G.%Y3B%  . 2 "bY%%d  NJ$A-H.@0#$#%3F&B%  #$%AB#$ 2@E2 Y@0AB3J%O0%  N.%"IJ@EKEt% 

cd $QTDIR/plugins/src/sqldrivers/tds
qmake -o Makefile "INCLUDEPATH=$SYBASE/include" "LIBS=-L$SYBASE/lib -lsybdb"
make

? F?6ppJ6GZp5pB p6Z?
0 N  @0AG%0.% N-H%.%y< 8 $ 2@E2 -HN  #$%3P 9\F   - M&B  &B%~)  @E-% 7 %A^
#$%AB?.& N [e[b"bYb9* -  @E-%?*  I+0*] N
B@01%Y. ^$A  #NB3%cS ! _ < 8 ZT * 8 iT C. G NB#$3D.%" #NBE$A 

cd %QTDIR%\plugins\src\sqldrivers\tds
qmake -o Makefile "LIBS+=NTWDBLIB.LIB" tds.pro
nmake

6 (3B%MW@EN#$+.%^\F   - M&+#$$ 2@0 ^$-~N-H%3 A_aAB3 bY-H=M4  NbY@0ABX& FMW   %G.%^N-H%^ M+&B%^)  @0-H% 7 %A
#$%AB&=
 N
B@01%Y. ^3B%?A%">0RQ) ; 0)6'+) ; AoF> ! LT 5 oe-  e-H]#e3B2$1%2-&e.3-&e-H]#E&3B-,*   *


"6(

FP(:%W

_ .10aXN3

0 N-H NB#3@E#bY@0 0-9N-H%  #$%AB/#$ 2@E2$%-~.@04B@01%P %%A  IJ $#$%3b"$..%^-@EIJ%  IJ $#%0L@E-~  Na@0%GN-H$ADM& Q 0 N
2u .%  *TWM  N  @0ABA %B@-H N  %U3$-. NB&$ AG.  IJ $#%~.%  #$%AB#$ @02$%-  N-%#$M=E 0 N@E1%~& YIJ@EKE%U-HN2%&B@0.%
2%  IJ $#%3#$ @02 ^-  IJ @0.$ #%bY$&  NB  IJ #$%$=Z &B%2bY$-% 0 NbY$##6%4@P# 4 M NAB3%?A%3-H IJ #- %2 2-e*
) IJ%  IJ #$%2-~B@01%^& #$-U&  A10%2+#$ 2@E2$%-H=6%B* 6* 6 #@EA3-H$ -U&B%G. # COFF2OMF.EXE .  AB1% #$ @0%-~.@E
B@01%Y %%0AJE%AB%2@E&%03PbY$&J\C  2 -H MWl !/$-NB@0#  ;;P*
T&MB.%  IJ $#@E&$ AP MB@" #$NA(-HN } %%3B-+ NBZ  @EAAB ? %# @E3%3B=IJ@EKE%d-NB2%d&B@0?&B%MW #$#$ b"$AY%]N$2%IJ%AB&-4@E2%9IJ%" 
\F@EKE%Y-HN%" 0 NJ@02%YNB-$A^@c-B@02%03J>96#$ 2@E2 = 0 N  @0ABA NB-%c.%" #$NAB-LbY$&(@-H.@0.  NB#$3+*
Q . .
% > !
\F@EKE% -HN2% .@0.% %AB1 AIJ%AB1@0@E #% > ! QT 5  $A.- . .% 2$EB3$2%  &  }*
QT 5 [ #$NAB-[-H]#3B2$1%2-L3$2%  &  d@EA3JIJ@EKE%Y-HN2%Y.@E6&B%" #NBE$AD%OE-H&-AJ.@E3$2%  &  }*
% <6\F)J@0%Y@01@E#$@0 #$%G AD.%Y-H -H&%I * 7 ADRQA$O0=NAC&B%  IJIJ@0AB3
\F@EKE%c-HN%c&B@0 &B%  #$%AB #$ @0%-L M.`
@0AB3 @E--"&B%(A@0IJ%F MX&B%J #NBE$A @E-d @02@EIJ%.%= MW ~%OE@0IJ #$% ldd libqsqlmysql.so*P N bY$##+%@Cb"@E2ABldd
AB
$MX@0A J M4.%  #$$%A/#$$ 2@0%0-  NB#3BA  %PM& NAB3+* 7 Aa_a$A3B bY-=4  N  @0AaN-H%J.%P3% %0A3%0A  (bY@0#$K%~ MM !X$-HN@0#
).N3B
*




=>@?BADCFEGHJIY4I"u

T E6:l0((F ] ]`_]

XN0

D6SRT0d

>)]#Q@0.@0 @E-%D$-Y2%-H  AB-$ #%JM& #$ @03BAB@EA3`IJ@0A@EE$Aa3B@0.@0 @E-%J3B2$1% #NBE$A-e*^_ %0A @F3B@0.@0 @E-%D$-"@033B%3.-H%%
>)]# Q@0.@0 @E-M% Z @03B3 Q@0.@0 @0-HM% ["= &B%P@E   2$@0.%(32$1%~ #NBE$A $-#$ @03B%3 .N-H$AF>)]#Q2$1%L#NBE$A0*">)]#Q@0.@0 @E-%
%#$%-L AJ&B%d3B2$1%4 #$NAC& ^ 2 103B%"$A.%MW@  %-XMW 4>9)# Q2$1%X@0AB3J>9)]# 5 %-HN#$ *
>)]# Q2$1%U$-~@0Aa@0 -H.2@  4 @0-H%  #@E--9bYB  3B% ?A%-~.%^MWNA  . AB@0#$. ( M4@P)> 8 3@E&@E @0-H%^3B2$1%* ! B-~$A  #NB3%-9M&NA 
.$ A-U-N  C@0-Q>9)]# Q2$1% k %0A [U@0AB3F>9)]# L10%u k  #$ -M% [0*
>9)]# L10%/$-Q%-H  A-H #$%cMW   AAB%  .$A(& (@P3@E&@E @0-H%=
%0-.@0 #$-H .%(  %U%A10 AIJ%AB&= %  *9T&Aa@03B3$&$ A=+>9)]# L1%0  @0A  2%0@0.%^>9)#$>9NB%2 J u |%  .-9@0  2 @E&%^MW ~.%
@02.  N#$@03@0.@0 @E-%(' TH*>9)]# L@E&@E @0-H%JMW 2bY@E23-~IJ@EA J MX$&-dMWNBA  .$ A  @E##$-d3B%  .#$ P. >9)]# Q2$1%~bYB   2 103B%.%  A  %.%d$IJ #$%IJ%A.@0.$ A+*
>)]# 5 %0-NB#/$-9@EA@E -.2@  X @E-%  #$@0-H-9bY  3% BAB%-~&B%GM&NA  &$ A@E#$. P M4@()> 8 3B@0.@0 @E-%P]N% }* ! B-~$A  #NB3%--.@0.%
IJ%0A.-9-N   @E-9) ;?8E;  ! =<R /' !6; =6 ~' 8:!6;?5 ! '  8; *]>)]# 5 %0-NB#  A.@0$A-9M&NA  . AB--HN  a@E-9>9)]# 5 %-HN#$ Z A%OE ["@0AB3
>)]# 5 %0-NB#" k 1@E#NBM% [0*>9)# 5 %-HN#$Y-J%-H  A-H #$% M& G-H%A3BAB NB%2$%-(. &B% 3@E&@E @0-H%=%&NB2ABAB %-HN#$"3B@0.@0=d%  *
>)]#>9NB%2 YM& 2bY@03-4IJ@0AB " MZ$&-MWNA  . A  @0#$#-L3$2%  &#$ d. G>)]# 5 %0-NB#bYB  P 2 1$3%-X.%  A  %&%dIJ #%IJ%0A.@0. A4*
>)]# Q2$1%X@EA3D>9)# 5 %-HN#$@E2%  #$ -%0#  AA%  .%3+*_ %0AJIJ #$%IJ%AB&$A^@c>9)> 8 31%0= .( M6&B%-H%  #@E--H%-LIJN-H
. P %"-HN  #@E--H%3J@EA3D.%"@0 -H&@  1$2.N@0#IJ%&B 3-X$AD%@    #$@0-H-IJNB-
%d$IJ #$%IJ%A.%34*
! IJ #%IJ%0A@`>9")> 8 3B2$1%^@0-P@ #$N+
A .-H .@Ed$$-(2%  EAB r,%3@0A3 # @E3%3 .%a>9d#$ 2@E2 @EdNA.$IJ% =
.%32$1%CIJN-H^NB-% &B% > ; 5V  75!  8 R QTWS IJ@  

* #%@E-% 2%@E3 .% >9T #$NA3B  NIJ%0A.@0. AMW FIJ % AB
M& 2IJ@E&$ A A&B-e* 0 N  @0A@E#-H  B%  K NB b &B-F-C3 A% $A &B%)> 8 #$N$A-&B@0c$-F  13B%3bY.>9$A
@EA3 QTDIR/src/sql/drivers *
QTDIR/plugins/src/sqldrivers

! B%Y>L@E&@462 bY-H%  #@E--L 2 103B%-/3@E&@cIJ@EA$ N#$@0.$ AJ@0A3FA@010@0. AFMW 43@E&@c%AB& dM& 2IJ-e*
! B-  #$@0-H-$- @E26 M6.%"}?BIJ 3BN#$%B*
T&AB%2$&->9_a3BE%0._a3BE%0&-Lb"$.J>9i0*
#include <qdatabrowser.h>

J _ .:: , 0# _ 0d5X
U Bk]>9_a$3%:c @02%0A  =  AB-  @EYA@0IJ%o  =_ #@EE-  
U
?k[
%ABNI
?66? dRQAKA bYAB=SU A%=6%0MW 2% 6%E$AABABE=M6%ABA$A= ; A3B='MW.% ; AB3T
6 NAB3@E2 YB?66Z a
[
1 $3J}]
?66Z E 6] p5 `0 #@  .$1@% 
#?B66Z N 6] p5 [  A-H
1 $3J}]?5   A-H>9)]#$TWA3B%`O -H 2 
1 $3J}]?5   A-H>9).2$A 8 $-H -H 24 
>9).2$A 8 -H
kB5 [  A-H
1 $3J}]]pp]@   AB-
>9).2$A ?#$&%F 
>9).2$A
p]@ [  AB-
1$2.N@E#1 $3J}]?p+6}?@ 0>9)]#$
N-   N- $= # @0NB&F Q%#$%.% ^}' 8 ) ; 
>9)]#$
NB2-H  Y}?p 6kB [  A-H
1$2.N@E#1 $3J}]0? 0>9)]# e 2I cMW 2I 
>9)]# e 2I c&?
[
1$2.N@E#1 $3J}]+B ZZp 0 #  MA BI 
1$2.N@E#1 $3J}]+B |6k E #  MA BI 
1$2.N@E#1 $3J}]+B ZZ # 0 #  MA BI 
1$2.N@E#1 $3J}]+B U]p]) E #  MA BI 
1$2.N@E#1 $3J}]+B + 6e]p 0 #  A ?2I 
#e?
ZZp [  A-H
#e?
|6}]5 [  AB-
#e?
Z? a [  A-H
#e?
U]pa [  AB-
#e?
+ 6ep [  AB-
1$2.N@E#1 $3J}]+  d6p# E # @  .$1% 
#pk ]  6pY [  A-H
1$2.N@E#1 $3J}] 46BZZp5 0 # @EN. ; 3B4 
[  A-H
# 6?Z?p:
1 $2.N@E# # }] EAB= #2%#$@0.$1o% V}' 8 ) ; 
U



>
 5uCYLI"H4LIIuII

J _ .:: ' .:(lX


1$2.N@E#1 $3J]&][
1$2.N@E#1 $3Jp6}]5 [
1$2.N@E#1 $3J6Z? Y [
1$2.N@E#1 $3JZ [
1$2.N@E#1 $3
k [
1$2.N@E#1 $3Jp }: [
1$2.N@E#1 $3J6]5 [
1$2.N@E#1 $3JZ) [
1$2.N@E#1 $3J] ?]p]pZ[
1$2.N@E#1 $3Jp]]ppZ [
1$2.N@E#1 $3Jep] .6 p6] [
1 $3J6Z? ] B66Z a[
U

' 1W

] .1X

1 $3
k ]e?
E pp ?pa0 #@010@0$#@E #%
1 $3Jp }+]eB pp Bp`0 #@01@E#$@0 #$%
1 $3J6]+]eB pp ?pa0 #@01@E#$@0 #$%
1 $3JZ+e?  pp Bp# E #@E1@0$#$@0 #$% 
1 $3Je6]6N 6 5 ]   A-H>9)]# 5 %  3 "%  3y
1 $3JZp]|6}]: 0>9)]# 5 %  T3 c NBM 
1 $3JZp ZZ a E>9)]# 5 %  3 " NBM 
1 $3JZp]U]p]a 0>9)]# 5 %  T3 c NBM 
1 $3JB].B]|6}]5 >)]# 5 %  23 c NBM 
1 $3JB].B ZZ # E>9)]# 5 %  T3 c NBM 
1 $3JB].B]U]p]# >)]# 5 %  23 c NBM 
1 $3Je6}?N 6 5  >)]# N2-H u Z \F 3B%cIJ 3@% 
J6o0"610#X
# 6?Z?pbYB%&B%+&B%"  bY-%4@EN. IJ@0.  @0#$# c@E  #$%-%3$& #?B66Z N 6] p5  bY%0&B%4 NA3B@0  %  KE$A^-/@  .10%
#e?
+ 6ep  bYB%&B%4&B%d  bY-%  A ?2IJ-  @0A  %# %02@0.$ A #e?
U]p b"B%.%4.%" 2 bY-%0  A ?2IJ-/3B%#$%&$ A #e?
ZZp  bY%.%4.%" 2 bY-H%  A ?2IJ-%3$ %@0. AB #e?
|6}]! b"B%.%4.%"3@0.@c 2 bY-H%  MA BIJ-/AB-%02. AB #e?
Z?   bY%.%+.%Y 2 bY-H%  A ?2IJ-XNB 3@E&%0>9).2$A
p]"  .%Y3B@0.@c 2 bY-%02 - ?#$&%
#]  6p#  bY%.%+.%Y 2 bY-H%4-/%@03B A#$
>9).2$A 8 -H
kB$  &B%Y3@0.@c 2 bY-H%2 -X- 
U

 K

>
 5uCYLI"H4LIIuII



J6(l0dL40" , 0a _ 0"5X
1$2.N@E# # p6}]+6]6[
1$2.N@E# # 6ZZ +6]6 [
1$2.N@E# # Z]p]+6]6t [
1$2.N@E# # e6]6Z?p]$ [
1$2.N@E#>9)]J# k  A ?2I eB ?Zp:0>9)]#SZ 7 JI
1$2.N@E#>9)]J# k  A ?2I eB  6e]l E>9)#Jk 7 JI
1$2.N@E#1 $$3 6 6ZpZ?   A-H>9)]# ; 2 @ %2 
U

d ] 1.10"

Q 0

Q 0aX

L61D:(

! B%Y>L@E&@462 bY-H%  #@E--L 2 103B%-/3@E&@cIJ@EA$ N#$@0.$ AJ@0A3FA@010@0. AFMW 43@E&@c%AB& dM& 2IJ-e*
' $EB#$%1%#+N' TX-d 2 1$3%03a& A@E1@0.%J.2 NBEa3B@0.@J2%  23B-~A @  N- $=
$A-H%&=+N 3B@0.%(@0A3a3B%#$%&%(%  3-H=
@0AB3
%MW%-HP3B@0.@cAF&B%d3B-H #$@0 }*
T&M4  Nb"@EA/@(%@03B A#$ ^M& 2I & D 2%-H%AX3B@0.@0 @E-%^3@0.@(N-H%(> L@E&1@ !/%b s $M4  Nb"@EAX@J.@0 #$% @E-%3 %-H%A.@0. A M
0 NX3@E&@cNB-%c)> L@E&@ ! @0 #$%B*
'> Q@0.@ 62 bY-H%Y-^N-H%3 . `@E--H  $@0.%a@ 3@E&@E-%09bY. @aMW I $A IJN   &B%-@EIJ%ab"@E @0-G@ > L@E&@ ! @E #%@0-H-  @E&%0@ 3@E&@E-%0bY.@ .@0 #$%B* 7 A  % .% 3@0.@  bY-%G@0-P %%A  AB-.2N  .%3 $  @0A %a@0-H-  @E&%3bY.@`3@E&@E-%dbY.
-H%.)]# N-  [=Q@EA3 bY$& @ M& 2I b"$. -%[ e 2I [0/* 6 NBA3@E2  %  KE$A=U- &$A @EA3 ?#$&%AB  @EA %-%b"$. -%.
6 NBA3B@02 0
%  KAB
 [=B-%.)  [/@EA3J-H%[  #$&%0u [= 2%0- %  .1%0# }*
! B%d$A-H%& N2%A" [M&NA  . A(2%0@03-X.a% ?%#3B-/MW I .%"3%M&@0NB#6M& 2I $A. G.%"3%0MW@0NB#  N- X@EA3( %MW 2IJ-4.%"AB-%02*
! B% N 3@0.% N2%A" [J@0AB3 3B%#$%&%0
N2%AB [(M&NA  &$ A-( %02MW I -$IJ#$@0# . N 3B@0.% @0AB3 3B%#$%&% &B%  NB22%0A"2%  23
%-H %  .$1%#$ }*
! B%dNB-%0  @0AJ %@E-K%3(.  MA BI@0#$#%3B.-XbY.P-%.
MA BI ; 3B.- [0l* e  IJ % %  $-%  AB& # N-H%d-H%.
A ?2IJT&A-H%2" [=
-H%.
MA BIJRL 3B@0.M% [=6-H%& A ?2$I Q%#$%&t% [~@0A3-H%.
A ?2IJ @0A  %#$- [0*QRQ-H%^-H%.' NB& ; 3$ [&  A.2 #6.%P %B@01$ NU M
.%YM& 2I bYB%AJ&B%dNB-%0X%3$&-@c2%  23(@0AB3D&B%A(A@E1@0.%-e*
! B%2%  23 -H%$-GAB@01$E@E&%03 N-HAB ?2-H" [=LAB%O0" [=U 2%t1 [=L#$@0-H [P@0AB3 -H%%5K [0* ! B%M& 2IJ -3$- #@E a-^N 3B@0.%3 bY.
%MW%-H [0*P_ B%A A@010@0. A .@0K%-Y #$@  %C.o% ?2-H 5 %  3'61@E#$@0 #$M% [=/#$@0-H 5 %  3'61@E#$@0 #$M% [=/AB%O0 5 %  23B'61@0$#@E #t% [
@EA3a %1 5 %  23B'61@0$#$@0 #$M% [~-$A@0#$-@E2%P%IJ$&.%3+*L_`%A.%  N- U2%  23$-  B@0A%3a3BN%P& DAB@01$@0. A .%  NB2-H 2
 @EA%3 [Q-$A@0#?$-%IJ$&.%34*
T&ML 0 N bY@0AB< ?A%0  AB& # ML&B%D$A-H%2.=/N 3@0.%D@EA3 3%#$%.%D 2  %-H-%-".%A`  N  @0A N-H%F.%D#$ b#%01%#4MWNBA  .$ A-Y&
%2M& 2I .%0-%" %@0. AB-X@0-3B%-  2$ %3( %#$ b9*
! B%MW I -U  NB#@E&%03FbY.F3B@0.@GM&2 I &B%3@E&@E @0-H%bY.F%@0M3  %0#3B- [0*TWM
.%cNB-%0$-Q@E##$ bY%3& J%3B.= .-%%G-% 5 %@E3
7 A#$M ["=
bY2$.%^.%(MW IJ -U3@E&@J @  KD. F.%  N2-H 2 -~%3$/ NBMWMW%0LbY$&abY2$.%  %0#3B- [0*Q N  @0A  #%@E~&B%^10@0#$N%-dAa.%
M& 2I bY.  #$%@0k !?@E#NB%- [0* ; 3B.ABG$-/ %MW IJ%3^@E-M& ##$ bY- 
,kH6_`%AD.%c3B@0.@ 2 bY-H%X%AB&%-$A-H%2.$ ADIJ 3%c$
%IJ$.-.%c IJ%T&A-H%2" [Q-$EAB@0#?bY  F 0 N  @EA  ABA%  
. =
MW U%OE@0IJ #$%(& C 2%0  NB#@E&T% B%0#3B-,*9
@0#$#
bY.%  $%#3B- [d& bY2$&%P.%(N-H%2 -~%3$.-9& .%  N-  -9%03$/ NM&MW%
.%A  @E##
AB-% [& CAB-%4&B%^%  3C$A. F.%^3@0.@0 @E-%?* ! B%G %M& 2%T&A-H%2" [U-$A@0# -%IJ..%3 |N-HX %MW %G.%
 NB2-H 2 -9%3$/ NBMWMW%0Q$-$A-H%&%3a$A. &B%P3B@0.@0 @E-% s  ABA%  /& .$-MW U%OE@0IJ #$%= &   NB#@E&% ?%#3B--HN  a@0-@EA
@0NB& WE%AB%2@E&%03J 2$IJ@0 dK% }*
e ~NB 3@E&%0-9&B%( 2$IJ%RQ 3@E&M% [-$EAB@0#+-d%IJ$&.%3abY%Aa.%(3B@0.@D 2 bY-H%U%A.%2-N 3B@0.%PIJ 3B%B*'MW.%
 j6E].
 @E##$$APb".%  $%#$3- [  @E##BN 3B@0.M% [. PN 3B@0.%".%"2%  23(@EA3  AA%  . ^.%" %M& 2%RQ 3@E&t% [X-$EAB@0#?& ^IJ@0AB NB
#$@0.%".%"N-H% -/3B@0.@c %MW %d.%"N 3B@0.%Y&@EKE%-X #@  %B*
e ~3%#$%. A &B%J 2$IJ% Q%#%0&M% [d-$A@0#4$-d%0IJ.&%03ab"B%A .%(3B@0.@F 2 bY-H%~%AB&%-3B%#%0&$ A IJ 3%?*"'MW.%
" e.a
 @E##$$ADbY2$.%  %0#3B- [  @0#$#63%J# [9. J3%#$%.%G.%%  3F@0AB3  AAB%  +. D&B%G %M& 2% Q%#$%.M% [-HA@E#= MW L%O0@EIJ #%^&
2%  23(@EAJ@0N3B MZ&B%d3B%#%0&%3J%  3+*
)%%Y@0#$- Q@0.@0 @0-H%"
#$@0-H-%-e*

>
 5uCYLI"H4LIIuII
,

0#

"

_ 0 @T%0

p

(/b0"F ] E}P

|l a w:cFz %&%i w5yx

! B-%ANBI 3B%-  2$ %-XbY%02%"&B%"3B@0.@c 2 bY-H%4-/  -$&$ A%03+*


! B%  N2%AB&#$ Y3%?A%03P10@0#$N%-L@02%t
QDataBrowser::Unknown Z.%" NAB3@0  @0ABA  %"3%.%IJAB%3.N-HN@0#$#$ c %  @EN-H%d.%%$-AB G3%0MW@0NB#  N- $= 
.%"3%M&@0N#$  N2-H X$-A 6@  .10% 0*
QDataBrowser::None ]&B%L  bY-%Z$-A   -$&$ A%03" Ac@~ NBA3B@02 =0 N$ -
 -$. AB%3c AY@~2%  23Y- IJ%0b"B%2%
$AJ&B%"IJ$33B#%?*
% B-6@E1@0$#$@0 #$%c2%  23+*
QDataBrowser::BeforeBeginning 6.%" 2 bY-H%4-/  -$&$ A%03J %MW %.Y
% ?2-H2%  234*
QDataBrowser::Beginning Z.%Y 2 bY-H%4-  -$. AB%3J@0.a
QDataBrowser::End ?.%Y  b"-H%4$-/  -H. AB%3J@0
&B%d#$@0-H
%  3+*
QDataBrowser::AfterEnd Z&B%Y 2 bY-%0+$-/  -H$&$ A%3J@EMW.%4&B%d#$@0-H
@E1@0$#$@0 #$%c2%  23+*
,

0#

"('CF:(

_ 0

PL%0dC ] :(

|l a w:cFz %&% M|4 a w:cFz

,/.:9

} ~z|+*/` zFxy|-,/.10<{w5xBu|%{32 /
* xB

z4,5.60

@~87

 A-H&N  &-L@c3@0.@c 2 bY-H%4bY  J$-/@  B#$3J MjZ]HW=bY.J&B%dAB@0IJ%]P/@EA3JbY3BE%0?@0-/-%0& ";G*


9

|l a w:cFz %&%< M|4 # w5cFz )

Q%-H& -/.%" u.%  6@0AB3JMW2%0%-/@0AB Y@0#$#  @0.%3J2%-H N  %-e*


Yww: M|4 # w5cFz %% y|lw  }|

) 9o{w:xBu|

5 %&NB2AB- !65 R ; $M"&B% 2 bY-H%G@EN. IJ@0.  @0#$# @0  #$%-(%3$.- s .%b"$-H% 2%.NA-}' 8 ) ; * )%0% &B% 0@ N. ; 3$ . *NKK
2 %& "MW 43B%&@E#$-e*
<w}

M|4 a w5cFz %% az w zzFz|4z

"=5az{Mw

*% 9 >F}J~txBM@?

! B-d-$A@0#+$-%IJ$&.%3.NB-L %MW %^.%  N2-H 2 -9%3B/ NBMWM&%U-d3%#$%.%3aMW I .%P3@E&@E @0-H%B* ! B%D0L7Y @0@0IJ%.%U  $A.. D.%%03$ NBMWMW%0 %$A(3%0#%.%34* NIJ$EB  AAB%  +& J.$-U-$A@0#6.  @E .N2%G- IJ%^@0N3B.$AJ$AMW IJ@0. AC@0 NB .%
3B%#$%&$ A+*
<w}

M|4 a w5cFz %% az w zN[xBFz |

"=:#zN{w

*/ 9 >F}J~txBM@?

! B-L-$A@0#Z$-%IJ$.&%3a|N-H %0MW 2%".%  NB2-H 2 -L%3$ NBMWMW%0X-QAB-%02.%3JAB& (.%Y3@E&@E @0-H%B* ! %0&7U @E2@EIJ%&%0X  AB&-L&
.%Y%3B
NMWM&%+ %ABG$A-H%2.%34*] NJIJ$EB  ABA%  & ^&B--$EAB@0#?& ^  NB#@E&%Y@c%A%@0.%3( 2$IJ@0 YKE% YM& +%0O0@0IJ #%B*

>
 5uCYLI"H4LIIuII
<w}

 n

M|4 a w5cFz %% az w zBA$ M|4z

"=:#zN{w t

*/ C
9 >F}J~txBM@?

! B-~-H$EAB@0#
$-9%IJ$.&%3B.NB-X %0MW 2%^&B%  N2-H 2 -~%3$X NM&MW%Q$-~N 3B@0.%3A.%P3@0.@0 @E-%?* ! B%(EL7d @E2@0IJ%0&%Q  $A.-~&
.%J%03$ NM&MW%~ %0ABCNB 3@E&%34*d N IJ$EB  AA%  . &B-"-$A@0#4.  @0 .N%J- IJ%J@EN3B.ABC$AM& 2IJ@E&$ A @0 NB.%
NB 3@E&%?*
w5yx

M|4 # w5cFz %% Yw5yx

)9

5 %&NB2AB-/@0AJ%ABNI AB3  @E&$AP&B%d NBA3B@02 Y-H&@E&NB-/ M6.%" 2 bY-%0|*


! B-Y$-Y@  B%01%3 CIJ 1$A&B%D3%0MW@0NB#  NB2-H d@EA3  %  KAB.%F  -$. AB=/ bY%1%09&B%  NB2%AQ3%M&@0NB#UMW I1@0#$
NB%-bY$##LA 9 %@0#$&%02%34*'MW.%  B%  KAB MW Y.% NAB3@0 =L.%  NB2-H Y-IJ 10%3 @  K & `.-MW IJ%"  -$. A4*)%%
>)L@E&4@ 62 bY-%0u k 6 NBA3B@02 }*
)%%Y@0#$- 6 NAB3@E2o . * p 0*
Yww: M|4 # w5cFz %% aw5yx <v"2zN{ED)}xB~

) 9/{w:xBu|

5 %&NB2AB- !65 R ; M NAB3@0  B%  KAB^$-U@  &$1% s &B%2bY$-%Y2%0&NB2A-<}' 8 ) ; *)%%.% NAB3@0 
B%  K$A . * KK~ 2 
%02. "M& 43%.@0$#-e*
<w}

M|4 a w5cFz %% {zN


F MJBz

) 9->J<}

|1BMBuw5|G?

 # %0@02-L@0#$#.%Y1@E#NB%-/$AD&B%dM& 2I *
'+#$#B.%"%3$ NBMWMW%0?%#$3J1@0#$N%0-@0%Y-%
& P&B%$X r,%2 ^-.@0.% =%B* Z*  MW 4ANBIJ%2  ?%#3B-/@0AB3 Z MW 4-.2$AB%0#3B-,* ! %AJ.%
bY$3%.-@0%dNB 3@E&%03PNB-$A^&B%d 2 %& dIJ@0 *e  %0O0@0IJ #%=@  IJ OY&B@06$-/ 2 %2. IJ@E  %3P& ^AB&%0E%-/bY N#$3
-   ##B& P.a% B-6$&%0I * )%%Y.%">9)]# 2 %02. \F@E  A-H&N  . 4MW 4.%Y3%M&@0NB#6IJ@E  $A- M6bY3BE%0&-/. P 2 %02.%-e*
6=5

%% vYw5xH

|l a w:cFz %&% {Mw5xH

vaMxB{MzF

6=5

%%

9C>}

|1BMy w:|4z{|4z

2 .%  .%31&NB@0#6M&NA  &$ Ab"B  2%.NA-U@  A?2IJ@E&$ AFM&   @0A  %#$#$AF@0A%3$4IJ 3%(C*L%10%3  #@E--H%-  @0A2%$IJ
#%IJ%0A
.$-/M&NA  &$ AD@EA3D  1$3%Y&B%$X b"A  A?2IJ@E&$ AJ3$@0#$ 6* ! B%Y3%M&@0N#$$IJ #$%IJ%A.@0.$ ADN-H%-@GIJ%--H@0%c O
bYB  J 2 IJ .-X.%YN-H%X.  AMBI.%"%3B@  . A4*


Yww: M|4 # w5cFz %% {w5xH t

vYMxB{zF

) 9o{w:xBu|

5 %&NB2AB- !65 R ; MB&B%~ 2 bY-H%  AMBIJ-  @0A  %# %2@E&$ A- s .%02bY-H%~2%0&NB2A-N}' 8 ) ; *})%%~.%  A?2IJ @0A  %#$- . *KK
2 %& "MW 43B%&@E#$-e*
Yww: M|4 # w5cFz %% {w5xH t zzF|4z

) 9o{w:xBu|

5 %&NB2AB- !65 R ; $MB.% 2 bY-%0  AMBIJ-43%#$%. AB- s &B%2bY$-%2%.NA-}' 8 ) ; *k)%%d&B%  A?2I$Q%#%0&% . *KK/ 2 %&
M& X3%.@0$#$-,*
6=5

%% vYw5xH

|l a w:cFz %&% {Mw5xH ` }|

"=:

%&%

9->}

|1BM< w5|4zN{|4z

2 .%  .%31$2.N@0#


MWNA  . AabYB  a2%.NA-9@  A?2IJ@0.$ AM& U@0Aa%3B/ M4IJ 3B%(* Q%2$1%3  #$@0-H-H%-  @0Aa2%0IJ #$%IJ%AB
.$-M&NA  . Aa@EA3a  13B%(&B%U bYA  A?2IJ@0.$ A3B@E# 6* ! %(3%M&@0NB#/$IJ #$%IJ%AB&@E&$ AaN-H%-@JIJ%0--H@0%J O(b"B  
2 IJ .-X&B%YN-H%X&  AMBI.%"%3$@  . A4*


>
 5uCYLI"H4LIIuII



Yww: M|4 # w5cFz %% {w5xH t }|4

) 9%{Mw5xBu|

5 %&NB2AB- !65 R ; MU.% 2 bY-%0  A?2IJ-Y%3$~ %@0. AB- s &B%2bY$-%C2%.NA-Y}' 8 ) ; *?)%%C.%  A?2I ; 3$&- . *tKK
2 %& "MW 43B%&@E#$-e*
Yww: M|4 # w5cFz %% {w5xH t

[xBFz |

) 9o{Mw5xBu|

5 %&NB2AB- !65 R ; $ML.%F3@0.@F  bY-%  AMBIJ-d$A-H%2.$ A- s &B%2bY$-%F2%.NA-a}' 8 ) ; *B)%%D.%  AMBIJTWAB-% . *K 
2 %& "MW 43B%&@E#$-e*
Yww: M|4 # w5cFz %% {w5xH t $
A |lz

) 9o{Mw5xBu|

5 %&NB2AB- !65 R ; MZ.%  bY-%  AMBIJ-XN 3B@0.%- s .%bY-H%%&NB2AB-}' 8 ) ; *k)%%"&B%  A?2IJRQ 3B@0.% . +*uK  2 %&
M& X3%.@0$#$-,*
<w}

M|4 a w5cFz %% { 4 zFxy|lv"2MxB~z I) {Mw5xBu| 6=5az{Mw t

zN{w t

9C>F}J~txB@?

! B-U-HA@E#$-~%IJ..%3FbY%0A%1%0.%  N2%AB  N2-H Q  -$. A  B@0A%-e* ! %(H0H^ @0@0IJ%.%L  AB&-U. J&B%  A.%A. M6.%  NB2%A  N-  -X2%  234*
Yww: M|4 # w5cFz %% { zFxy|  }|4z I)

9J>}

|1BM w:|4z{|4z

5 %&NB2AB- !65 R ; $M6&B%dM& 2IJ -X%3$ NM&MW%43BM&MW%-XMW2 I&B%  N2%AB  NB2-H X NMWM&%$= .%02bY-H%a}' 8 ) ; -L2%.NA%34*
<w}

M|4 a w5cFz %% { Fw v62MxB~z K) 6=5v Fw %% w z

w z9J>F}J~txB@?

! B-Q-HA@E#B$-L%0IJ.&%03Jb"B%A%01%/.%  NB2-H /2%  23JbY@E-  @0ABE%03D3NB%c& (A@E1$E@E&$ A+* ! B%^EEQ @E2@EIJ%&%0+$-Q&B%c%3$


.@E .NB-
& Kc #$@  %=%?* 6* T&A-H%2.= RL 3@0.%" L%#$%.%B*)%%Y>9)#$
NB2-H uk \F 3%?*
<w}

M|4 a w5cFz %% zF

) 9J>}

|1BM`uw:|
?

0%2M& 2IJ-Q@G3%0#%.% %02@0.$ AD AF.%c3B@0.@G 2 bY-H%2 -  N2-H *6TWM &B%2%c$-QA J3%0MW@0NB#  NB2-H  /AB J3%M&@0NB#+MW IJ=BAB &BAB
B@0  %A-e*
7 &B%2bY$-%=&B%dM& ##$ bYABG@E  %AB- 
! B%  NB2%A?MW IJ -+2%  23G$-43%#$%.%3GM&2 I.%93B@0.@0 @0-H%=]  13BABY&B@0?&B%93@E&@" 2 bY-H%$-XA ?APAB-%02?IJ 3%B*]T&M.%
3B@0.@^  bY-%-U@  &$1%#$ G$A-H%&$AJ@^2%  23 .-H%%$A-H%["=?&B%$A-H%2+@  &$ AC$-  @EA  %0##$%3=Z@EA3&B% 2 bY-H%AB@01$E@E&%0. P&B%d#$@0-H
1@E#$3D%  3P.@E6bY@0-  N2%A*]T&M6&B%2%"-@0AD%2 $=]@0AB3#$% ; 22  [$-  @E##$%34*


Yww: M|4 # w5cFz %% zzF|4zNv zxy|

) 9->}

|1BM< w5|4zN{|4z

0%2M& 2IJ-
@~3B%#$%&%U A.%U3B%MW@EN#$  NB2-H N-HABd.%U1@E#NB%-
M&2 I &B%U3%M&@0N#$M& 2I @0A3GN 3B@0.%-
.%U3%0MW@0NB#MW 2I *ET&M&B%2%
$-UA J3B%MW@EN#$
MW I A (3B%MW@EN#$  N2-H $=BAB &BAB^B@0  %0A-e*6TWM
&B%c3%#$%. ACb"@E-L-HN k %-H-HMWN#$=Z&B%  NB2-H $-L%  -H. AB%3
. a.%JA%0@02%0-Q2%  23 @EA3 !65 R ; $-"2%.NA%34* ! %JAB%@0%-HL%  3a-Y.%JA%0O0Q2%  23 $M.%%J-" A%F &B%2bY$-%J.%
2%1$ N-Q2%  23J$M.%%Y-Q A%B*?T&M@0AC%2 X } N2%3D3BN2$AP.%c3%0#%.$ ADMW I.%c3B@0.@0 @0-H%=B@0AB3#$% ; 22  [L$-  @0#$#$%3
@EAo3 k' 8 ) ; $-%&NB2AB%3+*
)%%Y@0#$-  NB2-H  ._a3BE%.-bY$&J>i =M& 2I [#. +*  Q@0AB3D@EA3#$% ; 2 u [#. *  0*


>
 5uCYLI"H4LIIuII



:| }xB~ M|4 a w:cFz %%


H J|lz

) 9o{Mw5xBu|

5 %&NB2AB-/&B%d3B@0.@c 2 bY-H%2 -B#$&%0|*])%%Y&B% B#$&%0 . *K  L 2 %& "MW 43B%&@E#$-e*


<w}

M|4 a w5cFz %%

u|

) 9->J<}

|1BMBuw5|G?

\C 1%-Y.%D3B%MW@EN#$  N2-H "& a.%o?2-HQ2%  23 @EA3 2%M&2%-H%0-.%D3B%MW@EN#$QM& 2I. 3$- #@E F.$-"%  3+*GTWMQ&B%2%J$-YA
3B%MW@EN#$4MW 2I A F3%M&@0N#$  NB2-H =6AB &BABPB@0  %A-e*4TWM+.%3B@0.@^  b"-H%L-N } %0--HMWNB##$ (A@010@0.%3& J.%B-+2%  23B=
.%Y3B%MW@EN#$  NB2-H +$- 2$IJ%3(MW XN 3@0.%"@0A3J.%Y IJ%0RL 3B@0.%M[X-HA@E#B$-%IJ$.&%34*
T&M6&B%d  bY-%4$-@E#%@03B "  -$&$ A%03J AJ&B#% ?2-H62%  23(A .$A^@E  %AB-,*
<w}

M|4 a w5cFz %%

u|4#zN{w t )@}Mz

Yww5T<}MzL9->F}J~txBM@?

! B-U-HA@E#$-~%IJ..%3FbY%0A%1%0.%  -H$&$ AC M+.%  N2-H   @EA%-e* ! %(P ]e] e$L @0@0IJ%.%LAB3  @0.%-UbY%.%0 
AB .Y% B-6%  3(AJ.%Y3%0MW@0NB#  N- 4$-@E1@0$#@E #%?*
6=5Jw t

M|4 # w5cFz %%& w t/)

5 %&NB2AB-/@c  $A.%4& P&B%d3B@0.@c 2 bY-H%2 -X3%M&@0N#$M& 2I   $M6A PMW I @E-/ %%AJ-H%*
<w}

M|4 a w5cFz %% 


2 x z <4 w ) {Mw5xBu| 6=5 w CM

z 4 w

9J>}

|1BMy w:|4z{|4z

/$2.N@E#MWNBA  &$ AJbY  J@EA3B#%-&B%"%022 /HEk* ! %"3%M&@0N#$$IJ #$%IJ%A.@0.$ AJb"@E2AB-/&B%YN-H%XbY.J@cIJ%-H-@EE%Y O?*


!

<w}

M|4 a w5cFz %% }xBFz |

) 9J>}

|1BMuw5|G?

0%2M& 2IJ-@EAJAB-%02
%2@E&$ AJ AJ&B%Y3@0.@  b"-H% -  NB2-H |*TWM6.%02%"-QA P3%M&@0NB#  N- X XAB (3%M&@0N#$M& 2IJ=AB &BAB
B@0  %A-e*
T&M6@0NB& %03$&$A^-/ A.-H%%Y-H%&'+N. ; 3$["=].%"MW #$# bY$AGB@0  %A-
TWM6.%" 2 bY-H%4-L@0#$2%@E3 Y@  &$1%#$ YAB-%02.ABG@c2%  23B= &B%  N2%ABMW IJ -X3@E&@c$-/$A-H%2.%3J$A. ^.%"3@E&@E @0-H%B*
TWM?.%  bY-% -XAB ZAB-%&$Ac@Y%  3=] NZ.%  N2%ABB%  3^bY@0-  @EA%3^ ".%9NB-%$= .%%  3G$-XN 3B@0.%3
$AJ&B%"3B@0.@0 @E-%YbY.(&B%  N2%AB6MW IJ -X3@E&%@ .* %B* bY$&(.%  B@0A%&- 0*
T&M .%02%$-U@0A%2 /@EA3B#$AJ@EA P M
.%@E 1%G@EN. %3$4@  &$ A-H=6@EA3#$% ; 2 u [U-  @0#$#%3@EA3A D$A-H%24 LN 3B@0.%G$ %2M& 2IJ%34*
T&MAB a%2 ~ } NB2%3=4 9@EN. %3$.AB$-"A Q%A@E #%3B=4&B%J3@0.@F  bY-% %E$A-"@  &$1%#$ D$A-H%2.$A@F%  3aAB& a.%
3B@0.@0 @E-%Y Y %MW 2IJ$Ac.%YM& ##$ bYABG@  &$ A- 
! %"3%0MW@0NB#  N- X$-/ IJ%03JMW 4AB-%02NB-$A^>9)]# N-  k IJ%T&A-H%2" [0*
! %" IJ%T&A-H%2" [/-HA@E#B$-%0IJ.&%03+*
A B#$#ZAC&B%1@0#$N%0 ! %cM& 2I $-QNB 3@E&%03FbY.D.%10@0#$N%-U$AF.%3B%MW@EN#$  N2-H 2 -,*%3$+ NMWM&%/-H J&B@0 &B%N-H%  @0/
. ^ %"AB-%02.%3+*


>
 5uCYLI"H4LIIuII
K

Yww: M|4 # w5cFz %% }xBFz |lv 4 zxy|

) 9C>}

|1BM w:|4z{|4z

5 %@03B-/&B%#?%#$3-/M&2 I.%Y3B%MW@EN#$6MW 2IAB& P.%"3%M&@0N#$  NB2-H X@0AB3J %2M& 2IJ-4@0AJ$A-H% A(&B%"3B%MW@EN#$  NB2-H |*]T&M6&B%2%
$-UA J3B%MW@EN#$ M& 2I /AB J3%M&@0N#$  N- $=ZA .$AP@E  %AB-,*
TWM @0AF%022  } NB2%3D3NB2$A(.%$A-H%2+$A. J&B%3@E&@E @0-H%=
B@0AB3#$% ; 2  [/-  @0#$#%03J@0A3 k' 8 ) ; $-/2%.NA%34*TWMZ.%$A-H%6b"@E-/-HN } %-H-M&N#$#=B&B%  NB2-H 4-/%MW%-H%3^@0A3(%#  @0.%3(&
.%YAB%bY# Y$A-H%2.%3J2%  23B= &B%  N- 
@EA%3 [Q-HA@E#B$-/%IJ$&.%3B= @0A3 !65 R ; -L2%.NA%34*
)%%Y@0#$-  NB2-H 2 @0ABE%03 [a. +*  =B-]#$
N-  [Y. +* K  =M& 2I [#. +*  U@0AB3J@EA3#$% ; 2 u [#. *  0*
Yww: M|4 # w5cFz %% }JF#zN xyJ

) 9o{w:xBu|

5 %&NB2AB- 6! 5 R ; $MZ&B%  b"-H% -X%@03B A#$ s &B%2bY$-%2%.NA-@}' 8 ) ; *k)%%".% 2 %@E3 7 AB# . +*K   %& ~M&  3B%&@E#$-e*
<w}

M|4 a w5cFz %% @u|

) 9C>}

|1BMuw5|G?

\C 1%-Y.%F3B%MW@EN#$  N- ". &B%F#$@0-H~2%  23`@0A3 2%0MW2%0-B%-d.%C3%M&@0NB#UMW I. 3$- #@E C.$-Y2%  23+*PT&ML.%02%F$-YA
3B%MW@EN#$XMW I UA D3B%MW@EN#$  N- $=6A .$AF@0  %A-e*XT&M4&B%G3@E&@(  b"-H%Q-N } %--HMWNB##$ (A@E1@0.%3. F.%G#$@0-HX2%  23B=
.%Y3B%MW@EN#$  NB2-H +$- 2$IJ%3(MW XN 3@0.%"@0A3J.%Y IJ%0RL 3B@0.%M[X-HA@E#B$-%IJ$.&%34*
T&M6&B%d  bY-%4$-@E#%@03B "  -$&$ A%03J AJ&B%d#$@0-H
%  3PAB &BAB@E  %AB-,*
<w}

M|4 a w5cFz %% @u|4#zN{w t )@}Mz

Yww:M@}zL9J>F}J~txBM@?

! B-U-HA@E#$-~%IJ..%3FbY%0A%1%0.%  -H$&$ AC M+.%  N2-H   @EA%-e* ! %(P ]e] e$L @0@0IJ%.%LAB3  @0.%-UbY%.%0 
AB .%Y#@E-
2%  23(AF&B%d3B%MW@EN#$  NB2-H +$-@E1@0$#$@0 #$%B*
<w}

M|4 a w5cFz %% xBz |

) 9J>}

|BBuw:|
?

\C 1%-"&B%J3%M&@0NB#  NB2-H . .%JAB%O0Q2%  23 @0A3`2%M&2%-H%0-9&B%D3%0MW@0NB#LMW I . a3$-H #@E F.$-d%  3+*YT&M/.%%J-"A
3B%MW@EN#$4MW 2I LA J3%0MW@0NB#  NB2-H =?A .$A(B@0  %0A-e*T&M
.%c3@E&@^ 2 bY-H%-HN k %-H-M&N#$# ^A@E1@0.%3& J.%GA%OE
2%  23B=
.%Y3B%MW@EN#$  NB2-H +$- 2$IJ%3(MW XN 3@0.%"@0A3J.%Y IJ%0RL 3B@0.%M[X-HA@E#B$-%IJ$.&%34*
T&M6&B%d  bY-%4$-  -H$&$ A%3J AJ.%"#$@0-H2%  23(A .$A^@E  %AB-,*
<w}

M|4 a w5cFz %% xBz |4az{w t )<}Mz

aww:M@}MzL9C>F}J~txBM@?

! B-U-HA@E#$-~%IJ..%3FbY%0A%1%0.%  -H$&$ AC M+.%  N2-H   @EA%-e* ! %(P ]e] e$L @0@0IJ%.%LAB3  @0.%-UbY%.%0 
AB .%YA%OE62%  23($AJ&B%"3B%MW@EN#$  NB2-H 4-L@01@E#$@0 #$%B*
<w}

M|4 a w5cFz %% zF

) 9->J<}

|1BMBuw5|G?

\C 1%-d&B%P3B%MW@EN#$  NB2-H ~& .%( 2%01 NB-%  3@EA3 %MW%-H%-~.%(3%0MW@0NB#MW 2I . C3B-H #$@0 D.$-92%  234*~T&MX&B%2%($AB D3%0MW@0NB#4M& 2I QA D3B%MW@EN#$  N- $=ZA .$A(@E  %AB-,*+T&M .%3B@0.@^  bY-%L-N } %--HMWNB##$ PA@010@0.%3& J.%^ 2%01 NB%  3= .%Y3%0MW@0NB#  N- 4$- IJ%03PM& XN 3B@0.%d@EA3J.%Y IJ%RQ 3B@0.%M[X-$A@0#?$-%IJ$&.%34*
T&M6&B%d  bY-%4$-  -H$&$ A%3J AJ.a% ?2-H62%  23(A .$A^@0  %A-e*
<w}

M|4 a w5cFz %% zF<#zN{w )@}Mz

Yww5T<}MzL9->F}J~txBM@?

! B-U-HA@E#$-~%IJ..%3FbY%0A%1%0.%  -H$&$ AC M+.%  N2-H   @EA%-e* ! %(P ]e] e$L @0@0IJ%.%LAB3  @0.%-UbY%.%0 
AB .%Y 2%01 NB-X2%  23($AD&B%d3B%MW@EN#$  NB2-H X-@01@E#$@0 #$%B*

>
 5uCYLI"H4LIIuII
<w}

M|4 a w5cFz %% }

K
"=:#zN{w t

zFzzF|4z

*/ C
9 >F}J~txBM@?

! B-Q-HA@E#?$-%0IJ.&%03DbY%AD.%c3B@0.@ 2 bY-H%X%AB&%-3B%#%0&$ ADIJ 3%?* ! %G0&7U @E2@EIJ%&%0X  AB&-Q. P.%Y%  3D NM&MW%
%0AB 3%0#%.%34* .SU &%.@0~>)]# N2-H u Z 2$IJ% Q%#$%&t% [^$-^E  @E##$%3 A .%3%0MW@0NB#  N- $=Q@0-G.$-bY N#$3  2NB 
10@0#$N%-U$AF.%cMW I * G
AAB%  +. P.$-Q-$EAB@0#Z$AF 23B%X. =BM& X%O0@EIJ #%0=B-H@01%G@   c M
&B%c3%#$%.%3D2%  23FMW X@0NB3$&$A
N2  -%-e*
)%%Y@0#$- (3%0S# [Y. *  0*
<w}

M|4 a w5cFz %% }

z[xBFz |

6=5az{w t

*/ C
9 >F}J~txB@?

! B--$EAB@0#?-L%IJ$&.%3(bY%AJ.%Y3@E&@c  bY-%4%AB&%02-X$A-H%2. AJIJ 3B%B* ! B%YEL7~ @0@0IJ%.%+  AB&-& P&B%d%  3J NM&MW%
.@EU-c. a %F$A-H%2.%34*P
AAB%  U. .$-"-H$EAB@0#/. =/MW d%O0@EIJ #$%=/ IJ%D.%C2%  23` NMWM&%bY$& 3%0MW@0NB#U3B@0.@F1@E#NB%-=
@EN. ANBIJ %2%093 B%#$3-~%0  a* .SU .%^.@EX>9)]#$
N-  k IJ%0TWA-H% [d-d0  @E##$%3a A.%P3%M&@0N#$  N2-H $=@0-~.$-9bY N#$3
 2N 61@E#NB%-$AD.%"MW I * 
)%%Y@0#$- ($A-H%2" [a. *  0*
<w}

M|4 a w5cFz %% }

zA$ M|4z

6=5az{Mw t

*/ 9 >F}J~txBM@?

! B-G-$EAB@0#L-%0IJ.&%03 bYB%A&B%C3B@0.@a 2 bY-%0d%AB&%02-cN 3@0.%IJ 3%B*CSU .%C.@E~3NAB AB@01$@0&$ Ac[?2-H[=L#@E-"[=


AB%O0" [= %M1 ["=6%@  2%  23.@0X$-9-H bYAa$Aa&B%^3B%MW@EN#$XMW 2I - 2$IJ%3MW QN 3B@0.%B* ! %(0L7Y @0@0IJ%.%Q  $A.-9&
.%c%  3J NM&MW%X %$A^N 3B@0.%3+*@.SU .%".@E
>9)#$
NB2-H uk 2$IJ%RQ 3@E&%M[Q$-QE  @E##$%3C AD&B%Y3%M&@0N#$  N- $=@E-.$bY NB#3  2N L1@0#$N%0-d$A .%JM& 2I * 
ABA%  L. &B-"-HA@E#+$A 3%~. =4MW 9%0O0@0IJ #%=4K%% a.2@  KF Mb"B   2%  23BB@01%Y %%0AJN 3B@0.%3= %02@E -XMW X@EN3B.ABG NB2  -H%-e*
)%%Y@0#$- (N 3@0.M% [Y. u* K  0*
<w}

) 9->}

M|4 a w5cFz %%i zN y}JzF

|1BMuw5|
?

5 %@03B-/&B%YB%#$3-LMW I .%Y3%M&@0NB#  N-  -/%3B


NMWM&%X@0AB3J3$- #@E -L.%0I $AD&B%YMW 2I *TWM6.%%d$-AB ^3B%MW@EN#$  N2-H X 
AB ^3B%MW@EN#$MW IJ=A .$AG@0  %A-e*
<w}

M|4 a w5cFz %%i z Z zN2

) 9J>}

|BBuw:|
?

5 %MW%-B%-/.%Y3@E&@G 2 bY-%02 -X3B@0.@N-H$AP&B%"3B%MW@EN#$  N2-H * ! B%Y 2 bY-%02 -  N2%AB:B#$.%/@0AB3D-H 2@E2%Y@0  #$%3D$M.%


B@01%Y %%0AJ-%*
)%%Y@0#$- ?#.% . * K  L@EA3D-H 2 . * K  0*
Yww: M|4 # w5cFz %% FzzD

}xy|m}0:Yww5 zFM|4}<zO,F

9->}

|B@?

\C 1%-4.%3B%MW@EN#$  N- +. &B%92%  23^- %  B%03^ d&B%$A3%0OY@EA3P2%M&2%-H%-+.%3B%MW@EN#$ZMW 2I . 3B-H #$@0 "&B-42%  234*
T&M/.%%J-"A 3%0MW@0NB#LMW I A 3%M&@0NB#  NB2-H =+A .$A@E  %AB-,*YT&MLH" e]. P - !65 R ; ..%J3B%MW@EN#$$-#k' 8 ) ; =
.%
 N- +-XIJ 10%3G%#@E&$1%d& c$&-  N2%AZ  -H$&$ A+*]T&M.%d3@0.@  bY-% -N } %--HMWNB##$ YA@E1@0.%3P& G&B%93%-H$2%3P2%  23B=E.%
3B%MW@EN#$  NB2-H X-L 2$IJ%3(MW 4NB 3@E&%Y@0AB3J&B%d 2$IJ%RL 3@0.M% [/-H$EAB@0#?-/%0IJ.&%03+*
T&M6&B%d  bY-%4$-@E#%@03B "  -$&$ A%03J AJ&B%d3B%-$2%03J2%  23(A .$AB@0  %A-e*
<w}

M|4 a w5cFz %% FzF|1`y|lw  }|

aww5My|4w ` }|9->} |1BM@?

)%&-b"B%.%4.%" 2 bY-%0+@EN. IJ@0.  @0#$# c@E  #$%0-%3B.-/. P].QP


$H*])%0%".% E@ N. ; 3B . *uKKU 2 %02. MW 43B%&@E#$-e*

>
 5uCYLI"H4LIIuII
<w}

M|4 a w5cFz %% FzF| w5yx <v"2zN{ED)}xB~

Yww:B{|4}z9

)%&-b"B%.%4 NAB3@E2  B%  KAB$-@  &$1%Y. P]. P]e* )%%"&B% NAB3@0 


B%  K$A . *KKQ 2 %& dMW 43%0&@E#$-,*
<w}

M|4 a w5cFz %% FzF|4vYw:xH t

vYMxB{z

aww:{w:xH

9->}

|1BM@?

)%&-cbYB%&B%"&B%F 2 bY-H%  A?2IJ-  @0A  %#X %@0. AB-Y& EL9H*()%%&B%  A?2IJ @0A  %#$- . +*tKKG 2 %& FMW 
3B%.@0$#-e*
<w}

M|4 a w5cFz %% FzF|4vYw:xH t zzF|4z

aww5{Mw5xH

9J>}

|1BM@?

)%&-b"B%.%4.%" 2 bY-%0  A?2IJ-/3B%#$%&$ A-& JEL*)%%Y.%  AMBI$L%0#%.% . *uKKU 2 %02. MW 43B%&@E#$-e*
<w}

M|4 a w5cFz %% FzF|4vYw:xH t }|4

aww5{Mw5xH t

9C>J<}

|1BM@?

)%&-b"B%.%4.%" 2 bY-%0  A?2IJ-/%03$ %@0. AB-X& JEL*)%%Y.%  AMBI ; 3B.- . *KKU  %& dMW 43%.@0$#$-,*
<w}

M|4 a w5cFz %% FzF|4vYw:xH t

[xBFz |

aww5{Mw5xH t

9->J<}

|1BM@?

)%&-b"B%.%4.%"3@0.@c 2 bY-H%  AMBIJ-/AB-%02. AB-/& JH0L*)%%Y.%  A?2IJTWAB-%02 . *K  Q  %2. "MW 43%.@0$#$-,*
<w}

M|4 a w5cFz %% FzF|4vYw:xH t $


A M|4z

Yww5T{w5xH t

9C>}

|1BM@?

)%&-b"B%.%4.%" 2 bY-%0  A?2IJ-/NB 3@E&%0-/& (EL*])%%Y.%  A?2IJRQ 3@E&% . *K  Q 2 %02. dM& +3B%.@0$#-e*
<w}

M|4 a w5cFz %% FzF|1y}J|4z ) {w:xBu| 5| }xB~

M HJ|4z 9

)%&-&B%"3B@0.@c 2 bY-H%2 -B#$&%0+. )e$&x*])%%Y.% ?#$&% . *K  L  %& dMW X3%0&@E#$-,*
<w}

M|4 a w5cFz %% FzF|1w t/) "=:Jw

9->}

|1BM@?

)%&-d&B%^  bY-% -~3B%MW@EN#$/MW I . 7kE* ! B%  N2-H ~@0AB3 @0#$#


AB@01$@0. A @EA3 3B@0.@JIJ@0AB NB#@E&$ A M&NA  &$ A-&B@0/.%
 bY-%4  1$3%-/ %  IJ%"@01@E#$@0 #$%c& ^&B%N7}E*
<w}

M|4 a w5cFz %% FzF|4az xyJ

Yww:@{|4}zR9C>J<} |1BM@?

)%&-b"B%.%4.%" 2 bY-%0+$-%@03B A#$ Y& J]. P]e*)%%Y&B% 2 %@E3 7 AB# . *K  U  %& dMW 43%.@0$#$-,*
<w}

M|4 a w5cFz %% FzF|4w |

{w5xBu| :| }xB~ }Ju|

Fw |19

)%&-&B%"3B@0.@c 2 bY-H%2 -X- 6& "k0HH*)%%Y&B% -  . *K  Q  %2. M& X3%.@0$#$-,*
<w}

M|4 a w5cFz %% FzF|4w |

{w5xBu| 6=5[x z

Fw |9

! B--L@0AJ 1%# @E3%3(IJ%IJ %0+M&NA  . AB=  13B%3(MW   AB1%AB%A  %B* TW %B@01%0-X%--H%AB&$@0#$# G#$KE%Y.%"@0 1%YM&NA  &$ A+*
)%&-&B%"3B@0.@c 2 bY-H%2 -X- 6& P&B%d>)]#T&A3%0O~k0H* ! G@E  #$ Y&B%"AB%b -H 2.= N-H%Y2%M&2%-H[0*

>
 5uCYLI"H4LIIuII
<w}

K 


M|4 a
* { Fw :0 Yww5BMy|4w:zFz|4zO,
w5cFz %% FzF|46=5v Fw S) "=:v Fw D
F 9->J<} |1BM@?

)%&-~.%^3%M&@0NB#  N2-H QN-H%3 ^.%^3@0.@( 2 bY-H%L. CHWk0x*XT&M4].d"e$.U- !65 R ; ..%^3%M&@0NB#X$-y}' 8 ) ; =Z.%G3B@0.@


 bY-%c.@0K%-^ b"AB%2-H$ M~&B% kEY  $A.%$=LbY  b"$#$#L %3%0#%.%3 bYB%A &B%a 2 bY-H%Y-P3%-H.2 %3B=L Gb"B%A
-H%.)]# N-  [$-  @E##$%3a@0@0$A+* ! D@  &$1@E&%P&B%(HWk0LNB-%(2%0MW2%0-@[0* ! %  NB2-H 2 -~%03$+ NBMWM&%L$-9NB-%3$Aa&B%^3B%MW@EN#$
M& 2I & ^ 2 bY-H%d@EA3D%3B6%  3-e*
)%%Y@0#$- (-H#$
NB2-H u [`. * K  =MW I [a. *  Q@EA3J-H%[ e 2I [#. * K  0*
:| }xB~ }Ju| M|4 a w:cFz %% Fw |

) 9%{w:xBu|

5 %&NB2AB-/&B%d3B@0.@c 2 bY-H%2 -X-  *])%%Y&B% -  . +*K  Q 2 %2. M& +3B%.@0$#-e*
6=5v Fw

M|4 # w5cFz %% =5v Fw S) o


9 {w:xBu|

5 %&NB2AB-/@c  $A.%4& P&B%d3B%MW@EN#$  NB2-H XN-H%3JMW 4AB@01$E@E&$ A=B   M6.%%d$-/AB ^3B%MW@EN#$  NB2-H |*
)%%Y@0#$- (-H%&)#$
NB2-H u [`. u* K  0*
<w}

M|4 a w5cFz %% y M|4z

) 9J>}

|1BMBuw:|
?

0%2M& 2IJ-/@EAJN 3B@0.%" %2@E&$ A( AJ&B%d3B@0.@c 2 bY-%02 -  N- *


T&M6&B%2%"$-/A P3%M&@0NB#  N- X XAB ^3B%MW@EN#$6MW 2IJ=A .$AB@0  %0A-e* 7 .%b"$-H%= &B%YMW #$# bY$AGB@0  %A-
T&M9.%3@E&@  bY-%c$-G@  .10%# a$A-H%&$A @ 2%  2^3 .-H%%a$A-H%2" ["=L.@E92%  23 $-G$A-H%&%3AB& &B%a3@E&@E @0-H%NB-$A
$A-H%& N2%A" [0* 7 .%02bY-H%=].%3B@0.@0 @E-%"-XNB 3@E&%03^bY$&(.%  N2%AB6MW 2IJ -43@0.@YN-HABN 3@0.% N2%A"[0*TWM?.%%$@EAD%2 +@0AB3#$AB^%0.%4@  . AB=@EA3#$% ; 2 u [/$-  @0#$#%34*


<w}

M|4 a w5cFz %% y M|4z w:yx

) 9J>uw5|G?

T&MB NBA3B@02 0
%  KAB[X$- !65 R ; =  %  KE-+&B%9 NAB3@E2 MB&B%  NB2%A?3%M&@0NB#  NB2-H  @EA3G%0IJ.-4-$EAB@0#$-/bY  ^AB3  @0.%
.%Y  -H$&$ AJ MZ&B%  N- *
Yww: M|4 # w5cFz %% y M|4zNv 4 zxy|

) 9J>}

|1BM w:|4z{|4z

5 %@03B- .%?%#$3-+MW I &B%93%M&@0NB#?MW I $A. c.%93B%MW@EN#$  N2-H 


@EA3P %MW 2IJ- @0A^N 3B@0.%9 A^.%~3B%MW@EN#$  N- *]TWMB&B%2%
$-UA D3B%MW@EN#$ M& 2I AB D3%0MW@0NB#  NB2-H =?A .$A(B@0  %0A-e*T&M
@0A%2 / k N2%3C3NB2$A(&B%N 3@0.%c A&B%3@E&@E @0-H%=
B@0AB3#$% ; 2 [L$-  @0#$#$%3F@EA3%k' 8 ) ; -Q2%0&NB2A%03+*ZT&M&B%cN 3B@0.%cbY@0-U-N } %--HMWNB##$=Z&B%  NB2-H $-L%MW%-B%3J@0AB3F%#  @0.%3
. P&B%dNB 3@E&%3J%  3= .%  NB2-H 2
B@0ABE%3@[L-H$EAB@0#$-%0IJ.&%03= @0AB3 !65 R ; $-%&NB2AB%3+*
)%%Y@0#$-  NB2-H  ._a3BE%.-bY$&J>i =M& 2I[#. +*  Q@0AB3D@EA3#$% ; 2 u[#. *  0*
<w}

M|4 a w5cFz %% }|4z }Jz

) 9C>}

|1BMuw5|G?

_2$.%-~&B%GM& 2IJ -U3B@0.@^. F.%^3%M&@0N#$  NB2-H 2 -~%03$+ NBMWM&%|*XTWM+&B%2%^-~AB F3%0MW@0NB#  N2-H U LAB F3B%MW@EN#$+M& 2IJ=6AB &BAB
B@0  %A-e*

>
 5uCYLI"H4LIIuII

J6o0"6
U

KK

(/b0"F ] E}P

Yww:My|4w  }|

! B- 2 %02. dB #3B-/bY%.%4.%" 2 bY-H%4@0N. IJ@0.  @0#$#$ c@0  #$$%-/%3B.-,*
! B%^3B%MW@EN#$X1@0#$N%PMW Q.$-9 2 %2. $- !65 R ; *_`%A.%PN-H%U %AB-~@0Aa$A-H%2. A Q@0AaNB 3@E&%^ A@JM& 2I.%02%G@E2%
.bY ^  --H #$%Y N  IJ%-b"B%AJ.% "A@E1@0.%c. G@0AB &B%42%  2@3 
3  .$-/ } N-/M6@EN. ; 3B6$- !65 R ;
.%"AB-% XN 3@0.%"-L-/ %2M& 2IJ%R
3  .$-/ } N-/M6@EN. ; 3B
- k' 8 ) ;
.%"AB-% XN 3@0.%"-L3$-  @023B%
)%.$-/ 2 %2.  -41@E#NB%cbY.J-%0&'+N. ; 3B" [/@EA3D%.$-/  %2.  -+10@0#$N%cbY.(@0NB& ; 3$ [0*
Yww:aw:yx v62`zN{ED)}xB~

! B- 2 %02. dB #3B-/bY%.%4 NBA3@E2  B%  KABG$-/@  &$1%B*


_`%A NAB3@E2  %  KE$AJ$-U@  &$1m% ..%G3%M&@0N#$[=6-$EAB@0#$-~@0%G%IJ$&.%3CAB3  @0.$AD.%  N2%AB+  -$&$ A M
.%G3B%MW@EN#$
 N- *
)%%Y@0#$- ( NAB3@E2M [Y. *  n0*
)%.$-/ 2 %2.  -41@E#NB%cbY.J-%0i 6 NBA3@E2  %  KE$A5 [Q@0A3J%.$-/  %&  -41@0#$N%cbY$&J NBA3@E2  %  KE$A5[0*
Yww:{w:xH t

vYMxB{z

! B- 2 %02. dB #3B-/bY%.%4.%" 2 bY-H%  A?2IJ-  @0A  %# %2@E&$ A-e*
T&M9.$-G  %2. - !65 R ; =X@0#$#  @0A  %#$-^IJNB-d %  AMBIJ%3 a&B%N-H%.2 NBE @`IJ%-H-@EE%a O..$-G %B@01$   @EA
%  @0ABE%03a P 10%23BABD&B%  A ?2IJ @0A  %#J[M&NA  &$ A= &B%2bY$-%P@0#$#  @0A  %#$- k N~$IJIJ%3B@E&%#$ }* ! B%^3B%MW@EN#$/$k' 8 ) ; *
)%%Y@0#$-  MA BI ; 3B.)- . * KKL@EA3  A ?2IJ
@EA  %S# [`. *  n0*
)%.$-/ 2 %2.  -41@E#NB%cbY.J-%0& A ?2IJ
@EA  %#- [Q@0A3J%.$-/  %&  -41@0#$N%cbY$&  A ?2IJ
@EA  %#-[0*
Yww:{w:xH t zzF|4z

! B- 2 %02. dB #3B-/bY%.%4.%" 2 bY-H%  A?2IJ-3%#$%. AB-,*


T&M6&B- 2 %02. $- !65 R ; = .%" 2 bY-%0  A ?2IJ-/3B%#$%&$ A-H= .%bY-H%d3B%#$%&$ A-@0  %A(IJIJ%03$@0.%# }*
)%%Y@0#$-  MA BIJ
@EA  %0##- . +* KK=  A ?2I ; 3$.)- . * KK=  A ?2IJRQ 3B@0.T% . * K  =  A ?2IJTWAB-%02 . * K  Q@EA3
 A ?2I ; 3$ [Y. *  n0*
)%.$-/ 2 %2.  -41@E#NB%cbY.J-%0& A ?2$I Q%#%0&M% [@0A3J%.$-/  %&  -41@0#$N%cbY$&  A ?2$I Q%#%0&M% [0*
Yww:{w:xH t }|4

! B- 2 %02. dB #3B-/bY%.%4.%" 2 bY-H%  A?2IJ-%3$6 %@0. AB-,*


T&M6&B- 2 %02. $- !65 R ; =]&B%Y 2 bY-%0  A ?2IJ-X@E##B%3$ %@0. AB-).AB-%02. AB-=NB 3@E&%0-/@0AB3J3%#$%. AB-L= .%bY-H%d@E##
%03$X %2@E&$ A-UB@0  %0AC$IJIJ%3$@0.%#$ }*/ A?2IJ@E&$ A-~@  $%1%03 ^ 2%0-%AB&$AJ.%^N-H%UbY.@PIJ%0--H@0%^ O .$ %0@010   @0AJ %  B@0A%3J Y2%0IJ #$%IJ%AB&$AG&B%  A ?2I ; 3$ [LMWNA  . AB=

>
 5uCYLI"H4LIIuII

K 

)%%Y@0#$-  AMBI ; 3B"[#. *  n=  A?2IJ


@EA  %#-Y. *KK=  AMBIJTWA-H%. *K  =  A?2IJRQ 3B@0.%T. *K  U@0A3
 A ?2$I Q%#$%&%$. *KK0*
)%.$-/ 2 %2.  -41@E#NB%cbY.J-%0& A?2I ; 3$&-[@EA3J%.$-/ 2 %2.  -41@E#NB%cbY.  AMBI ; 3B.-[0*
Yww:{w:xH t

[xBFz |

! B- 2 %02. dB #3B-/bY%.%4.%"3@E&@c  b"-H%  AMBIJ-XAB-%02. AB-,*


T&M6&B- 2 %02. $- !65 R ; = .%" 2 bY-%0  A ?2IJ-/$A-H%&$ A-H= .%b"$-H%d$A-H%2.$ A-/B@0  %0AJIJIJ%3B@E&%0# }*
)%%Y@0#$-  MA BIJ
@EA  %0##- . +* KK=  A ?2I ; 3$.)- . * KK=  A ?2IJRQ 3B@0.T% . * K  =  A ?2$I Q%#%0&% . * KKQ@0AB3
 A ?2I ; 3$ [Y. *  n0*
)%.$-/ 2 %2.  -41@E#NB%cbY.J-%0& A ?2IJTWAB-%02" [/@0AB3JE%
&B-/ 2 %& 0 -X1@E#NB%"bY$&  A ?2IJT&A-H%2" [0*
Yww:{w:xH t $
A M|4z

! B- 2 %02. dB #3B-/bY%.%4.%" 2 bY-H%  A?2IJ-N 3B@0.%-,*


T&M6&B- 2 %02. $- !65 R ; = .%" 2 bY-%0  A ?2IJ-/NB 3@E&%0-= .%02bY-H%"N 3B@0.%-X@E  %AJ$IJIJ%3$@0.%#$ }*
)%%Y@0#$-  MA BIJ
@EA  %0##- . +* KK=  A ?2I ; 3$.)- . * KK=  A ?2IJT&A-H%2 . +* K  =  A ?2$I Q%#$%&$% . u* KKQ@EA3
 A ?2I ; 3$ [Y. *  n0*
)%.$-/ 2 %2.  -41@E#NB%cbY.J-%0& A ?2IJRQ 3@E&M% [@0A3J%.$-/  %&  -41@0#$N%cbY$&  A ?2IJRQ 3@E&M% [0*
:| }xB~(HJ|4z

! B- 2 %02. dB #3B-/&B%d3B@0.@c 2 bY-H%2 -B#$&%0|*


! B9% B#$.%@0  #$%-P& .%a3B@0.@ -B bYA$A.%a 2 bY-H%* 
@0#$#U2%M&2%-H[^& @E  #$ &B%aA%b?#.%*'c?#.%$-P@ -H&AB
 A.@0$A$A^@)> 8 _`< ;?5+;  #@EN-H%cbY. NB&B%d_`< ;?5+; KE% 0b" 3= %B* 6* $3 , = AB@0IJ% 8 TUT ; 'NF *
! B%2%"$-A P3%0MW@0NB# B#$&%0|*
)%%Y@0#$- (-H 2 . * K  0*
)%.$-/ 2 %2.  -41@E#NB%cbY.J-%0i  $#.% [/@0AB3DE%0&B- 2 %02.  -41@E#NB%cb"$.T ?#$&% [0*
Yww: zN xyJ

! B- 2 %02. dB #3B-/bY%.%4.%" 2 bY-H%4-/%@03B A#$ }*


! B%Y3%M&@0N#$$- }' 8 ) ; =|* %B* 3B@0.@  @EAJ %"%03$&%34*TWM6.%Y3@E&@Y  b"-H%4$-2%0@03W A#$ =A P3@E&@E @0-H%"%03$&-/bY$##B %Y@0#$# bY%34*
)%.$-/ 2 %2.  -41@E#NB%cbY.J-%0 5 %0@03 7 A#$M [@EA3J%.$-/ 2 %2.  -41@E#NB%cbY.J- 5 %@E3 7 AB#t [0*
:| }xB~ }Ju|%Fw |

! B- 2 %02. dB #3B-/&B%d3B@0.@c 2 bY-H%2 -X-  *


! B%(3@0.@J 2 bY-H%2 -~- X@0M&MW%  &-~.%( 23B%UAabYB  a2%  23-@02%P1$%bY%3a$A &B%^  bY-%*U @0#$#
2%0MW2%0-@[9& @0  # (.%
AB%b -H 2*
_`%A`2%.2$%1$A.%J-H 2 2 %& =+@F-H.2$A#$-U$-d%.N2AB%3 $A .%DM& 2I ?%#$3AB@0IJ%J 23B%2 = %?* 6*c 3`' )X = -NB2AB@0IJ%
; )X$*
! B%2%"$-A P3%0MW@0NB#
-  *

>
 5uCYLI"H4LIIuII

)%%Y@0#$- ?#.%. *K  L@EA3D%MW%-@[). *K  0*


)%.$-/ 2 %2.  -41@E#NB%cbY.J-%0&) [@0A3FE%
&B-/ 2 %& 0 -41@0#$N%YbY$&J-H 2"[0*

K p

! B%Y>L@E&@ ! @E #%  #$@0-H-  13B%-/@`?%O0$ #$%")> 8 .@0 #$%"bY$3%.@E6-NB   2.-/  b"-H$A@EA3J%3B.ABZ*
! B-  #$@0-H-$- @E26 M6.%"}?BIJ 3BN#$%B*
T&AB%2$&-> ! @E #%$._a3BE%0&-Lb"$.J>9i0*
#include <qdatatable.h>

J _ .:: , 0# _ 0d5X
U E Bp0>9_a3BE%0:c @0%A  =  A-H  B@0@cA@EIJ%o  
U E Bp 0>9)]# N-   N2-H $= # @0NB& FE N#$@0.%oV}' 8 ) ; =>9_a3BE%0Y @0%A  =  A-H  B@0YA@EIJ%o

[
U 0 ?p
1$2.N@E#1 $3J Z?+?p6%   AB-
>9).2$A B%#$3SU@EIJ%=  AB-
>9).2$A #$@0 %0#>)&ABZ ANB##$=ZABbY3B&  =
 AB-
>9T  A)%5   A-H% >9T  A)% 4t
1$2.N@E#1 $3J]?+?p6 EN$A  # 
1$2.N@E#1 $3J}]+Bp6$ NBAB  #$=  A-H>9).2$A B%0#3BSQ@EIJ%=  A-H>9).2$A #@E %# >9).2$A5 k ANB##$=
$AbY$3.  =  AB->T  AB)%5   A-H% >T  AB)% 4t
>9).2$AG66pp0]]5 [  AB-
>9).2$AG6E] [  A-H
>9).2$AG& pkE]: [  A-H
Q@0.% e 2IJ@E?Z ]0? [  AB-
#e?
ZZp [  A-H
#e?
|6}]5 [  AB-
#e?
Z? a [  A-H
#e?
U]pa [  AB-
#e?
+ 6ep [  AB-
# 6?Up]# [  AB-
# 6?Z?p: [  A-H
>9).2$A
p]@ [  AB-
>9).2$A 8 -H
kB5 [  A-H
1$2.N@E#1 $3Pk]?p 6kB E>9)]# N-   NB2-H   = # @EN.F 0 NB#@E&$% Vk' 8 ) ; = # @0NB&F Q%#$%&% Vk' 8 ) ; 
>9)]#$
NB2-H  Y}?p 6kB [  A-H
1$2.N@E#1 $3J}] V~6pp0]]5   A-H>9).2$A ANB## ! %OE 
1$2.N@E#1 $3J}]]6]0]]M   A-H>9)&AB .2N% ! %OE 
1$2.N@E#1 $3J}], p}]0]]t   A-H>9).2$A MW@0#$-H% ! %OE 
1$2.N@E#1 $3J}]U ]0?   A-H: Q@0.% e 2IJ@EBM 
1$2.N@E#1 $3J}]+B ZZp 0 #  MA BI 
1$2.N@E#1 $3J}]+B |6k E #  MA BI 
1$2.N@E#1 $3J}]+B ZZ # 0 #  MA BI 
U

KNn

>

WXXYuHJISFH &IQ&III

1$2.N@E#1 $3J}]+B U]p])E #  AMBI


1$2.N@E#1 $3J}]+B + 6e]p0 #  A?2I
1$2.N@E#1 $3J}] 46BU]p])E # %A@E #%
1$2.N@E#1 $3J}] 46BZZp5 0 # @EN. ; 3B4 
1$2.N@E#1 $3J}]]pp]@   AB->)&AB ?#$&%F 
1$2.N@E#1 $3J}]?t   A-H>9).2$A 8 $-H: -H 2 
1$2.N@E#1 $3J}]?t   A-H>9)]#$TWA3B%`O -H 2 
%ABNI ]. % 5 %M&2%-H Q@0.@  = 5 %MW%-B
#$NIJAB-#  = 5 %MW%-H'+##N 
1 $3J]&] $ 5 %MW%-HPIJ 3B@% 
1$2.N@E#1 $3J}? ?p6 E$A  #= #@0-  %AB3$A !65 R ; = #bY #$% 5 bY-)^}' 8 ) ;
1$2.N@E#>9).2$AG]5 $A
2 b4=$A  #   A-H
>@!Z@02$@0AB p6a 0AB
2 b4= $A  #   AB-
>9)]# 5 %  23 ce6]6 ]e?B [  A-H
1 $3Jp6} ppZZpB, e?Y 0>9)]# ; 3B.  x@  & # cM 
1 $3Jp6} ppZ??]C $ 0>9)]# 2 %& 0\F@0T cI 
1$2.N@E#$A66+Bp [  AB-
1$2.N@E#$A66+B< [  AB-

J _ .:: ' .:(lX


1$2.N@E#1 $3
6$  A-H>9).2$AB-H&$= #  @E-%0)%A-H$&$1%=B # @  KbY@03-
1$2.N@E#1 $3J}? 4}e]6Zp5 `E$A  # 
1$2.N@E#1 $3J}?Uke]6?p5 E$A  # 
1$2.N@E#1 $3J]&][
U

' 1W

] .1X

1 $3Je6]6N6 5]E>9)# 5 %  23Y2%  23y


1 $3JZp]|6}]: 0>9)]# 5 %  3Tc NBM
1 $3JZp ZZ a E>9)]# 5 %  3" NBM
1 $3JZp]U]p]a 0>9)]# 5 %  T3 c NBM 
1 $3JB].B]|6}]5 >)]# 5 %  23 c NBM 
1 $3JB].B ZZ # E>9)]# 5 %  T3 c NBM 
1 $3JB].B]U]p]# >)]# 5 %  23 c NBM 
1 $3Je6}?N 6 5  >)]S# k 7 JIJ 3@% 
J6o0"610#X
# 6?Z?pbYB%&B%+&B%"3B@0.@c&@E #%"@0NB& IJ@E&  @E##$ c@0  #$%-L%3$& #e?
+ 6ep  bYB%&B%4&B%d3B@0.@c&@E #%  A ?2IJ-  @EA  %# %02@0.$ A #e?
U]p b"B%.%4.%"3@0.@c.@0 #$%  A ?2IJ-/3B%#$%&%" %@0. AB #e?
ZZp  bY%.%4.%"3@E&@c.@0 #$%  A ?2IJ-%3$6 %@0. AB #e?
|6}]! b"B%.%4.%"3@0.@c.@0 #$%  A ?2IJ-/$A-H%6 %2@E&$ A #e?
Z?   bY%.%+.%Y3@E&@c.@0 #$%  A ?2IJ-/NB 3@E&%Y %02@0.$ AQ@0.% e 2IJ@E?Z ]0? !  &B%dM& 2IJ@06B b 3B@0.% [&$IJ%"1@0#$N%-L@0%d3B-H #$@0 %3
>9).2$AG& pkE]  .%"&%0O06N-H%3D. G% %-%0A6MW@E#-H%Y1@0#$N%0>9).2$A
p]"  .%Y3B@0.`@ B#$&%0+M& 4&B%"3B@0.@c&@E #%
U

K 

>

WXXYuHJISFH &IQ&III

>9).2$AG66pp0]]$ .%Y.%O06NB-%03J& ^2% %-H%A6SUR 8E8 10@0#$N%$A66+BpZ &B%dABNIJ %X M  #$NIJAB-$AD.%"&@E #%]Ee 
$A66+B &B%"ABNIJ %X MZ b"-AJ.%Y.@0 #$% HG0e 
>9).2$A 8 -H
kB$  &B%Y3@0.@c.@0 #$% -X-H 2
>9).2$AG6E]$  .%"&%OE6N-H%3J. ^% 2%0-%AB6&N%"1@0#$N%0-

J6(l0dL40" , 0a _ 0"5X
1$2.N@E# # p6}]+6]6[
1$2.N@E# # 6ZZ +6]6 [
1$2.N@E# # Z]p]+6]6t [
1$2.N@E#>9)]J# k  A ?2I eB ?Zp:0>9)]#SZ 7 JI
1$2.N@E#>9)]J# k  A ?2I eB  6e]lE>9)#Jk 7 JI
1$2.N@E#1 $$3 6 6ZpZ?   A-H>9)]# ; 2 @ @% 
1$2.N@E# # ?l p6.6k]5 [
1$2.N@E#>9_a$3%: Y?l p ZZ a E$A b4=AB  #$= #% #$@  %
$Ap6Z][ 5 0NBAB   AB-
1 $3J]}] [
1 $3J}]] \0a E>9)]#$
N-  c-H]# 
1$2.N@E#1 $3JZ p6p]po 0> @0$A.% c =  A-H>9)#  $%#$3 `?%#$3=  A-H> 5 %  5  = # -H%#$%  .%3
1$2.N@E#$A p 4p 6]6:   A-H>9)]#  %#$$3 `?%#y3 
U

d ] 1.10"

Q 0

Q 0aX

L61D:(

! B%Y>L@E&@ ! @E #%  #$@0-H-  13B%-/@`?%O0$ #$%")> 8 .@0 #$%"bY$3%.@E6-NB   2.-/  b"-H$A@EA3J%3B.ABZ*
>)L@E&@ ! @0 #$%"-NB   2.-/1@E2$ N-/M&NA  . AB-/MW 4 %-%0A.AB@0AB3D%3$.AB)> 8 3B@0.@cMW I @c>9)]#$
NB2-H /AJ@G&@E #%B*
T&M6  NJbY@0AB@c& P %-%0A6  NBX3@0.@c$AJ@MW I N-H%Y> Q@0.@ 62 bY-H%$= XM& 42%@E3 AB# cM& 2IJ-H= >L@E&@1!/%b9*
_`%A3$-H #@E $A 3B@0.@0=)> L@E&@ ! @0 #$%a A#$ 2%.2$%1%-^3@E&@ MW ^1-H$ #% 2 bY-e*TWM.% 32$1%P-HN   &-P.% NB%2 `-r,%
2 %& .%> L@E&@ ! @E #%bY#$#B@01%.%  2%  ~ABNIJ %Y M~ b"-c@EA3 .%1%&  @E#/-  2 #$#$ @0cbY#$#@ } N2@E&%0# 2% B%  
.%PANBIJ %U M42 bY-~3$- #@E %3a$A 2  &$ AC. F.%PANBIJ %U M  bY-~Aa.%P3@E&@E-%*LTWM4.%G3B2$1%U3 %0-~A X-HN   
.%G ]N% c- r,%0 2 %& Y b"-L@0%3 AB@0IJ  @E##$ GM&%  %3FMW2 I .%c3B@0.@0 @0-H%c AF@EAF@E-AB%%3B%3F @E-$-LbY$&C&B%c-  2 #$# @E
%  IJ$ADIJ %^@ } NB2@E&%P@0-9.%PN-H%U-  2 #$#$-93 bYA&B2 NBE.%P2%  23-e* ! $-9@0#$#$ b"-%O0.2%IJ%0# ^#@E2%P]NB%2$%-9. F %
3B-H #$@0 %03D@0-/]NB  KE#$ c@0-L  --H$ #%=b"$.JIJABIJNBI IJ%0IJ 2 "N-H@0%B*
>)L@E&@ ! @0 #$%(AB%.-9> ! @0 #$% -~' T/@EA3 %0O0.%A3B-~Lb"$.aMWNA  . AB-. C-H 2X@EA3 ?#$&%~.%P3@E&@F@0A3a-H 2  #$NIJA-e*d)%%
-H%.)]# N-  [=-%0i  $#.% [= -%.)  [=]-H%&) 2.AB [=-H 2.
#$NIJ@A [@EA3D%MW%-@ [0*
_`%A3$- #$@0 0AB %3B.@0 #$%  N- -=  %##L%3$.AB bY#$# %%AB@0 #$%3+* [e "IJ 2%ABMW IJ@0. A A %3B.@0 #$%  NB2-H 2-H=Q-H%%
>)]# N2-H  0* > L@E&@ ! @E #%  @0AP %9N-H%3G. cIJ 3$MW %O0$-.$AY3@E&@"@0AB3G. c@033^A%b%  3-e*E_ %0A^@dN-H%
IJ@EKE%-  @0ABE%0. am@ B%#$3 $A &B%J&@E #%=X.%  N-  -"%3$Q NMWM&%9$-YN-H%3+* ! %D.@0 #$%DbY$##4A Q-H%A3  B@0A%-Y$A .%D%3BQ NM&MW%& a.%
3B@0.@0 @E-%dNA.$#.%N-H%
IJ 1%0-+. c@3BM&MW%%A?2%  23GAP&B%92$3^  2%-H-H%- 5 %&NB2A4*
%#$# %3$.AB"$-4AB.$@0.%3G d 2%-H-HAB
  . 42$  #  KABG@EA3J.%A  #  KABG.%"@0  2 @E&%d  N PIJ%ABNJ.%$
I Q@0A3  @0A  %#$#%03J " 2%-H-$A ; -  *TWMZ&B%2%"$@G 2 #$%I N 3B@0.AB^ X@E33$A^3@E&@E=%2 2-@02%YB@0A3B#%03D@0NB& IJ@E&  @E##$/ .-H%%Y@0AB3#$% ; 22  [.  @EA%c&B- %@E1 L 0*
SU .%Y&B@06$M6@0N. ; 3$ [L- }' 8 ) ; A@010@0.ABG. ^@EA .%4%  3PbY$##  @EA  %0#.%"AB-% 4N 3B@0.%B*
! B%dNB-%0  @0AJ %@E-K%3(.  MA BI@0#$#%3B.-XbY.P-%.
MA BI ; 3B.- [0l* e  IJ % %  $-%  AB& # N-H%d-H%.
A ?2IJT&A-H%2" [=
-H%.
MA BIJRL 3B@0.M% [=6-H%& A ?2$I Q%#$%&t% [~@0A3-H%.
A ?2IJ @0A  %#$- [0*QRQ-H%^-H%.' NB& ; 3$ [&  A.2 #6.%P %B@01$ NU M
.%".@0 #$%"bYB%A(&B%dNB-%4%3B.-/@Y2%  23(@EA3(&B%A(A@E1@0.%-eN* .SU .%.@E6-%.'+N.F L%#$%.M% [X$-/NAB2%#$@0.%3 s $$-/N-H%3J. G-H%
bYB%&B%4&B%Y>9)]# N- X$-3B%#%0&%3(bY%0AJ&B%d.@0 #$%Y-/3B%#$%&%03+* 



>

WXXYuHJISFH &IQ&III


)A  %.%c3B@0.@G.@0 #$%  @0AC %MW 2I %3B.-=?$


IJN-H+ %c@0 #$%& (NBA$NB%#$ G$3%AB&$MW c%10%2 c%  3D- (.@E
%3B.-L@E2%  22%  .#
@E  #$%03+* 6%  @EN-H%P M+.$-~&B%GNAB3%# 0AB  NB2-H QIJNB-XB@01%^@(1@0#$3a 2$IJ@02 ^AB3%O(. D%AB-NB2%P&B@04@(NA$]N%(2%  23$$A-H%&%3B=N 3@0.%3J 43%0#%.%3(bY.$AD.%"3@E&@E @0-H%" .%02bY-H%"&B%d3B@0.@0 @0-H%YIJ@0 Y %  B@0A%3J. ^@EAJA  AB-$-.%AB-.@0.%B*
>)L@E&@ ! @0 #$%  %@0.%-%03$& -9N-HABC.%J3B%MW@EN#$/>9)]# ; 3B.  x@  &  }#* L$MWM&%2%ABX%3$. ~MW@  & %0-  @EA %(N-H%3  @0#$#$A
$A-H.@0#$# ; 3$& L k@  . 2M [0*9'  %& PIJ@0 $-N-H%3 . IJ@0  %.b"%0%Aa&B%  %#$# -1@E#NB%J@0A3 &B%P%03$& *~ N  @0A NB-%J 0 N
bYAJ  %& "IJ@0 (bY.J$A-H&@E## 2 %2. \F@EN [0*
! B%  AB&%0A.-d ML@  %0##4$-"@E1@0$#$@0 #$%F@0-Y@C>9).2$AbY. .%O0" [Y 9@0-Y@@> !?@E2$@0ABLbY$&`1@0#$NM% [0* ! %  N2%ABL%  3 $%.N2AB%3J  N2%AB 5 %  3 [0*ERL-H%Y&B#% ?A@3 [M&NA  &$ AJ. ^-H%@0  JM& +@c-H.2$AG$AJ.%Y&@E #%?*
; 3$.ABG@  &$ A-  @EAJ %"@E  #$%03D 2 2@EIJ@0.  @0#$# }* e 4%O0@EIJ #%0=&B%YAB-%& N2%AB [LMWNA  . AF2%@E3-/.a% B%0#3B-MW I .%
 N2%ABB%  3cAB& c.%  N2-H 
@EA3^ %2M& 2IJ-.%~$A-H% * ! B%UN 3B@0.%
NB22%0A" [+@EA3^3%#$%.%
NB22%0A" [ M&NA  &$ A-+ %MW I
-H$IJ#$@0# . GNB 3@E&%Y@EA3J3%0#%.%Y&B%  N2%AB2%  23P2%-H %  &$1%#$ }*
 #NBIJA-($A.%&@E #%  @0A %  2%0@0.%3 @0NB& IJ@E&  @E##$ @0-H%3 A &B%  N- m .-%%a-H%.)]# N-  ["0* 
#$NIJA-  @EA %
IJ@EA$ N#$@0.%3DIJ@EANB@0#$# cNB-$AP@03B3
#$NIJ@A [=2%0IJ 1%
#$NIJ@A [@EA3D-H%.
#$NIJA [0*
! B% .@0 #$%a@0N. IJ@0.  @0#$#$  %-PIJ@0AB M.%a 2 %&$%- Md&B%  NB2-H G. M& 2IJ@E.%a3$-H #@E M93B@0.@ bY$&BA  %#$#.@E#$AIJ%AB&=/10-H $#$. =/%  * 0* ! %  N-   @0A` %  B@0A%3 bY. -H%&)#$
NB2-H u [0* ! $
% ?#.%T .-H%%J-H%[  #$&%0u [""@0A3`- 
3B% ?A%3Cb"$.$AC.%.@0 #$%@E2%NB-%3$A-H&%@E3F M &B% B#$.%@EA3-  -H%+ AF.%  N2-H * e - &$A( . AB-L-H%%-H%.) 2" [=
-H 2.
#$NIJ@A [=-H 2.' -  %AB3$A5 [L@EA3J-H 2[ L%0-  %A3BAB [0*
! B%(&%OEXN-H%3 . F% 2%0-%ABXSUR 88 = !65 R ; @EA93 }' 8 ) ; 1@E#NB%-  @0A %  B@0ABE%3abY$&a-H%.SUN#$# ! %O0" [=
-H% ! N% ! %O0" [~@0AB3
-H%[ k@E#-H% ! %O0" [%- %  .10%# }*  N  @0A  @EA%Y&B%d@E  %@E2@0A  %Y M  %#$#$- Y2%$IJ #$%IJ%AB&$A @0$A[  %#$3 [0*
_`%AB%1%Y@aAB%b2 b -G-%#$%  &%3$A &B%C.@0 #$%&B%  N2%A.
B@0ABE%@3 [G-HA@E#$-G%IJ$.&%34* ! % 2$IJ%TWAB-%02" [-$A@0#
$-G%0IJ.&%03`bY%0A @0AAB-%029$-$A$&$@0.%3+* ! B%C 2$IJ%RL 3@0.M% [c@EA3 IJ% Q%#$%.M% [c-$A@0#$-P@02%%IJ$&.%3 bY%A NB 3@E&%
@EA3 3B%#$%&$ A @E2%a$A$&$@0.%3 %- %  .10%# }* }NB-d %MW %C.%3B@0.@0 @0-H%a$-GN 3@0.%3 @ -H$EAB@0#U-^%IJ$&.%3 s %0MW 2%0TWA-H% [=
%0MW 2%0RL 3B@0.M% [X X %M& 2% Q%#$%&t% [+@E-@E  2 2$@0.%B*
)%%Y@0#$- Q@0.@0 @0-H%"
#$@0-H-%-e*
,

0#

"

_ 0 @T%0

|l Mz

%% #z

(/b0"F ] E}P

Z zN2

! B-%ANBI 3B%-  2$ %-X.%Y2%0MW2%0-P . AB-,*


! B%  N2%AB&#$ Y3%?A%03P10@0#$N%-L@02%t
QDataTable::RefreshData Z%MW%-(.%Y3@E&@E=* %B* 2%@E3JM&2 I&B%d3B@0.@0 @0-H%
M ?%#$3-H=%B* Z*&B%  #NBIJAD%0@03$A QDataTable::RefreshColumns 62%M&2%-HP&B%"#$$- 5
M B%0#3B QDataTable::RefreshAll Z2%M&2%-H( &(.%"3@E&@c@EA3D.%"#$-H

,

0#

"('CF:(

_ 0

|l Mz

%%

M|4 z

PL%0dC ] :(
)

} ~zF|8*% zxy|-,/.10{Mw5xBu|/{32` %
* xB

z^,_.`9

 A-H&N  &-L@c3@0.@c.@0 #$%"bYB  J-/@  $#3F Mlj6]=bY$&J.%"A@EIJ%]^e*


|l M
z %% M|4 z ) 6=5v Fw *{ Fw 0:Yww:By|lw w5 yM|4z4,F
} ~zF|+*/ zy
x |-,/.10{Mw5xBu|%{E2 */B
x z^,/.`9

 A-H&N  &-L@c3@0.@c.@0 #$%"bYB  J-/@  $#3F Mlj6]=bY$&J.%"A@EIJ%]^N-HABG.%  NB2-H /WkEk*

>

WXXYuHJISFH &IQ&III


T&M9&1OB"j6e$."$- !65 R ; .&B%C3B%MW@EN#$~-`k' 8 ) ; =  #$NIJAB-@0%C@EN. IJ@0.  @0#$#  %@0.%3 @0-H%3N  A .%/B%0#3B-cA .%
HWk0X2%  23+*SU .%d.@E ]."OB1jZe$]&+ AB# c 1%A-/.%  %@0.$ AP M  #NBIJA- s & P#$ @03J.%  N-  -/3B@0.@YAB& P&B%Y&@E #%
NB-%c%MW%-H [0*
T&Md.% HWk0G$-P%@03B A#$ =.% &@E #% @E#-H %  IJ%-P2%@E3 AB# }* TWA @03B3$&$ A=d&B% &@E #% @03 &-P&B%  NB2-H 2 -^3B2$1%2 3B% ?A$&$ AJMW 42%0 2%-H%AB&$ASUR 8E8 1@0#$N%-L@0-/-H.2$A-,*
|l Mz

%%<

M|4 Mz

)9

Q%-H& -/.%" u.%  6@0AB3JMW2%0%-/@0AB Y@0#$#  @0.%3J2%-H N  %-e*


<w}

M|4 M
z %&% vaw:J x
5
| }xB~ %% y
x yJ@0}xy|`c} | 2a,

{Mw5xBu| :| } xB~ M H#zF N


z!0y{Mw5xBu| :| }xB~
cb0<{w:xBu| " {w:xBzF| M J} {Mw5xBFzF|d, "{w:xBz| )

M MYzF:,
919C>} |1BM@?

'+33B-4&B%9A%OE  #NBIJA(& c %93B-H #$@0 %03^NB-$Ac.%?%#$3"e@e"]PH=  #$NIJAP#@E %#e]0"e=]bY3B&#gc&@0AB3^  AB-%6E,kH*


T&@M e$]0" e-U-H %   ?%3=Z$ $-UN-H%3@0-U&B%  #$NIJAB -U%0@03%0#$@0 %#$=6 &B%2bY$-%c.B% B%#$3 -U3$- #$@0 ^#@E %#Z-UNB-%3bY%AC-%0&)]#$
 N-  [L$-  @E##$%34* ! B%YH0,k?$-/NB-%3F& ^-%
&B%d  ADNB-%03J ".%  #$NIJAF%@E3% s Y3%0MW@0NB#
&B%2%"-LA P  A+*
)%%Y@0#$- (-H%&)#$
NB2-H u [`. *  U@EA3J2%0MW2%0-@ [#. *  0*
; O0@EIJ #$%- ?-H]# [ 10%21$%bL[-HN  #$@0-H-  [IJ@0$A+*   =B-H]# [ 1%021$%bL[-NB  #$@0-H-  [IJ@0$A+*   =B-]# [ 1%1%0b[.@0 #$%  [IJ@EA4*  
@EA3D-H]# [-H]#.@0 #$% [IJ@EA4*   *
Yww: M|4 Mz

%% My|4w5zFzF|lz ) 9/{w:xBu|

5 %&NB2AB- !65 R ; $M.%~.@0 #$%9bY#$# @0NB& IJ@E&  @E##$ 3B%#%0&%~.%  N-  - %  B%3G 9-%0&)]#$
NB2-H u[=] &B%2bY$-%~%.N2AB-k' 8 ) ; *
Yww: M|4 Mz

%% My|4w

 }|

) 9%{w:xBu|

5 %&NB2AB- !65 R ; $M.%C3@E&@&@E #%C@0NB& IJ@E&  @E##$ F@E  #$%-c%03$&- s .%b"$-H%D2%.NA-Y}' 8 ) ; *B)%0%D&B% 0@ N. ; 3$ . * 
2 %& "MW 43B%&@E#$-e*
<w}

M|4 Mz

%&% Yz

6=5az{Mw t

w zFzzF|4z

*/ J
9 >F}J~txBM@?

! B-"-HA@E#X-Y%IJ$&.%3|N-HL %0MW 2%J.%  N2%AB&#$ D-H%#%  .%3 %  3 -Y3B%#%0&%3 MW2 I.%D3B@0.@0 @E-%B* ! %FEL7G @0@0IJ%.%
 AB&-/. P&B%d%3B
NMWM&%4 %$A3B%#%0&%34*]
ABA%  . ^.$-/-HA@E#. =MW 4%OE@0IJ #$%=   d-H IJ%Y M6&B%#?%#$3-/M& 4#@E&%XNB-%?*
<w}

M|4 Mz

%&% Yz

w z[xBFz |

"=5az{Mw

*% J
9 >F}J~txBM@?

! B-L-$A@0#Z$-%IJ$.&%3a|N-H %0MW 2%".%  NB2-H 2 -L%3$ NBMWMW%0X-QAB-%02.%3JAB& (.%Y3@E&@E @0-H%B* ! %0&7U @E2@EIJ%&%0X  AB&-L&
.%G%3$
NBMWMW%0/ %$APAB-%&%03+*Z AA%  +& (.$-L-HA@E#Z& =?MW /%0O0@0IJ #%=?  NB#@E&%c@^KE%0 B%0#3DbY$&C@GNBA$NB%-H%]N%A  %
ABNIJ %*
<w}

M|4 Mz

%&% Yz

w zA$ |lz

"=:#zN{w

*/ 9 >F}J~txBM@?

! B-4-HA@E#]-4%IJ$&.%3.N-H? %MW %~&B%  NB2-H 2 -+%3B? NM&MW%$-4N 3B@0.%3$A^.%3@0.@0 @E-%?* ! %0&7 @0@0IJ%.%  $A.-+& c.%
%03$ NM&MW%4 %$ANB 3@E&%03+*] AA%  
. G.$-/-HA@E#BbYB%AJ  NJbY@0AB& ^&@0AB-M& 2I &B%dNB-% -/3B@0.@c %$A3B.%-  %0A%-e*



>

WXXYuHJISFH &IQ&III
Yww: M|4 Mz

%% azN~}xB[xBFz

) 9->J<}

|1BM w5|lz{|lz

2 .%  .%3 1$2.N@E#4MWNA  . A  @E##$%3 b"B%A %03$&$A-Y@E NQ&  %A A @CA%b %  3+*cT&M.%J.@0 #$%D$-"%@03B A#$ =X 9$M
.%02% -XA  N- X 4.%  NB2-H X3 %-XAB @0#$#$ b$A-H%2.-H=A .$AB@0  %A-e*
; 3$.ABG.@0K%-/ #$@  %"NB-$A^&B%  N-  -X%3B
NMWM&%u.-H%%d>9)]# N- k %3B[6NM&MW%["0*
_`%A %3B.ABa %AB-=L@CAB%b2 b $-  2%0@0.%3 $A&B%D&@E #%CIJ@0KE%3`bY.`@EA@0-H&%-HK E$A`.%C2 bY -"1%&  @E#+B%@03B%
 #NBIJA=B|* %B* @E.%"#%M& MZ&B%Y2 b9*


} ~z|+* M|4 z

%% azN~}xA$

M|4z

}xy| w5`0<}xy|%{w5@0NYww5 zF @{zR9C>J<} |1BMy w:|4z{|4z

2 .%  .%31&NB@0#6M&NA  &$ A  @E##$%3abY%A%3B.ABD$-~@0 N4. F %$A A@EA%0O0$-.ABJ2 b9*XT&M4&B%G.@0 #$%^$-~2%@E3 AB# =
L$M
.%02% -XA  N- $=AB &BAB@E  %AB-,*
; 3$.ABG.@0K%-/ #$@  %"NB-$A^&B%  N-  -X%3B
NMWM&%.-%0%d>9)#$
NB2-H uk %3$i6NBMWM&%u["0*
H" g@0AB3C4 e2%M&%4& ^&B%Y2 b @EA3  #$NIJAFAD.%"> Q@0.@ ! @0 #$%B*
H[ j5e]H/$-/  13B%3(MW 42%0IJ #$%IJ%AB& -X@0AB3D2% ?%  &-X.%"N
' T MZ> ! @E #M% Z %A ; 3B" [0* 


6=5

%% vYw5xH

|l Mz

%% {w5xH

vYMxB{zF

6=5

%%

9->J<}

|1BMy w:|4z{|4z

2 .%  .%31$2.N@0#LMWNBA  .$ A "b B   2%0&NB2A-c@  A?2IJ@E&$ AMW   @0A  %#$#$A @0A %3BIJ 3% MC*L%02$1%3  #$@0-H-%0-  @EA
%$IJ #%0IJ%AU.$-cMWNA  . A .  13B%D.%$d bYA  @EA  %#X3$@0#$ Z* ! %C3%M&@0NB#U$IJ #%0IJ%A.@0. A N-H%-c@IJ%-H-@EE% O
bYB  J 2 IJ .-X.%YN-H%X.  AMBI.%  @EA  %#|*


Yww: M|4 Mz

%% {w:xH

vYMxB{z

) 9%{w5xBu|

5 %&NB2AB- !65 R ; M9.%3B@0.@ &@E #%  A?2IJ-  @0A  %#Q %@0. AB- s .%bY-H%2%.NA-Bk' 8 ) ; *6)%0%a&B%  AMBIJ
@0A  %#$-
. +*  U  %2. M& 43%.@0$#-e*
Yww: M|4 Mz

%% {w:xH

) 9%{w:xBu|

zFzF|lz

5 %&NB2AB- !65 R ; $M.%U3@E&@&@E #%  A?2IJ-3B%#%0&%U %@0. AB- s &B%2bY$-%U2%0&NB2A-N}' 8 ) ; * )%%~&B%  AMBI$L%0#%.% . * 
2 %& "MW 43B%&@E#$-e*
6=5

%% vYw5xH

|l Mz

%% {w5xH

t }|

"=:

%&%

9J>}

|By w5|4zN{|4z

2 .%  .%31$2.N@0#


MWNA  . AabYB  a2%.NA-9@  A?2IJ@0.$ AM& U@0Aa%3B/ M4IJ 3B%(* Q%2$1%3  #$@0-H-H%-  @0Aa2%0IJ #$%IJ%AB
.$-cMWNBA  &$ A& ` 2 1$3%C&B%$" bYA  AMBIJ@0. A3$@0#$ 6* ! B%F3B%MW@EN#$~IJ #$%IJ%AB&@E&$ AN-H%-c@aIJ%-H-@EE% Ob"B  
2 IJ .-X&B%YN-H%X&  AMBI.%"%3$@  . A4*


Yww: M|4 Mz

%% {w:xH

 }|4

) 9o{w:xBu|

5 %&NB2AB- !65 R ; M4.%P3@E&@(.@0 #$%  A?2IJ-U%3$X %@0. AB- s .%02bY-H%G%.N2AB-y}' 8 ) ; *)%0%^.%  A?2I ; 3$&- . * p
2 %& "MW 43B%&@E#$-e*
Yww: M|4 Mz

%% {w:xH

[xBFz |

) 9%{Mw5xBu|

5 %&NB2AB- !65 R ; $MZ&B%3B@0.@d.@0 #$%  A?2IJ-4AB-%02Z %@0. AB- s &B%2bY$-%2%.NA-@}' 8 ) ; *x)%0%.%  AMBIJTWA-H% . * p
2 %& "MW 43B%&@E#$-e*

>

WXXYuHJISFH &IQ&III
Yww: M|4 Mz

%% {w:xH



A M|4z
$

) 9o{Mw5xBu|

5 %&NB2AB- !65 R ; $M~.%3@E&@a.@0 #$%  AMBIJ-N 3B@0.% %2@E&$ A- s &B%2bY$-%%&NB2AB-}' 8 ) ; *Z)%%&B%  AMBIJRL 3B@0.%
. +* p U  %2. M& 43%.@0$#-e*
<w}

M|4 Mz

%&% {

zxy|4v62xB~z J) 6=5az{w t

zN{w t

9C>F}J~txB@?

! B-Q-HA@E#?$-Q%IJ..%3JbY%AB%1%/@GA%b2 b $--H%#%  .%3F$AD.%c.@0 #$%B* ! %HEG @E2@0IJ%0&%X  AB&-L& (.%  AB&%0A.- M


.%YAB%bY# Y-H%#%  .%3J2%  234*
6=5az{Mw t

M|4 Mz

%% {

9 {w:xBu|
zFxy|4az{Mw tC) o

5 %&NB2AB-@c  $A.%X. ^.%  NB2%A.# c-H%#$%  .%3J%  3=   $M.%%d$-LAB  N2%AB-%0#%  &$ A+* ! B%".@0 #$%Y bYA-.%Y  $A.%$=
-H P3 J0Z3B%#$%&%"$ X &B%2bY$-%"IJ 3$MW Y$ 4&B%  N- 4$  $A.-/.
*
<w}

M|4 Mz

%&% {

Fw v62`MxB~z J) "=:

%%

w zR9->F}J~txBM@?

! B-Q-HA@E#6-Q%IJ$&.%3FbYB%A%10%/.%  NB2-H %  3Jb"@E-  @EA%3F3BN%. (@0A%3$* ! %GP0Q @E2@0IJ%0&%-Q&B%.  %c M


%03$&B@0 |N-H. Kc #@  %B*
|lzFw

| M|4 z %% |lzFw

) 9o{Mw5xBu|

|

5 %&NB2AB-/&B%dM& 2IJ@E6 b 3B@0.% [.IJ%"1@0#$N%0-@0%Y3$- #$@0 0%3+*)%%"&B% 3 @E&%e IJ@0 . * p Q  %2. M& X3%.@0$#$-,*
) 9J>}

Yww: M|4 Mz %% zFz|4zv zFxy|

|B w:|4z{|4z

e  @0A^%3$&@E #%d&@E #%0=E$--HN%0-X@3%0#%.%9 AP&B%  NB22%0A  N-  -+ 2$IJ@0 9$A3%0OdNB-$Ac.%~1@E#NB%-X M.%  N2%AB&#$ -H%#$%  .%3
 b9*T&M.%%J-YA  N2%AB  N2-H  d&B%2%J$-YA  N2%AQ-H%#%  . AB=XA .$A@E  %AB-,*GTWM  A?2I ; 3$.-[Y   A?2
I$Q%#$%.%M[$- !65 R ; =  A?2I ; 3$[L-  @0#$#$%3D.  A?2I &B%"3B%#$%&%?* 5 %0&NB2A- !65 R ; $M6&B%"3B%#$%&%Y-HN k %%3B%3= &B%2bY$-%
k' 8 ) ; *
! B%UNA3B%2#$ $A  NB2-H 6IJN-H@E1%U@91@E#$3 IJ@E2 UAB3%O~. "%A-HN%~&B@0@~NBA$NB%92%  23Y$-
3B%#%0&%3cbY$&BAG&B%Q3B@0.@0 @E-%
.%02bY-H%Y&B%d3B@0.@0 @E-%YIJ@0 Y %  B@0A%3D. G@EAD$A  AB-$-H&%AB-H&@E&%B*


:| }xB~ M|4 Mz %%& MFz z |

) 9o{Mw5xBu|

5 %&NB2AB-/&B%d.%OE6N-H%3D. G2%0 2%-H%AB6MW@0#$-H%"10@0#$N%-e* )%0%".% &M @0#$-% ! %OE . * p U 2 %2. M& +3B%.@0$#-e*
}xy| M|4 z

%% H)z

`}J~tx

zxy|

{w5xBu| 6=5Jy}JzF

*-H)z 9J>}

|1BMy w5|4zN{|4z

5 %&NB2AB-/&B%d@E#$AIJ%AB
MW l"e$B*
:| }xB~ M|4 Mz

%% HJ|4z  ) 9%{Mw5xBu|

5 %&NB2AB-/&B%d3B@0.@`B#$.%XMW 4.%"3@0.@c.@0 #$%B*])%%Y.% ?#$&% . * p L  %& dMW X3%0&@E#$-,*

>

WXXYuHJISFH &IQ&III
<w}

 K

M|4 Mz %&% Hx J) {w:xBu| 5| }xB~


aww5Y@{EDc t
f9C>} |1BMuw5|G?

u| 5
0 aww5B{MFzNzxBF}|4}z!0

)%@0  %0-/&B%  N2%AB  N- 4M& +@  %##  AB&@EABAB&B%d-H.2$A9k.+-H&@E2.AB@0.%  NB2%A  %##@0A3JbY KE$AM& 2bY@03-. 
@  KbY@023B-~M/E&ggc]H:d- !65 R ; 0*ET&M .%^-.2$AD$-~MW NBA3B=&B%  %##  A.@0$A$AJ.%P-H&ABJ-9-H%4@0-~.%  NB2%A  %0##*LTWM
Hkk ,k. P]/-k' 8 ) ; .%  @E-%Y M k.+bY#$#? %d$EAB 2%34*
! B%G-H%@0  bY#$#bY2@E =6|* %B*/M4.B% ?2-Hy . L$M4 @  KbY@03-U- !65 R ; =?#$@0-Hi  %#$#6-~%@  %3bY. NB@BAB3$Ack.L&B%G-H%@0  
bY$##  AB&$ANB%dNBA.#$62%0@  B%-X.%-H.@02.$A  %##* T&M]k& $-/A 6M& NAB3P.%d-%0@0  (b"$#$#MW@E#@EA3(.%  N2%AB  %#$#bY#$#%IJ@0$A
NBA  @0ABE%03+*
<w}

M|4 Mz

%&% 2Mx

z w ) {Mw5xBu| 6=5 w -M

zR9J>} |By w5|4zN{|4z

2 .%  .%310&NB@0#UMWNBA  .$ A bY  $-  @0#$#%03bYB%A@EA%022 P(@E-P k NB22%03 A&B%  NB22%0A  NB2-H u[0* ! % 3B%MW@EN#$
$IJ #$%IJ%AB&@E&$ AJ3$- #@E -@cbY@0A$A^IJ%--H@0%c. G.%YN-H%XbY.J$AMW IJ@0. A(@E N.%"%2 |*


}xy| M|4 z

%% }x

z y $) B}xy|%}h9/{w:xBu|->J w5|4zN{|4z

5 %&NB2AB-/&B%d$A3B%Oc M6.%aB%#$3JbY.$AJ.%  BN 22%0A6)> 8 NB%2 Y.@E-3$- #$@0 0%3JA  #$NIJAC|*


Yww: M|4 Mz

%% }xBFz

|4v zFxy|

) 9->J<}

|1BMy w:|4z{|4z

e +@0AP%3B.@0 #$%.@0 #$%= $--HN%-X@EA(AB-%Z AP.%  N2%AB  N- +N-H$A.%d1@0#$N%-X$A(&B%  N2-H 2 -4%3$Z NMWM&%*0T&MB.%02%9$-XA
 N2%AB  N- U U.%%G$-9A  N2%AB $A-H%2 2 b4=AB &BABJ@E  %AB-,*LTWM  A?2I ; 3$&-[9   AMBIJTWA-H%[~$- !65 R ; =
 A ?2I ; 3$[L-  @0#$#$%3D.  A?2I .%"$A-H%2* 5 %0&NB2A- !65 R ; M6.%"$A-H%2-HN k %%03%3B= &B%2bY$-%"2%0&NB2A-}' 8 ) ; *
! B% NBA3%02#$ AB  NB2-H GIJN-Hc@E1% @ 1@0#$$3 2$IJ@02 `AB3%O`& %A-HN% .@0"@ NA$]N% 2%  23 -($A-H%2.%3b"$.$A .%
3B@0.@0 @E-%Y .%b"$-H%d.%Y3@E&@E @0-H%dIJ@E c %  @EA%3J& P@0AJ$A  A-H-H.%A -.@0.%B*


<w}

M|4 Mz

%&% }xBu|4MJ 

}|4w @{|lw

"=5  }|4w @{|4w 4*

T&A-H&@E##$-U@GAB%b)> 8 %3B. /M&@  . 2 N7E* ! B-Q%A@E #%0-.%cN-H%/.  %@0.%c@0AB3DAB-.@0AB&$@0.%.%$/ bYAD%3B. 2-LMW XNB-%$A  %#$#
%03$&$A6*"SU &%(.@0>L@E&@ ! @E #%(.@0K%-9 bYA%-B a MX.$-  AB&%$=
@EA3 bY$##+3%0#%.%(LbY%A $$-AB # ABE%A%%3B%3a 
bYB%AJAB-.@0#$# ; 3B. x@  &  M[$-  @0#$#%3F@0@0$A+*
)%%Y@0#$- (>9)]# ; 3B.  x@  &  . +*  0*
<w}

M|4 Mz

%&% }xBu|4MJ

w:`z |1M

"=5 w:z |:Mi*

T&A-H&@E##$-U@GAB%b 2 %& YIJ@E FC* ! B-Q%AB@0 #$%-.%cNB-%L&  2%@E&%Y@0AB3F$A-H&@EA.@E&%G&B% b"AF 2 %02. "IJ@E -M& /N-H%$A
 %#$#%3$.ABZ*SQ .%.@EZ> L@E&@ ! @E #%9.@0K%-X bYA%02-H$ G M?&B-X  $A.%$=]@0A3(bY$##3B%#$%&%d6bYB%A^$6$-XA G#$ A%4A%0%3%3P 
bYB%AJAB-.@0#$# 2 %02.\F@0 [$-  @E##$%3D@EE@EA4*
)%%Y@0#$- (>9)]# 2 %2. \F@E . +* , 0*
:| }xB~ M|4 Mz

%% xyyJ

z |

) 9o{Mw5xBu|

5 %&NB2AB-/&B%d.%OE6N-H%3D. G2%0 2%-H%AB6SQR 88 1@0#$N%0-,*)%%Y&B% A NB## ! %OE . * p  U  %& dMW 43%.@0$#$-,*

>

WXXYuHJISFH &IQ&III
}xy| M|4 z

%% xy



vaw:

) 9o{Mw5xBu|->}

|B@?

5 %&NB2AB-/&B%dABNIJ %X M  #NBIJA-$AD.%"&@E #%?* )%%".% BA NIJ


#$- . * p+ L 2 %& "MW 43B%&@E#$-e*
5 %IJ #%IJ%0A.%3(MW2 I> ! @E #o% ._a$3%.-bY.(>9[ 0*
}xy| M|4 z

%% xy

#w:c

) 9o{w:xBu|->}

|1BM@?

5 %&NB2AB-/&B%dABNIJ %X MZ b"-AD.%".@0 #$%B*])%%Y.% BA NI 5 bY- . * p  Q 2 %& dMW 43%0&@E#$-,*
5 %IJ #%IJ%0A.%3(MW2 I> ! @E #o% ._a$3%.-bY.(>9[ 0*
<w}

M|4 Mz %&% 


@}xy|4z /
@}xy|1y}JzF C) T
* j0{Mw5xBu| 6=5Jy}JzF
aww5Fzz{|4z 9C>} |1BM :
w |4z{|4z ?

*-H)zF 0 {w:xBu|

#zN{|

0@0$A.-Q.%N"e AD.%Y @0$A.%:jX* ! %Y @EAB&%@0-L@0#$2%@E3 c %%0AD&@0AB-#$@0.%3D. ^.%Y@E  2 2$@0.%  %#$# - 2$ACb"B%2%Y.%
$Y-L& ^ %d%A3B%2%03+* H43%-   %0-X&B%  %##  3$A@0.%-X$AJ&B%  A.%A  23BAB@0.%d-H -H&%I * ! %Qk"e$." @0@0IJ%.%4$$A 2%03+*
T&M/  N`b"@EAL& 3@0b  NB-. I-B%0#3  A.%AL  N B@01%J. 2%$IJ #$%IJ%AL @0$A[ $%#3@[Y& 3 .%  NB-. I 3@0bY$A6* ! %
3B%MW@EN#$$IJ #%0IJ%A.@0. A(%A3B%2-X.% 9" e$Y1@E#NB%Y@0-X.%O0*]TWMZ.a% B%0#3($-/SUR 88 =AN#$# ! %OE [L-/3B-H #$@0 %03JAJ.%  %#$#* TWMZ.%
?%#$3J
- 6 #%0@0A=&N% ! %O0" [/ 4MW@E#-H% ! %0O0" [/-L3$- #@E %3J@0-L@0  2 @E&%B*
; O0@EIJ #$M% ?-]# [ 1%1%0b[.@0 #$% K,[IJ@EA4*   *

"e

<w}

M|4 Mz

%&%

"=:#zN{w

zzFz|4z

*/ J
9 >F}J~txBM@?

! B--$EAB@0# -~%IJ$.&%3@EMW.%L.%  NB2-H U-9 2$IJ%3MW Q3%#$%.%^ P&B%^.@0 #$%=bYB%A@J3%#$%.%^@  . A$-9 %ABA$AF A.%
.@0 #$%B* ! B%P0&7" @E2@0IJ%0&%Q  $A.-~& C&B%G%3BX NBMWM&%L %0ABD3%#$%.%3+*L AA%  X. F.$-~-$EAB@0# Aa 3%Q& =
MW U%O0@EIJ #$%=
%  3(@0N3B.$APABMW 2IJ@E&$ A( AJ3%#$%. AB-,*
<w}

M|4 Mz

%&%

zN[xBFz |

"=:#zN{w t

*/ 9 >F}J~txBM@?

! B-~-H$EAB@0#$-~%IJ$&.%3@0MW.%Q&B%  N2-H Q-9 2$IJ%3CM& L$A-H%+ P.%G.@0 #$%=6bY%0A@EAAB-%4@  .$ A$-~ %ABA$AD A.%
.@0 #$%B* ! %^EL 7d @E2@0IJ%0&%  AB&-~. J.%G%03$+ NBMWM&% %$AJ$A-H%&%34*+
ABA%  X& D.$-U-$A@0#
A 23B%L. =ZMW Q%O0@EIJ #$%=
2$IJ%".%"2%  23( NBMWMW%0+bY$&J3B%MW@EN#$3@E&@c10@0#$N%-e*
<w}

M|4 Mz

%&%

zBA$ M|4z

6=5az{w t

*/ C
9 >F}J~txB@?

! B--$EAB@0#$-/%IJ$.&%3(@EMW.% .%  NB2-H 4-X IJ%03PM& 4N 3B@0.% Y&B%.@0 #$%=bY%0AP@EA(N 3B@0.%d@  . A($-/ %ABA$AG A(.%
.@0 #$%B* ! B%^0& 7 @0@0IJ%.%  AB&-U. J&B%G%3B+ NM&MW%L %ABJN 3B@0.%3+*+ AAB%  4. J&B-U-HA@E#A 23B%. =6MW L%O0@EIJ #$%=
2 1$3%Y-H IJ%d1$-HN@0#?MW%0%3 @  Kc.@06.%YNB-%X$-/$AD $A-H%6IJ 3%*
<w}

M|4 Mz %&%i z i zNN2

) 9->}

|Buw:|
?

5 %MW%-B%-Y&B%F.@0 #$%B* ! B%  N2-H "-%MW%-H%3`N-HAB &B%  N2%A ?#.%$=/.%  N2%ABQ-H 2.=@EA3 &B%  N2%AB&#$ F3B%BAB%3
 #NBIJA-e* ; ]N$1@0#$%AB&  @E##$$AP2%M&2%-HZ>)L@E&@ ! @0 #$%Mk 5 %MW%-HQ@0.@#0*
; O0@EIJ #$%- ?-H]# [ 10%21$%bL[-HN  #$@0-H-  [IJ@0$A+*   =B-H]# [ 1%021$%bL[&@E #%  [IJ@0$A+*   = -]# [ 1%210%bL[.@0 #$%  [IJ@EA4*   (@0A3
-H]# [-H]#.@0 #$% [IJ@EA4*   *

>

WXXYuHJISFH &IQ&III
<w}

p

M|4 Mz %&%i z i zNN2

az i zNN2

w z9

! B--L@0AJ 1%# @E3%3(IJ%IJ %0+M&NA  . AB=  13B%3(MW   AB1%AB%A  %B* TW %B@01%0-X%--H%AB&$@0#$# G#$KE%Y.%"@0 1%YM&NA  &$ A+*
5 %MW%-B%-G.% &@E #%B* T&M.%%a-(A  N2%AB&#$ 3B% BAB%3  N- .-%% -%.)]#$
N- ["=~A .$A@E  %AB-,* ! B% ^EE
@02@EIJ%.%43%.%2IJ$A%0-Xb"B  J& 0 %Y M?%MW%-HPbY$##B&@EKE%Y #$@  %B*
)%%Y@0#$- 5 %M&2%-H9 . *  =B-%0&)]#$
NB2-H u [a. +*  U@0AB3J@03B3
#$NIJ@A [Y. +*   0*
<w}

M|4 Mz %&%i z

w5zNvYw5J x

B}xy|%{Mw5k9->} |1BM@?

5 %IJ 1%-  #NBIJAF4e]MW I .%"#$-H


M  #$NIJAB-. ^ %"3$- #@E %3+*TWM
H e3B %-/A 
%O0$-.= A .$A^@E  %AB-,*
)%%Y@0#$- (>9)]# %0#3. * n0*
<w}

M|4 Mz %&%i zFzF|

) 9J>

w5|lz{|lz

5 %-%0&-/.%".@0 #$%"-H P&B@06$


3$-H #@E -AB G3B@0.@?*
)%%Y@0#$- (-H%&)#$
NB2-H u [`. *  0*
<w}

M|4 Mz

%&% Fz|1`y|4w5zFzF|lz )

Yww:zFxBMz9C>} |1BM@?

)%&-&B%  N- 4@0NB& W3%#$%.%a?@0G& J] e$e*]TWM


4e$- !65 R ; = &B%d.@0 #$%YbY#$#@EN. IJ@0.  @0#$# c3B%#%0&%"&B%  N- X-H %  ?%3
Y-H%.)]# N2-H u[0* 7 .%b"$-H%=.&B%d3B%MW@EN#$i= .%  N2-H XbY#$#AB 6 %Y3%#$%.%3+*
<w}

M|4 Mz

%&% Fz|1`y|4w

 }|

aww:My|4w  }|Z9J>} |B@?

)%&-b"B%.%4.%"3@0.@c.@0 #$%"@EN. IJ@0.  @0#$# c@E  #$%0-/%3$.-/& J].QP


$H*])%0%d.% E@ N. ; 3B . *  U 2 %02. MW 43B%&@E#$-e*
<w}

M|4 Mz %&% Fz|4vYw5J x ) B}xy|%{Mw5@0 {w:xBu| 5| }xB~


, :| }xB~ %% yx yJ@0<}xy|`c} @| 2l, Nb!0{Mw5xBu| "{M5w xBz|

M H)z N

}J{w5xBFz|C,

z!0 {w:xBu| 5| }xB~ M Maz


"{Mw5xBzF| ) 99->} |1BM@?

)%&-&B%cH e  #NBIJAD. G3$-H #@E cN-HABG.%Y?%#3<"e$ eYPH=  #$NIJAF#@E %#Me$E"eo=b"$3.`gE.^@0A3J  AB-%0 E,kH*
T&@M e$]0" e-U-H %   ?%3=Z$ $-UN-H%3@0-U&B%  #$NIJAB -U%0@03%0#$@0 %#$=6 &B%2bY$-%c.B% B%#$3 -U3$- #$@0 ^#@E %#Z-UNB-%3bY%AC-%0&)]#$
 N-  [L$-  @E##$%34* ! B%YH0,k?$-/NB-%3F& ^-%
&B%d  ADNB-%03J ".%  #$NIJAF%@E3% s Y3%0MW@0NB#
&B%2%"-LA P  A+*
)%%Y@0#$- (-H%&)#$
NB2-H u [`. *  U@EA3J2%0MW2%0-@ [#. *  0*
<w}

M|4 Mz

%&% Fz|4vYw5xH

vaMxB{MzF

Yww:{w:xH t

9J>}

|B@?

)%&-b"B%.%Q&B%^3B@0.@(&@E #%  AMBIJ-  @0A  %#


%2@E&$ A-~. H0&9HC*L)%0%^.%  A?2IJ
@EA  %#- . *   %& ^MW 
3B%.@0$#-e*
<w}

M|4 Mz

%&% Fz|4vYw5xH

zFz|4z

aww5B{w:xH

9->}

|1BM@?

)%&-YbY%0&B%9.%J3@E&@.@0 #$%  AMBIJ-d3B%#%0&%J %02@0.$ A-"& H0LHC*)%%D.%  AMBI$L%#$%.% . +*  2 %2. (MW 
3B%.@0$#-e*

>

WXXYuHJISFH &IQ&III
<w}

M|4 Mz

 n

%&% Fz|4vYw5xH

aww5{Mw5xH

` }|4

9->}

|1BM@?

)%&-XbYB%&B%+&B%3@E&@Y.@0 #$%  A?2IJ-4%3B6 %02@0.$ A-4& PEL9H*)%%"&B%  A?2I ; 3$&- . * p Q  %2. 9M&  3B%&@E#$-e*
<w}

M|4 Mz

%&% Fz|4vYw5xH

[xBFz |

aww5B{Mw5xH

9C>J<}

|1BM@?

)%&-Gb"B%.%"&B%C3B@0.@a&@E #%  AMBIJ-cAB-%02~ %@0. AB-c& EL*C)%%&B%  AMBIJTWA-H% . * p ^  %& CMW 
3B%.@0$#-e*
<w}

M|4 Mz

%&% Fz|4vYw5xH

A M|4z
$
)

aww5{Mw5xH t

9->J<}

|1BM@?

)%&-~bYB%&B%Q&B%G3@E&@(.@0 #$%  A?2IJ-~NB 3@E&%^ %2@E&$ A-U. H0LHC*/)%%P&B%  A?2IJRQ 3B@0.% . +* p 2 %& GMW 
3B%.@0$#-e*
<w}

M|4 Mz

%&% Fz|1M|4zFw

M|

{w5xBu|`|lzFw

|

9J>}

|B@?

)%&-&B%"M& 2IJ@E6 b 3B@0.% [&$IJ%Y1@0#$N%0-/@0%"3B-H #$@0 %03D& 7E* )%%Y.% B3 @0.%e 2IJ@E . * p L 2 %& "MW 43B%&@E#$-e*
<w}

M|4 Mz

%&% Fz|1MFz

z |

MFz z |9->} |1BM@?

{w:xBu| 5| }xB~

)%&-&B%".%OE6N-H%3J& P2%0 2%-H%AB?M&@0#$-%Y1@E#NB%-. 7}e kQm,[*)%%Y&B% WM @0#$-H% ! %OE . +* p U  %2. M& 43%.@0$#-e*
<w}

M|4 Mz

%&% Fz|1 }J|lz  )

{w:xBu| 5| }xB~

9 >}
M HJ|lz J

|B@?

)%&-&B%"3B@0.@`B#$.%4MW 4&B%Y3@0.@c.@0 #$%d. )e$&x*])%%Y.% ?#.% . * p U  %& dMW 43%.@0$#$-,*
<w}

M|4 Mz

%&% Fz|

yJ z |

{w:xBu| 5| }xB~

xyyJ z |Z9J>} |B@?

)%&-&B%".%OE6N-H%3J& P2%0 2%-H%AB?SUR 8E8 1@0#$N%-L& Jeenmx[H*)%%Y.% BA N#$# ! %O0 . * p  Q 2 %02. MW 43B%&@E#$-e*
<w}

M|4 Mz

%&% Fz|4}oz )

"=:v Fw D
* =59-> w:|4z{|4z

T&M.%  N-  -"k4e/31%0G-HN   &-^]N% -Hr,%-H=9.% ABNIJ %^ M92 bY-PA&B% .@0 #$% -P-H%d. .% -Hr,% Md&B%a]N% }*
7 &B%2bY$-%=?.%c.@0 #$%3 AB@0IJ  @E##$ G%-r,%-Q.-%0#M @0-Q+-U-   ##$%3+*TWMNeP-H]#B$-UA  @  .$1%=Z+$-LIJ@E3%@  .1%G -H-HN$A(@
-H%#$%  " [Q AJ&B%  N2-H XN-H$AG.%Ukle  NB2-H 2 -  N2%AB:?#.%4@0AB3  N2%AB-H 2*
<w}

M|4 Mz

%&% Fz|4w

{Mw5xBu| :| }xB~ }Ju|

Fw |9->} |1BM@?

)%&-&B%"3B@0.@c&@E #%0 -X-H 2. kEH*])%0%".% H- 2 . * p  Q 2 %02. MW 43B%&@E#$-e*


<w}

M|4 Mz

%&% Fz|4w

{Mw5xBu| 6=5[x z

Fw |9J>} |B@?

! B--L@0AJ 1%# @E3%3(IJ%IJ %0+M&NA  . AB=  13B%3(MW   AB1%AB%A  %B* TW %B@01%0-X%--H%AB&$@0#$# G#$KE%Y.%"@0 1%YM&NA  &$ A+*
)%&-X.%- ?. %9@E  #$%03P. c.%3B-H #$@0 %03P3B@0.@d. ~kEH*TWM?&B%2%-XAB  NB22%0A  NB2-H =]A .$AcB@0  %A-e*'>9)]#T&A3B%O
 A.@0$A- B%#$3JA@EIJ%-/@EA3J.%$X 23B%2$A% .'+) @ ; )N s &B%-%Y@E2%"N-H%3D.  IJ  -%"&B% 795 ;?5 B  #$@0NB-%?*
)%%Y@0#$- (-H 2 . * p+ 0*

>

WXXYuHJISFH &IQ&III
<w}



M|4 Mz %&% Fz|4"


=:v Fw j) "=:v Fw D
* { Fw
aww5My|4w:zFz|4zO, F 9J>} |1BM@?

,_.60aww5My|4w

w5 yM|4zO,F

)%&-+WkE?@0-.%Q3@E&@U-H N  %LM& Z&B%L.@0 #$%B* ! MW   %L.%Q3$-H #@E U M.%Q3@E&@~M&2 IHWk02=NB-%U2%0MW2%0-@[0*T&M ]."O?"j6e].
$- !65 R ; =  #NBIJA-U@0%@0NB& IJ@E&  @E##$  2%0@0.%3F @E-%3CN  AC&B% ?%#3B-UA&B%^Hx02%  23+*
TWM4]&:d" e$&L$- !65 R ; ..%
3B%MW@EN#$ $- k' 8 ) ; =.%c.@0 #$%cbY#$#B.@0K%c bYA%-B J M6.%GHWk0X@0A3C3%#$%.%c bY%AD@E   2$@0.%B*BTWM.%HWk0/-L2%@E3
AB# =B&B%Y&@E #%Y %  IJ%-/2%0@03W A#$ }* ! %Y.@0 #$%Y@03 &-/.%  N2-H 2 -/310%2 -X3% ?A$&$ AJMW X% %-%0A.ABcSQR 88 1@E#NB%-@E-H.2$A-,*
)%%Y@0#$- (2%0MW2%0-@ [#. *  =2%@E3 7 AB#o ._a$3%.-bY.J>9[ = -%0&'+N.F L%0#%.M% [#. +* p Q@0AB3J>9)]# Q2$1% k ABN#$# ! %O0" [
. +*  0*
<w}

M|4 Mz

%&% Fz| N

Bz z |

{w5xBu| 5| }xB~

| Bz z |9->J<} |1BM@?

)%&-&B%".%OE6N-H%3J& P2%0 2%-H%AB?.2NB%Y1@0#$N%-L& (&HQm,[H*])%%Y.% . 2N% ! %OE . * p+ L 2 %& "MW 43B%&@E#$-e*
:| }xB~ }Ju| M|4 Mz

%% Fw

) 9o{w:xBu|

5 %&NB2AB-/&B%d3B@0.@c&@E #%0 -/-H 2*])%%Y.% H- 2 . * p  Q 2 %& dMW 43%0&@E#$-,*


<w}

M|4 Mz

%&% Fw

}xy|%{Mw5k9->} |1BM`uw:|
?

|1%F{MzFx }xB~

) 2.-  #$NIJACH e$AD@E-  %A3BABG 23B%*


)%%Y@0#$- (-H 2.AB/._a3BE%0&-Lb"$.J>9i0*
<w}


M|4 Mz %&% Fw |4vYw5J x
9->J<} 1| BM@?
F

}xy|%{w5@0NYww5TF{MzFx }xB~p,

0 Yww:d2w5zaw5cq,
A :

) 2.-  #$NIJA H e?$A @0-  %0A3$AF 23%0Q$MkkHE C- !65 R ; . .%P3%M&@0N#$[=


.%b"$-H%G-H 2.-9Aa3B%-  %AB3$AF 3%* ! %
4esrX"gUU @E2@0IJ%0&%4$-/$EAB 2%3JM& X)> 8 .@0 #$%-e*
5 %IJ #%IJ%0A.%3(MW2 I> ! @E #%o._a$3%.-bY.(>9[0*
g

<w}

M|4 Mz

%&% Fw

|1zNF{zx }xB~

}xy|%{Mw5k9->} |Buw:|
?

) 2.-  #$NIJACH e$AD3B%-  %A3BAB 23B%*


)%%Y@0#$- (-H 2.AB/._a3BE%0&-Lb"$.J>9i0*
6=5v Fw

M|4 Mz

%% =5v

9 {w5xBu|
Fw j) %

5 %&NB2AB-/@c  $A.%4& P&B%  N - XNB-%3J Y.%"3@E&@c.@0 #$%B*


:| }xB~ M|4 Mz

%% |lz

}xy| w5`0}xy|%{Mw5k9%{w:xBu|->} |1BM@?

5 %&NB2AB-Q.%^&%0O04A  %##
H"gY= H e=6 Q@0A%IJ . G-H&ABDM+.%  %#$#6-~%IJ & }*/TWM+&B%  %0##$ -~1@E#NB%^$-~SUR 88 .%AANB## ! %OE[
bY$##? %"2%.NA%34*]TWMZ.%  %#$#3B %-XA 
%O0$-
&B%A(@cAN#$#?>9).2$A$-/2%0&NB2A%03+*
5 %IJ #%IJ%0A.%3(MW2 I> ! @E #%o._a$3%.-bY.(>9[0*

>

WXXYuHJISFH &IQ&III
:| }xB~ M|4 Mz

%% |


Bz z |

) 9o{w:xBu|

5 %&NB2AB-/&B%d.%OE6N-H%3D. G2%0 2%-H%AB6&N%"1@0#$N%-e*)%%"&B% & N% ! %O0 . * p  L  %& "MW 43%0&@E#$-,*
Yww: M|4 Mz

%% y

|lzv zFxy|

) 9->J<}

|1BMy w:|4z{|4z

e G@0A%03$&@E #% .@0 #$%=9$-H-NB%-(@0ANB 3@E&%aNB-$A .%  N-  -G%03$d NBMWMW%0|*T&M.%%-(A  N2%AB  NB2-H G .%02%a$AB  NB2%AL-%#$%  &$ A=XAB &BABB@0  %A-e*cT&M  AMBI ; 3B.-[d   A?2IJRQ 3B@0.%M[d$- !65 R ; =  AMBI ; 3B"["-  @E##$%3 &
 A?2I &B%dNB 3@E&%?* 5 %.NA- !65 R ; $M6.%YN 3B@0.%d-HN k %%03%3B= &B%2bY$-%"2%0&NB2A-}' 8 ) ; *
! B% NAB3%# 0AB  N- ^IJN-HY@010% @ 10@0#$3 IJ@E2 $A3B%O . %AB-NB2% .@Ed@ NAB]N%`2%  23 -(N 3@0.%3 b"$.$A .%
3B@0.@0 @E-%Y .%b"$-H%d.%Y3@E&@E @0-H%dIJ@E c %  @EA%3J& P@0AJ$A  A-H-H.%A -.@0.%B*


}JMxy| M|4 Mz

%&% MJBz )

}xy| w5`0}xy|/{Mw5k9o{w:xBu|

5 %&NB2AB-/&B%d10@0#$N%c$A  %#$#?H"gY=BH e= 4@0AJ$A1@E#$3F10@0#$N%YM6.%  %0##B3 %-/AB %OE-H6 X@E-/A P1@0#$N%?*


J6o0"6
U

(/b0"F ] E}P

Yww:My|4w  }|

! B- 2 %02. dB #3B-/bY%.%4.%"3@E&@c.@0 #$%Y@0N. IJ@0.  @0#$#$ c@0  #$$%-/%3B.-,*
! B%^3B%MW@EN#$/1@E#NB%PM& L.$-9  %& ^- !65 R ; *E_`%Aa.%PN-H%U %AB-9@0Aa$A-H%2 QNB 3@E&%P$Aa&B%^.@0 #$%^.%02%P@02%P.b"
 --H #$%c N  IJ%0-Xb"B%AJ.% "A@E1@0.%c. ^@EA .%42%  2@3 
 *Q.%"AB-% XN 3@0.%"-L-/ %2M& 2IJ%R3  .$-/ } N-/M6@EN. ; 3B6$- !65 R ;
 *Q.%"AB-% XN 3@0.%"-L@0 @0AB3 AB%3  .$-/ } N2-M6@EN. ; 3B6$- k' 8 ) ;
)%.$-/ 2 %2.  -41@E#NB%cbY.J-%0&'+N. ; 3B" [/@EA3D%.$-/  %2.  -+10@0#$N%cbY.(@0NB& ; 3$ [0*
Yww:{w:xH t

vYMxB{z

! B- 2 %02. dB #3B-/bY%.%4.%"3@E&@c.@0 #$%  A?2IJ-  @0A  %#B %2@E&$ A-e*
T&MU&B%  MA BIJ
@EA  %0#/ 2 %2. D$-c@  .$1%=Q@0#$#  @EA  %0#-cIJNB-9 %  AMBIJ%3` .%FNB-%0". N@IJ%0--H@0%C O..$ %0@010   @EA %  B@0ABE%3  1%2$3$Aa.%  A?2IJ @0A  %#J[MWNBA  .$ A= .%02bY-H%F@E##  @0A  %#$-c } NY$IJIJ%3$@0.%#$ }*
! B%Y3%M&@0N#$$- }' 8 ) ; *
)%%Y@0#$-  MA BI ; 3B.)- . * p L@EA3  A ?2IJ
@EA  %S# [`. *  0*
)%.$-/ 2 %2.  -41@E#NB%cbY.J-%0& A ?2IJ
@EA  %#- [Q@0A3J%.$-/  %&  -41@0#$N%cbY$&  A ?2IJ
@EA  %#- [0*
Yww:{w:xH t zzF|4z

! B- 2 %02. dB #3B-/bY%.%4.%"3@E&@c.@0 #$%  A?2IJ-X3B%#$%&%Y %02@0.$ A-e*


T&M/.%  MA B$I L%#$%.%( 2 %02. ^$-@  .1%0=+@E##+3%0#%.$ A-IJNB-L %  A?2IJ%03a J&B%PNB-%09&B2 NBE @FIJ%--H@0%J O..$ %0@010 NB  @EAC %  @EA%3 1%2$3$AP&B%  AMBI ; 3B"[UMWNA  . AM=B .%02bY-H%@E##Z3%0#%.% %02@0.$ A-Q } NB$IJIJ%
3B@E&%0# }*
)%%Y@0#$-  MA BIJ
@EA  %0##- . +*  =  A ?2I ; 3$.)- . * p =  A ?2IJRQ 3B@0.T% . * p U@0A3  A ?2IJT&A-H%2 . * p 0*
)%.$-/ 2 %2.  -41@E#NB%cbY.J-%0& A ?2$I Q%#%0&M% [@0A3J%.$-/  %&  -41@0#$N%cbY$&  A ?2$I Q%#%0&M% [0*



>

WXXYuHJISFH &IQ&III
p

Yww:{w:xH t }|4

! B- 2 %02. dB #3B-/bY%.%4.%"3@E&@c.@0 #$%  A?2IJ-X%03$ %@0. AB-,*


T&ML.%  MA BI ; 3B.-Y 2 %02. D-c@  .10%=/.%F3B@0.@C.@0 #$%  A?2IJ-Y@E##X%3BU %02@0.$ A-o.AB-%02.-=/NB 3@E&%0-"@EA33%0#%.%-&=
.%02bY-H%Y@0#$#%3B6 %2@E&$ A-X k NX$IJIJ%3B@E&%#$ }*
)%%Y@0#$-  MA BIJ
@EA  %0##- . +*  =  A ?2IJT&A-H%2 . * p =  A ?2IJRQ 3@E&% . * p L@EA3  MA B$I L%0#%.$% . *  0*
)%.$-/ 2 %2.  -41@E#NB%cbY.J-%0& A ?2I ; 3$&- [@EA3J%.$-/ 2 %2.  -41@E#NB%cbY.  MA BI ; 3B.- [0*
Yww:{w:xH t

[xBFz |

! B- 2 %02. dB #3B-/bY%.%4.%"3@E&@c.@0 #$%  A?2IJ-X$A-H% %@0. AB-,*


T&M/.%  MA BIJTWA-H%/ 2 %2. ^$-"@  .$1%=+@0#$# $A-H%2.$ A-IJNB-L %  AMBIJ%3a (&B%JN-H%9.2 NBEa@FIJ%--H@0%J O..$ %0@010 NB  @0A( %  @EA%3^ " 1%2$3$AY.%  A?2I ; 3$[XM&NA  . AM= &B%2bY$-%9@E##AB-%Z %2@E&$ A-4 k N4$IJIJ%3$
@E&%0# }*
)%%Y@0#$-  MA BIJ
@EA  %0##- . +*  =  A ?2I ; 3$.)- . * p =  A ?2IJRQ 3B@0.T% . * p U@0A3  A ?2$I Q%#$%&% . *  0*
)%.$-/ 2 %2.  -41@E#NB%cbY.J-%0& A ?2IJTWAB-%02" [/@0AB3JE%
&B-/ 2 %& 0 -X1@E#NB%"bY$&  A ?2IJT&A-H%2" [0*
Yww:{w:xH t $
A M|4z

! B- 2 %02. dB #3B-/bY%.%4.%"3@E&@c.@0 #$%  A?2IJ-XNB 3@E&%Y %02@0.$ A-e*
T&M.%  A ?2IJRQ 3@E&%(  %2. (-"@  &$1%=X@E##+N 3@0.%-"IJN-HL %  A?2IJ%3 J&B%JN-H%. N @DIJ%-H-H@0%F O..$ %0@010 NB  @0AF %  @EA%3J Y 1%23BABG.%  AMBI ; 3B"[M&NA  &$ A= &B%2bY$-%"@0#$#NB 3@E&%Y %@0. AB-/ } NX$IJIJ%
3B@E&%0# }*
)%%Y@0#$-  MA BIJ
@EA  %0##- . +*  =  A ?2I ; 3$.)- . * p =  A ?2IJT&A-H%2 . +* p Q@0AB3  A ?2$I Q%#$%.% . *  0*
)%.$-/ 2 %2.  -41@E#NB%cbY.J-%0& A ?2IJRQ 3@E&M% [@0A3J%.$-/  %&  -41@0#$N%cbY$&  A ?2IJRQ 3@E&M% [0*
|lzFw

| M|4zw

M|

! B- 2 %02. dB #3B-/&B%dM& 2IJ@E6 b 3B@0.% [.IJ%"1@0#$N%0-@0%Y3$- #$@0 0%3+*
! B%d3B@0.% e 2IJ@EB 2 %& dbY#$# %"N-H%3(& ^3$- #$@0 Y3B@0.% [&$IJ%10@0#$N%-/$AJ.%"&@E #%B* ! %3B%MW@EN#$61@0#$N%Y$-/ >k 8  @0#L@E&%*
)%.$-/ 2 %2.  -41@E#NB%cbY.J-%0i Q@0.% e 2IJ@E [X@EA3J%.$-/  %2.  -+10@0#$N%cbY.J3@E&% e 2IJ@0"[0*
:| }xB~ MFz z |

! B- 2 %02. dB #3B-/&B%d.%OE6N-H%3D. G2%0 2%-H%AB6MW@0#$-H%"10@0#$N%-e*


! B%YMW@0#$-H% ! %OE6 2 %2. bY$##B %"NB-%03J& ^2% %-H%A6SUR 8E8 10@0#$N%-LAD.%".@0 #$%B* ! %Y3B%MW@EN#$61@0#$N%c$- k@E#-H%$*
)%.$-/ 2 %2.  -41@E#NB%cbY.J-%0i x@0#$-% ! %OE [/@EA3J%.$-  %&  -41@0#$N%YbY.JMW@E#-H% ! %O0" [0*
:| }xB~(HJ|4z

! B- 2 %02. dB #3B-/&B%d3B@0.@`B#$.%XMW 4.%"3@0.@c.@0 #$%B*


! B% B#$&%0~@0  #$$%-9. C.%(3@E&@J-H bYA $A .%P&@E #%?* ! C@  .N@0#$#$ J@DA%b B #$.%= N-H%J2%M&2%-H[0*Q'B#$.%~-.2$AC-d@0Aa)> 8
_`< ;?5+;  #$@0N-H%cbY. NB.%"_ < ;?54; KE%0 bY 23+*
! B%2%"$-A P3%0MW@0NB# B#$&%0|*

>

WXXYuHJISFH &IQ&III
p

)%%Y@0#$- (-H 2. * p+ 0*


)%.$-/ 2 %2.  -41@E#NB%cbY.J-%0i $#.%[/@0AB3DE%0&B- 2 %02.  -41@E#NB%cb"$.T?#$&%[0*
:| }xB~xyyJ z |

! B- 2 %02. dB #3B-/&B%d.%OE6N-H%3D. G2%0 2%-H%AB6SQR 88 1@0#$N%0-,*


! B%FABN#$# ! %O0U  %2. JbY#$#X %FNB-%03`. a2% 2%-H%AQSUR 88 1@0#$N%0-cA &B%F.@0 #$%B* ! %F3%M&@0N#$U1@0#$N%$-" 2 1$3%3` F.%
 N-  -/3B2$1%*
)%.$-/ 2 %2.  -41@E#NB%cbY.J-%0&SUN#$# ! %OE [L@0A3J%.$-/  %&  -X1@0#$N%YbY$&JABN#$# ! %O0"[0*
}xy|Bxy

vYw:

! B- 2 %02. dB #3B-/&B%dABNIJ %X M  #NBIJA-$AD.%"&@E #%?*


Q%.$-/  %&  -41@0#$N%cbY$&(ANBIJ
#$- [0*
}xy|Bxy

aw5c

! B- 2 %02. dB #3B-/&B%dABNIJ %X MZ b"-AD.%".@0 #$%B*


Q%.$-/  %&  -41@0#$N%cbY$&(ANBI 5 bY- [0*
:| }xB~ }Ju|%Fw |

! B- 2 %02. dB #3B-/&B%d3B@0.@c&@E #%0 -/-H 2*


! B%Y&@E #% -X- @0M&MW%  &-X.%" 23B%4AFb"B  J3@E&@c%  3-X@0%Y3$- #$@0 0%3JAF&B%d.@0 #$%B* ! ^@E  #$ "@c-H 2.=NB-%Y2%0MW2%0-@[0*
_`%AC%O0@EIJABAB^.%c-H 2 2 %2. =@-H.2$A(#$-H $-L%.N2AB%3DbY$&D%0@  F.%I@E1$AP&B%cMW 2I B%#$3AB@0IJ%c 3%.%B* 6* =
3J'+)X = -HNA@EIJa% ; )X 0*
! B%2%"$-A P3%0MW@0NB#
-  *
)%%Y@0#$- ?#.% . * p L@EA3D%MW%-@ [). *  0*
)%.$-/ 2 %2.  -41@E#NB%cbY.J-%0&)  [@0A3FE%
&B-/ 2 %& 0 -41@0#$N%YbY$&J-H 2" [0*
:| }xB~| Bz z |

! B- 2 %02. dB #3B-/&B%d.%OE6N-H%3D. G2%0 2%-H%AB6&N%"1@0#$N%-e*


! B%Y&N% ! %O0Z  %2. bY$##B %YN-H%3J& P2%0 2%-H%AB?SUR 8E8 1@0#$N%0-/AF&B%d.@0 #$%B* ! B%d3B%MW@EN#$1@E#NB%"$- ! 2N%0$*
)%.$-/ 2 %2.  -41@E#NB%cbY.J-%0 ! 2NB% ! %0O0" [X@0A3J%.$-/  %&  -41@0#$N%cbY$&J.2NB% ! %OE [0*

! B%Y>L@E&@1!/%b  #$@0-H-  13B%-X2%0@03W A#$ c)> 8 M& 2IJ-e*


! B-  #$@0-H-$- @E26 M6.%"}?BIJ 3BN#$%B*
T&AB%2$&->9_a3BE%0._a3BE%0&-Lb"$.J>9i0*
#include <qdataview.h>

J _ .:: , 0# _ 0d5X
U xLp]cE>9_a$3%:c @E2%AB  =  A-H  @0cAB@0IJ%o  =_ #$@0- 
[
U xLp]c
1$2.N@E#1 $3J}]0? 0>9)]# e 2I cMW 2I
>9)]# e 2I c&?
[
1$2.N@E#1 $3J}]+e? 0>9)]# 5 %  3 c2%  23y
>9)]# 5 %  23 c]eB [
U

J _ .:: ' .:(lX


1$2.N@E#1 $3J]&]E>9)]# 5 %  3TY NBM
1$2.N@E#1 $3J] ?]p]pZ [
1$2.N@E#1 $3Jp]]ppZ [
1$2.N@E#1 $3Jep] .6 p6][
U

d ] 1.10"

Q 0

Q 0aX

L61D:(

! B%Y>L@E&@1!/%b  #$@0-H-  13B%-X2%0@03W A#$ c)> 8 M& 2IJ-e*


! B-  #@E--4  13B%-+@dM& 2IbY  P3$- #$@0 0-+)> 8 ?%#$3^3B@0.@M&2 I@d%  3 NM&MW%*l6%  @0N-H%9>Q@0.@"!/$%b3 %-+A ?-HN   
%03$&$AC/NB-%0-9#%0--d2%-H N  %-~.@EAa@J>L@E&@462 bY-H%|* ! B-  #@E--d-dbY%##
-NB.%3aMW U3B-H #$@0 $A2%@E3 AB# (3B@0.@JMW2 I @
)> 8 3B@0.@0 @0-H%B*
T&M 0 NCbY@0AB4@^. J 2%0-%AB 0 NQ3@0.@G$A@0A%3$.@0 #$%MW IN-H%^>Q@0.@ 6 bY-% s $M 0 NCbY@0AB @P.@0 #$% @0-H%3 2%0-%AB&@E&$ A
M6 0 NX3@E&@cNB-%Y> Q@0.@ ! @0 #$%B*
! B%GM& 2I$-~@0-H-  @E&%03bY$&.%^3@0.@P1%0bbY.-%[ e 2I [U@EA3&B%G%  3C$-~@0-H-  @E&%03bY$&-H% 5 %  3 [0*4 N  @EA
@E#-H P @0-H-/@Y>9)]# 5 %  3^. G.%d2%M&2%-H [MWNA  . A(bY  (bY$##-H%6.%"2%  23P& G&B%d10%AJ2%  23P@0AB3P%@03(.%"2%  23B ?%#$3-/$A. P&B%"M& 2I *
)%%Y@0#$- Q@0.@0 @0-H%"
#$@0-H-%-e*

p

>

ttI3^FH &IIuIQI
,

p

"('CF:(

0#

_ 0

|l

%%

}Jz

|l

PL%0dC ] :(
Q

}Jz

} ~z|+*/` zFxy|-,/.10<{w5xBu|%{32 /
* xB

z^,_.60

@~87u,/.:9

 A-H&N  &-L@c3@0.@c1$%b bYB  J-/@  $#$3J MFjZ]H= bY$&J.%YAB@0IJ%]^/@0AB3DbY3BE%B@EE-L-%6. ";*


|l

%%&<

}Jz

M|4

)9

}JzF

Q%-H& -/.%" u.%  6@0AB3JMW2%0%-/@0AB Y@0#$#  @0.%3J2%-H N  %-e*


<w}

M|4

}JzF

%% {zN X F

MJBzN

) 9->}

|1BM`uw:|
?

 # %0@02-~.%^3%M&@0NB#4MW IJ -Q1@0#$N%0-,*4T&M .%02%$-UA D3B%MW@EN#$+M& 2IJ=ZA .$AJB@0  %A-e*+' #$#6.%1@E#NB%-~@0%G-H%4& J.%0Q r,%
-H.@0.% =%?* 6*  MW 4ABNIJ%  ?%#$3-H= Z M& X-.2$ABB%#$3-e*
6=5Jw t

M|4

%% w tv) 9

}JzF

5 %&NB2AB-/&B%d3B%MW@EN#$MW I NB-%3F d.%Y3@E&@c10%b4=   $M6&B%2%"$-/A AB%B*


)%%Y@0#$- (-H%i e I [). * p 0*
<w}

M|4

}JzF

%%i

zN y}JzF

) 9J>}

|1BMuw5|G?

 0@ NB-%-U.%3B%MW@EN#$
M& 2I & J%@03F.-?%#$3-QMW I .%c%  3D NM&MW%*ZT&M&B%2%c$-QA J3%0MW@0NB#+MW IJ= LA J2%  23B=AB &BAB
B@0  %A-e*
)%%Y@0#$- (-H%ie I[). * p 0*
6=5az{Mw t

M|4

%&%i

}Jz

z{w t-)

5 %&NB2AB-/&B%d3B%MW@EN#$2%  23(NB-%3J Y.%Y3@E&@c10%b4=   $MZ&B%2%"-LA AB%B*


)%%Y@0#$- (-H% 5 %  3 [). * p K0*
<w}

M|4

}JzF

%%i

z i zN2

"=5az{Mw

*/ 9 >}

|1BM`uw:|
?

 0@ NB-%-d&B%(3%M&@0N#$XMW I . C3B-H #$@0 J.%  AB&%AB&-~ MEL7E*UTWMX.%02%G$-AB C3B%MW@EN#$XMW IJ=


A .$AF@0  %A-e* ! %J0L7Y@0#$-
%  IJ%-c.%3%0MW@0NB#~%  3MW Y@0#$#/-HN -H%]N%AB  @E##$-G. `%@03M %0#3B-[@EA3 bY2$.%B%0#3B-[0* ! $--H# -%0NB10@0#$@0Ad&
 @0#$#$A5
myView.setRecord( record );
myView.readFields();

)%%Y@0#$- (-H% 5 %  3[). * p KU@0A3J%@03M %0#3B-[Y. * p 0*


<w}

M|4

}JzF

%% FzF|w tw)

6=5Jw t

w t

9C>}

|1BM@?

)%&-Q.%M& 2I N-H%3F G&B%c3@0.@G10%b. 7}E*6T&M


@^2%  23DB@0-Q@0#$2%@E3 %%0AF@0-H-HA%3. P.%c3B@0.@G1$%b4=Z&B%cMW I bY$##
3B-H #$@0 c.@E2%  23B -X3@E&@Z*
)%%Y@0#$- (MW I [#. * p 0*

>

ttI3^FH &IIuIQI
<w}

M|4

}JzF

%% FzF|l#zN{w I)

p K
"=:#zN{w t

zN{w

9J>}

|1BM@?

)%&-&B%d%  3PNB-%03J ".%"3@E&@c10%b& (H0H?* TWMZ@cM& 2I B@0-/@E#%@03B Y %%AJ@0-H-HA%3F& ^&B%d3B@0.@c1%0b+=&B%dM& 2I bY$##
3B-H #$@0 c.%Y3@E&@cM&2 I H0HY$AJ&B@0M& 2I *
)%%Y@0#$- (2%  2@3 [#. * p 0*
<w}

M|4

}JzF

%%

}|lzFy}JzF

) 9J>}

|1BMBuw5|
?

 0@ NB-%-".%P3%M&@0N#$/M& 2I . b".%P.-?%#3B-9. C.%P2%  23 NM&MW%*UT&M+.%02%P-dA 3%M&@0N#$/M& 2IJ= ~AB C%  3=AB &BAB
B@0  %A-e*
)%%Y@0#$- (-H%ie I[). * p 0*

! B%Y>9)]#  #$@0-H-$-@cAB@0IJ%-H @  %YMW 4>96)> 8 $3%AB&B%02-X.@06AB%%3J. ^ %"# @E##$$KE%B*


! B-  #$@0-H-$- @E26 M6.%"}?BIJ 3BN#$%B*
#include <qsql.h>

J _ .:: , 0# _ 0d5X
BB[
%ABNx
I mdSU A%o  =T&A-H%2<  =RQ 3B@0.%  =Q%#$%&%$ 
%ABNI ?e pBm#6%0MW 2%  -  ='
MW.% 8 @0-H 
%ABNI ?

d @0A  %#  =BSU  =e%-# 


U

d ] 1.10"

Q 0

Q 0aX

L61D:(

! B%Y>9)]#  #$@0-H-$-@cAB@0IJ%-H @  %YMW 4>96)> 8 $3%AB&B%02-X.@06AB%%3J. ^ %"# @E##$$KE%B*


SU IJ@0#$# = 0 N  @0A($EAB 2%"&B-  #@E--e* )%01%2@E# >9Z)> 8  #@E--H%-/$AB%2$Z.= - ^@0#$#.%$3%0A.?%2-4$A(&B%>96)> 8 AB@0IJ%-H @  %
@E2%Y1$-$ #$%c& ^  NDbY. NB6]N@0#$   @0. A4*
)%%Y@0#$- Q@0.@0 @0-H%"
#$@0-H-%-e*
,

0#
6=5

"

_ 0 @T%0

%% vYw5xH

(/b0"F ] E}P

! B-%ANBI .  %"3%0-  2$ %-/%3B  A?2IJ@0.$ A-e*


! B%  N2%AB&#$ Y3%?A%03P10@0#$N%-L@02%t
QSql::Yes
QSql::No

QSql::Cancel
6=5

%%

w{MM|4}Jw5x

! B-%ANBI .  %"3%0-  2$ %-/)> 8 A@010@0. AF#  @0. AB-,*


! B%  N2%AB&#$ Y3%?A%03P10@0#$N%-L@02%t
p

>)=ByHFH &<I&III

pp

QSql::BeforeFirst
QSql::AfterLast
6=5

%%

! B-%ANBI .  %"3%0-  2$ %-/%3B6 %02@0.$ A-e*


! B%  N2%AB&#$ Y3%?A%03P10@0#$N%-L@02%t
QSql::None

QSql::Insert
QSql::Update
QSql::Delete
,

0#
6=5

"('CF:(

_ 0

PL%0dC ] :(

%% " =: ) 9

 A-H&N  &-L@c>96)> 8 A@0IJ%0 -@  %  #$@0-H-

! B%Y>9)]# N-   #@E--L 2 1$3%0-/ 2 bY-HAB@0AB3J%3$&$A^ MZ)> 8 .@0 #$%-/@EA3D1$%bY-e*


! B-  #$@0-H-$- @E26 M6.%"}?BIJ 3BN#$%B*
T&AB%2$&->9)]# 5 %  39. +* , U@EA3J>9)]#$>9N%02 o. *   0*
#include <qsqlcursor.h>

J _ .:: , 0# _ 0d5X
BBp+6}?  A-H6>9).2$A A@EIJ%o >9)&ABk AN#$#$=B #@EN.  NB#@E&%$ !65 R ; = >9)#Q@0.@0 @0-H%YY39 
BBp+6}?   A-H6>9)]#$
NB2-H  .%
>9)]#$
NB2-H  ??] ?X z  AB->)]# N2-H  .%0F
[
BBp+6}?
%ABNI C?ZB 5 %@E3 7 AB#o  =TWAB-%  =RL 3@0.$%  M= L%#$%.%^K=_2$&@E #%o n#
1$2.N@E#>9)]#$TWAB3%OYZp E|6Z]` E # -H%[  2 IJ
NB2-H  !65 R ;   A-H
1$2.N@E#>9)]#$TWAB3%OYp6Z]`   AB-
>9).2$A 8 $-N ?%#3BSU@0IJ%M-   A-H
>9)]#$TWAB3%Ocp6Z]Y   A-H>9).2$A B%#$3SU@EIJ%   A-H
>9)]#$TWAB3%Ocp6Z]Y   A-H  B@0@ `B%0#3BSQ@EIJ%   A-H
1$2.N@E#1 $3J}]Zp E|6Z]a   AB->)]#T&A3%0`O 3BO 
1$2.N@E#1 $3J Z?]6$   A-H>9)]#  %0#3BTWAM& B%0#3BTWAM& 
1$2.N@E#1 $3Jp6}]5 0$A
 -=  A-H>9)#  $%#3BTWABMWB B%0#3BTWAM& 
1$2.N@E#1 $3J]?# $A  - 
1$2.N@E#1 $3Jep] @ [
1$2.N@E#1 $3J}]J U]6 ]   AB-
>9).2$A A@0IJ%0= #%A%@0.%y3 
1$2.N@E#1 $3J}]J U]6 ] 0$A$= # %A%02@0.%3 
1$2.N@E#>9)]# 5 %  23 YZp 6&.] E #  o V}' 8 ) ; 
1$2.N@E#>9)]# 5 %  23 Y?p]|6}]: [
1$2.N@E#>9)]# 5 %  23 Y?p Z? Y [
1$2.N@E#>9)]# 5 %  23 Y?p]U]pY [
1$2.N@E#$Ap6k5 E #$A1@E#$3@E&o% !65 R ; 
1$2.N@E#$A6ZZ a E #$A1@E#$3@E&o% !65 R ; 
1$2.N@E#$AZ]  #$A10@0#$3B@0.%% !65 R ; 
1$2.N@E#1 $3J}]BZa 0$A
IJ 3B@% 
$A??` [  A-H
1$2.N@E#1 $3J}]+ pe6p T   A-H>9).2$AB A@EIJ%= #  @0#  NB#@E&%)3 
#pk pe6p ]$   A-H>9).2$A A@EIJ%   AB-
1$2.N@E#1 $3J}]]p]   A-H>9).2$A A@EIJ%= #.2$I 
#pkp]   A-H>9).2$A A@0IJ%   AB-
#pk ]  6pY [  A-H
U

p n

>)=ByHNGu&Cu{H4LI&I"uII

p

#e 6|6}]5[  A-H


#e ZZ a [  A-H
#e 6U]p]# [  A-H
#kp]e [
#kp]e   A-H>9)]#$TWAB3%OY-H 2 
#kp]e   A-H>9)]#$TWAB3%YO ?#$&%$=  AB-
>9)]#T&A3B%O`-H 2
1$2.N@E# # }]p]e5   A-H>9).2$A B#$.%=  A-H>9)]#$TWAB3%O` -H 2<>9)]#$TWAB3%O% 
1$2.N@E#1 $3J}]?t   A-H>9)]#$TWA3B%`O -H 2 
>9)]#$TWAB3%OckB5 [  A-H
1$2.N@E#1 $3J}]]pp]@   AB->)&AB ?#$&%F 
>9).2$A
p]@ [  AB-
1$2.N@E#1 $3J}] V~ a   AB->)&AB AB@0IJ%= #@0NB&  N#$@0.% !65 R ; 
>9).2$AG6 ` [  A-H

J6(l0dL40" , 0a _ 0"5X
1$2.N@E#>@!Z@02$@0AB6e pe6p ]p]p$  A-H>9).2$A A@EIJ%
1$2.N@E#$A6ZZ a   AB-
>9).2$A ?#$&%$= # $A1@E#$3@E&%% !65 R ; 
1$2.N@E#$AZ]   A-H>9).2$A B#$.%= #AB1@0#$3B@0.%% !65 R ; 
1$2.N@E#>9).2$AGBBp5 `  A-H>9).2$A 2% ?O0= >)]#  $%#$o3 YB%#$3=  A-H>9)&AB?%#$3)%   AB-
1$2.N@E#>9).2$AGBBp5 `E>9)# 5 %  23 Y2%  =  AB-
>9).2$A 2%?O0=  A-H>9).2$ABB%0#3B)% =
 AB-
>9).2$A -%   AB-
1$2.N@E#>9).2$AGBBp5 `  A-H>9)]#$TWA3B%`O $=>9)# 5 %  23 Y2%  =  AB-
>9).2$A 2% ?O0=
 AB-
>9).2$A B%#$3)% =  AB-
>9).2$A -%   AB-
U

d ] 1.10"

Q 0

Q 0aX

L61D:(

! B%Y>9)]# N-   #@E--L 2 1$3%0-/ 2 bY-HAB@0AB3J%3$&$A^ MZ)> 8 .@0 #$%-/@EA3D1$%bY-e*


'>9)]# N- ~$-9@(3@E&@E @0-H%^%  3D.-H%%P>9)]# 5 %  39.@E  2%-H  A3B-Q. F@J.@0 #$%P Q10%b b"$.$Aa@0A)> 8 3B@0.@0 @E-%
.-H%%J>9)# Q@0.@0 @0-H%0* ! %%(@02%J.bY C NBMWM&%2-9$A @  N- $=+ A%(N-H%3 M& ~ 2 bY-$A@0AB3 A%(NB-%3`MW ~%3B.$AF%  3-e*
; @  J NM&MW%  AB&@EAB-@c#$-H 5M ?%#$3-/bY    2%-  A3(& ^&BY% B%#$3-AJ.%Y.@0 #$%d X1$%b9*
_`%A  -$. AB%3 A @C1@0#$3 2%  23=+.%J 2 bY-H%( NMWM&%  AB&@EAB-.%J1@E#NB%-" M/&B%  N2%AB%  3 -)B%#$3-dMW I .%
3B@0.@0 @E-%B* ! %"%3$ NBMWMW%0+$-/-H% @E2@0.%= @EA3D$-/N-H%3JM& +%03$&$A^%O0$-.$AG%  3-X@EA3J$A-H%2.ABGAB%b %  3-e*
e 
2 bY-$AY3B@0.@0=]@  N2-H 
IJNB-
 ?2-HB-H%#$%  " [43@E&@dMW2 I .%~3B@0.@0 @E-%B* 'MW.%
@d-N } %--HMWNB#]-%#$%   [X.%  N-  -+@  &$1%
.$-H'  &$1M
% [Y2%0&NB2A- !65 R ; = NB$-d$A$&$@0#$#$ FA Q  -H.$ A%3 A`@D1@E#$3`%  3 .Z- !?@E#$3 [c%.N2AB)- k' 8 ) ; 0* ! C  -H$&$ A
.%  N- " A @1@E#$3`%  3=4N-H%F AB%D M.%FA@010@0. AM&NA  &$ A-H=XA%0O0" [=+ 2%M1 [@= ?2-H [=4#$@0-H [= -H%%5K [0* 7 A  %
 -$&$ A%03^ A(@"1@0#$3(%  3=]3@E&@  @EAP %d2%.2$%1%03GMW I &B%  b"-H%9 NBMWMW%0
N-H$A1@E#NBM% [0*]T&MB@"A@E1@0.$ AJMWNA  . AP$AB  -HN k %-H-HMWN#$=Z+2%0&NB2A<- }' 8 ) ; =?.%  NB2-H /bY#$#ZA J#$ A% %G  -$. AB%3D AF@^1@0#$$3C%  3J@0A3C&B%1@E#NB%-L%.N2AB%3
Y1@E#NBM% [Q@02%YNBA3% BAB%3+*
e 4%OE@0IJ #$M
%
QSqlCursor cur( "staff" ); // Specify the table/view name
cur.select(); // Well retrieve every record
while ( cur.next() ) {
qDebug( cur.value( "id" ).toString() + ": " +
cur.value( "surname" ).toString() + " " +
cur.value( "salary" ).toString() );
}

>)=ByHNGu&Cu{H4LI&I"uII

p

T&A .%`@0 1% %O0@EIJ #%0=@  N- ^-  2%@E&%03-H %  $MW 0AB @ .@0 #$% G10%b AB@0IJ%`A&B% 3@E&@E @0-H%B* ! %0A=-H%#$%  "[J$ @0#$#%03=bYB    @0A( %" &$ A@E##$ Y @0@0IJ%.%-H%3P& B#$&%0 @EA3J 23B%+&B%d%  3-42%.2$%1%03+* ; @  (%  3^$AJ&B%  N- 4$%.2$%1%3(N-H$AGAB%O0"[0*_ B%A(A%OE[2%.NA-}' 8 ) ; =&B%2%d@02%YAB GIJ 2%"2%  23B-X& ^ 2  %-H-= @EA3J.%"# P&%02IJ$A@0.%-e*
e X%03$&$A^2%  23a
- .2 bY- M63B@0.@ =@  N-   A.@0$A-Q@-H% @0@0.%Y%3$ NM&MW%XbYB  D-LAB3% %A3B%A M6&B%a?%#$3-LN-H%3
bYB%AD 2 bY-HABZ* ! B%"M&NA  . AB-$A-H%2"[=N 3@0.%M[Q@0AB3D3%#J[Q %2@E&%" AD.%Y%3B NBMWM&%|* ! $-/@E##$ bY-L.%  NB2-H /. ^ %
%  -H.$ A%3& F &B%%  3-UbY$#%P-$IJN#$.@0A%0 N-H# (IJ@0$A.@0$A$AF@P-H% @E2@E&%^ NMWM&%M& L%03$&-e*X N  @EAE%4@(  $A.%
. &B%J%3$ NBMWM&%~N-HABC%03$i 6NBMWMW%0u [0* ! %J IJ%T&A-H%2" [=
2$IJ%RL 3@0.M% [d@0A3 2$IJ% Q%#%0&M% [dMWNBA  .$ A-@E#-H a2%0&NB2A
@  $A.%9. &B%J%3$L NBMWM&%9@0AB3 % @E2%J$LM& 9AB-%02.=+NB 3@E&%F@0A3`3%#$%.%J2%-H %  &$1%#$ }* ; 3$Q %2@E&$ A-d A#$ D@0M&MW%  
@C-$A#$%D2 b @0L@F.IJ%B*"SU .%J&B@0/NB 3@E&t% ["@EA3 3B%J# ["%]N$2%J.@E/&B%J&@E #%J 1%0b  A.@0$A @D IJ@E2 T&A3B%tO ["&
%0A-HN2%Y.@E%3$ %02@0.$ A-X@0M&MW%  6@cNAB]N%c%  3(b"$.$AJ&B%d3B@0.@0 @0-H%B*
e 4%OE@0IJ #$M
%
QSqlCursor cur( "prices" );
cur.select( "id=202" );
if ( cur.next() ) {
QSqlRecord *buffer = cur.primeUpdate();
double price = buffer->value( "price" ).toDouble();
double newprice = price * 1.05;
buffer->setValue( "price", newprice );
cur.update();
}

! %3$@EA %OE-H&$AC3@E&@E @0-H%J2%  23=?2-HIJ 1%J. &B%P%  3  N bY$-`& N 3@0.%B*" @0#$#+ 2$IJ%RL 3@0.%M[d& %.%
 AB&%
& c.%  N2-H 2 - %03$ NM&MW%* ! %A^N-H%9.$-  $A.%. YIJ 3$MW 9.%~10@0#$N%-4$AG.%~%3B? NM&MW%*4 AB@0#$# =  @0#$#NB 3@E&%t[
. a-H@01%D.%  @EA%-d. &B%D3@E&@E @0-H%B* ! B%J1@0#$N%-Y$A .%J%3BL NM&MW%9bY$##4 %JNB-%3`& a#$  @E&%J.%J@E   2$@0.%(2%  23
bYB%AJN 3B@0.ABG.%"3@E&@E @0-H$% .-H%%" 2$IJ@0 TWAB3%O ["0*
)IJ$#@E2#$ =DbY%A3B%#%0&$A@EA %0O0$-.AB3@E&@E @0-H% %  3=TB-(IJ 1% &B% %  3  NbY-H& 3%#$%.%B* ! B%A=  @E##
2$IJ% L%0#%.M% [P& %"&B%  $A.%. &B% %3B" NM&MW%D*  $A@0#$#$ =  @0#$#Q3B%J# [P. 3%0#%.% .%a%  3MW I &B% 3@E&@E @0-H%B*
'+@0$A=?&B%d1@E#NB%-$AJ.%Y%3$6 NM&MW%4bY$##B %"NB-%03J& P#  @0.%Y@0A3J3B%#$%&%".%Y@0  2 @E&%d2%  23+*
! ^$A-H%@cA%b2%  23B=  @E##B 2$IJ%TWAB-%02" [/& P%.%"  AB&%0X& ^&B%"%03$ NM&MW%*RL-H%Y&B-  AB&%0X& ^  N#$@0.%Y&B%Y%3$
NBMWM&%4b"$.JA%b1@0#$N%-L@0AB3J&B%AJAB-%02" [.%"2%  23(AB& P.%Y3@E&@E @0-H%B*
'
MW.%  @0#$#$AJ$A-H%2" [=?N 3B@0.M% [U 3%0S# [=?&B%  NB2-H $-UA J#$ A%  -H$&$ A%3C AF@P1@0#$$3C%  3D@0AB3  @EACAB J# ABE%0L %
AB@01$@0.%3 .Z- !?@E#$3 [L2%.NA }' 8 ) ; 0* ! %d2%@E- A(M&  .$-X-&B@06@0AB  @EA%-/IJ@03B%d. .%"3@E&@E @0-H%dbY$##AB 6 %d10-H #$%
NBA.# -%0#%   [d-  @0#$#$%3a& C2%M&2%-H&B%  N2-H *Q N  @0A  @EA%P.$-~ %B@01$ U P @0-H-$Ao k' 8 ) ; . F$A-H% [=NB 3@E&t% [
X3B%J# [bY  JbY$##? 2%01%A6.%  NB2-H XMW I %  IJABAB1@0#$$3+* ! %-H%d%03$&-/bY$##B&B%AJA 
%d1$-H #$%cbY%AJAB@01$E@E&$A
.%  N2-H XNAB&$#-H%#$%  " [L$-  @0#$#%34*
>)]# N2-H   AB&@EAB-c1&NB@0#4IJ%. 3B-dbY  @E##$ b%3$.ABa %@E1 d& %  NB-. IJ rx%03 F-HN  #@E--H%-e* ! B-Y@0#$#$ b" N-H& I  N- -L. ( %  2%0@0.%3DbY  C%A  @0 -HN#$@0.%.%c%3B.AB^ %0@010 / M
@G3@E&@E @0-H%c&@E #%GMW /@EAF%AB&$2%c@E  #$  @0. A4*
e 6%0O0@0IJ #%=@  N2-H   @0A %  NB-. IJ rx%03& Y@E#bY@0 0- @EN. ANBIJ % IJ@E2 UAB3%)
O B%#$3-H=  2 103B<% ?%#$3- b"$.-NB.@0 #$%
3B%MW@EN#$1@E#NB%-=BbY%AJ$A-H%2.$AGAB%b %  3-e*
)%%Y@0#$- Q@0.@0 @0-H%"
#$@0-H-%-e*
,

0#

"

_ 0 @T%0

(/b0"F ] E}P

6=5v Fw %% w z

! B-%ANBI .  %"3%0-  2$ %-/ b >9)]# N- / %2@E&%-X AJ%  3-X$AJ&B%Y3@0.@0 @E-%?*
! B%  N2%AB&#$ Y3%?A%03P10@0#$N%-L@02%t
QSqlCursor::ReadOnly Z&B%  N-   @0AJ AB# Y) ;?8E;  ! %  3-XMW I .%"3@E&@E @0-H%B*

>)=ByHNGu&Cu{H4LI&I"uII

6.%  N-   @0AJT&SQ) ;B5! 2%  23B-XAB& P.%"3@0.@0 @E-%?*


6.%  N-   @0AJR</' !6; 2%  23B-/$AJ&B%d3B@0.@0 @0-H%B*
QSqlCursor::Update
6.%  N-   @0A$ ;B8;?!6; 2%  23-XM&2 I&B%"3B@0.@0 @E-%B*
QSqlCursor::Delete
Z&B%  N-   @0AJT&SQ) ;B5! = R</' !6; @0AB3$ ;?8E;?!6; 2%  23B-XAF&B%d3B@0.@0 @0-H%B*
QSqlCursor::Writable

QSqlCursor::Insert

0#

"('CF:(

_ 0

PL%0dC ] :(

6=5v F
w 
%% "=:v Fw ) {w5xBu| :| }xB~
A 0 "=:JM|4Ma@Fzq* |,_.89

xB

z4,

5| }xB~

%% xyyJ@0:Yww5Ty|lw5w5 yM|4z^,

 A-H&N  &-L@  N- X AJ3B@0.@0 @E-%cEcN-HABG.@0 #$%" X10%b]^e*


T&M
]&1jZ1jZe].+- !65 R ; .&B%3%0MW@0NB#[=.%c]^/ MZ&B%  N2-H 4IJN-H  2%-H  AB3^. G@EAJ%O0$-.$A.@0 #$%Y +10%b A@0IJ%Y$A
.%G3@0.@0 @E-%G- J.@E?%#3CABMW IJ@0. A  @0A %c@0NB& IJ@E&  @E##$  2%@E&%34*6T&M
.%c.@0 #$% /1$%b3 %-QA +%OE-H&=?.%  N2-H 
bY$##?A 6 %YM&NA  &$ A@E#|*
! B%  N- 4$-  2%0@0.%3^bY$&(@EAJAB.@E#IJ 3%" M?>9)]# N- k _2$&@E #%%.IJ%@EA$Ac.@E62%  23-  @0A( %d$A-H%&%3B= N 3B@0.%3
3%#$%.%3 N-H$A&B%  N- L 0*dTWM/.%  NB2-H 93 %0-A L@E1%J@DNAB]NB%D 2$IJ@0 JAB3%OE=4N 3B@0.%P@EA3`3%#$%.%-  @0AAB  %
%2M& 2IJ%34*
SU .%d.@E
]&1 jZ1 jZ e].
%MW%02-4& ^  NB#@E&$Ac.%  NB2-H +bY$&(IJ%.@0W3@0.@0= %?* 6* .%dA@0IJ%0-X M?.%".@0 #$% @- ?%#3B-=A ZbY.
%.2$%1$A3B@0.@?* ! B%d-H%#$%  " [M&NA  . AJ$-NB-%3J. P  N#$@0.%"&B%  N2-H XbY.J3@E&@Z*
)%%Y@0#$- (-H%&SU@EIJM% [a. * nnQ@0A3J-H%.\F 3BM% [a. F* n p 0*
6=5v Fw %% "=:v Fw ) {w5xBu| 6=5v Fw IM

w:| 2z

 A-H&N  &-L@   Y M0.x*


6=5v Fw %%< 6=5v Fw S)

Q%-H& -/.%" u.%  6@0AB3JMW2%0%-/@0AB Y@0#$#  @0.%3J2%-H N  %-e*


<w}

"=:v Fw %% M zFx `) {w:xBu| "=:J }Jz [x w

M H)zF

[x wK9J>} |1BM@?

'+  %0A3@   M?%#$3"e$:&7}G. J&B%%A3 M


.%  N- *+SU &%G&B@0+@0#$#62%M&%2%A  %-L& F&B%  NB2-H %3B4 NM&MW% %  IJ%
$A10@0#$3B@0.%3+*

}JMxy| "=:v Fw %% {MM{yM|4zFy}JzF -) {w:xBu| 5| }xB~

xB

z9C>} |1BM w:|4z{|4z

2 .%  .%3 1$2.N@E# M&NA  . A`b"B   $-  @0#$#%03`bY%0A%1%0~@%?%#3`A%%03-"&  %  @E#  N#$@0.%3+*GTWM  @0#  NB#@E&%03?%#$3-"@02%J %0AB
NB-%03=?3%1%03  #$@0-H-%-UIJNB- 2%$IJ #$%IJ%A
&B-LMWNA  . AF@0A3C2%.NAJ&B%c@0  2 @E&%"1@0#$N%GMW ?%#3]^e* ! %c3B%MW@EN#$
$IJ #$%IJ%AB&@E&$ AJ2%.NA-/@EAJAB1@0#$$3D>@!?@E2$@0AB *
)%%Y@0#$- (-H%& @0#  NB#@E&%@3 [Y. +* n p 0*
; O0@EIJ #$%- ?-H]# [ 10%21$%bL[-HN  #$@0-H-  [IJ@0$A+*   J@EA3D-H]# [ 10%21$%bL[-HN  #$@0-H&- K,[IJ@0$A+*   +*


Yww: "=:v Fw %&% {MxyzFzF|lz

) 9o{Mw5xBu|

5 %&NB2AB- !65 R ; $M6&B%  N- XbY$##B %2M& 2I3B%#$%&%0-=k' 8 ) ; .%02bY-H%B*

>)=ByHNGu&Cu{H4LI&I"uII
n

)%%Y@0#$- (-H%&\C 3%M[a. *n p 0*


Yww: "=:v Fw %&% {MxB[xBFz |

) 9%{w5xBu|

5 %&NB2AB- !65 R ; $M6&B%  N- XbY$##B %2M& 2I$A-H%&-H=}' 8 ) ; .%b"$-H%B*


)%%Y@0#$- (-H%&\C 3%M[a. *n p 0*
Yww: "=:v Fw %&% {MxA$ M|4z

) 9/{w:xBu|

5 %&NB2AB- !65 R ; $M6&B%  N- XbY$##B %2M& 2INB 3@E&%0-=k' 8 ) ; .%02bY-H%B*


)%%Y@0#$- (-H%&\C 3%M[a. *n p 0*
<w}

"=:v Fw %% {z

) 9C>J<}

|1BM@?

5 %IJ 1%-/@E##MB%0#3B-/MW I .%  N- *]SU .%".@E6@0#$#%MW%%A  %-X. G.%  NB2-H +%03$ NM&MW%4 %  IJ%d$A1@E#$3@E&%03+*
5 %IJ #%IJ%0A.%3(MW2 I>9)]# 5 %  3. * , 0*
}xy| "=5v Fw %% zF

Yww:B}xyM} M|4z},

ZA

9->}

|1BM@?

Q%#$%.%-c@2%  23 MW2 I&B%F3@E&@E @0-H%CNB-$A &B%  NB2-H 2 -c 2$IJ@0 C$A3B%OC@EA3 .%  A.%AB&-c MQ&B%  N2-H Y%3$~ NM&MW%*
5 %&NB2AB-
.%~ANBIJ % M %  3-
bYB  bY%2%~3B%#%0&%3B=0   $M.%02%UbY@0-
@EAG%2 *4e 6%2 6ABMW 2IJ@E&$ A=EN-H%9#$@0-H ; 2 u[0*
7 A#$ 2%  23B-
bY  PIJ%%B&B%?#.%  2$&%@d- %  B%03 .%  N2-H 2 - 2$IJ@02 AB3%Od@02%3%#$%.%3+*T&M&B%  NB2-H 
3B %- AB 
 A.@0$AF@^ 2$IJ@0 AB3%OE=BAB J3%#$%.%c-U %02MW IJ%3J@0AB3  $-Q2%.NA%34*ZTWM4$P]e$$]&$- !65 R ; ..%c3%0MW@0NB#[=?&B%  N2%AB
 N-   @EACAB F#$ A%Q %^AB@01$E@E&%03+*X'AB%b-H%#%  " [  @0#$#IJNB-X %^IJ@03%^ %MW %  N  @EAIJ 10%G. D@(1@0#$3%  3+*@e 
%0O0@0IJ #M% 
QSqlCursor cur( "prices" );
cur.select( "id=999" );
if ( cur.next() ) {
cur.primeDelete();
cur.del();
}

T&A`.%F@0 1%D%0O0@0IJ #%=@  N2-H $-  %@0.%3 A .%D 2  %-H.@0 #$%D@EA3  -$. AB%3 . .%D%  3 & %D3%#$%.%3+* $2-H
2$IJ% L%0#%.M% [L-  @E##$%3F. P  N#$@0.%c.%Y%3$
NBMWM&%XbY.D.%  NB22%0A  N- X1@E#NB%-H=?%?* 6*?bY.J@0AC3D M   =?@0AB3D&B%A
3B%J# [$-  @0#$#$%3& C@  .N@E##$ (3%#$%.%G.%^2%  23MW2 I.%P3@E&@E @0-H%B* 5 %IJ%IJ %4@0#$#%3B4 %@0. AB-.AB-%[=6NB 3@E&%t[
@EA3D3B%#$%&t% ["/ %@0.%d AJ.%  AB&%AB&- M?.%  NB2-H X%3$ NBMWMW%0+@EA3JAB  AJ&B%  A.%A.-/ MZ.%  NB2-H +$.-%#$M*
)%%Y@0#$- ( IJ% Q%#$%.M% [). * nK=-H%&\C 3M% [a. * n p Q@0AB3D#$@0-H ; 2 u[#. *  0*
; O0@EIJ #$M% ?-]# [ 1%1%0b[3B%# [IJ@0$A+*   *
}xy| "=5v Fw %% zF

{Mw5xBu| :| }xB~

M HJ|4z :0 Yww5T}xyM}

M|4z},

ZA

9->}

|1BM w5|4zN{|4z

! B--L@0AJ 1%# @E3%3(IJ%IJ %0+M&NA  . AB=  13B%3(MW   AB1%AB%A  %B* TW %B@01%0-X%--H%AB&$@0#$# G#$KE%Y.%"@0 1%YM&NA  &$ A+*
Q%#$%.%- .%  N2%AB  N2-H +2%  23M&2 I&B%93@E&@E @0-H%9N-H$Ac.%y?#.%)e$&x* 7 A#$ %  3- b"B  ^IJ%0%.%?#$&%  .%2$@
@E2%J3B%#%0&%34* 5 %&NB2AB-9&B%(ANIJ %0~ MX2%  23-b"B   bY%2%(3B%#%0&%34*~T&MLP]e$E].~$- !65 R ; .&B%^3B%MW@EN#$i=+&B%  N2%AB
 N-   @EACAB F#$ A%Q %^AB@01$E@E&%03+*X'AB%b-H%#%  " [  @0#$#IJNB-X %^IJ@03%^ %MW %  N  @EAIJ 10%G. D@(1@0#$3%  3+@* e 
%022 4$AM& 2IJ@0.$ A=NB-%Y#$@0-H ; 2 u [0*

>)=ByHNGu&Cu{H4LI&I"uII
n

! B%Ne$&+$-@EAJ)> 8 WHERE  #@EN-H%=%?* 6* id=500*


)%%Y@0#$- (-H%&\C 3%M[a. *n p Q@0AB3D#$@0-H ; 2 u[#. *  0*
6=5az{Mw t

6=5v Fw %% z }| & z ) aww5{Mw5 ~,

9J>}

|1BM@?

5 %&NB2AB-/@c  $A.%4& ^&B%  N2%A


AB&%A@E#%3$6 NM&MW%*TWM
H"j}C$- !65 R ; ..%"3%0MW@0NB#
-k' 8 ) ; =.%  N2%AB  NB2-H B%#$3
10@0#$N%-~@E2% ?2-H  $%3F$A. J&B%%3B+ NM&MW%* ! B%%3$+ NMWM&%$-U1@0#$$3C@E-Q#$ A(@E-Q.%  N- Q2%IJ@EAB-L10@0#$34* ! %  N2-H 
%.@0$A-/ bYA%02-H$ P MZ.%Y2%0&NB2A%03P  AB&%$= -H ^$IJN-HAB  %Y3%#$%.%3( +IJ 3B?%34*
)%%Y@0#$- ( IJ%T&A-H%2" [#. * nK= IJ%0RL 3B@0.M% [#. * nKQ@0A3J 2$IJ% L%0#%.M% [#. +* nK0*
:| }xB~ 6=5v Fw %%
H J|4z ) o
9 {w:xBu|

5 %&NB2AB-/&B%  N2%AB:B#$.%= 4@EAD%IJ . d-H.2$AG$M6.%%d$-/A  NB2%A:?#$&%*


6=5[x z 6=5v Fw %% }x z

M H)zF N

{w5xBu| :| }xB~ }Ju|

zN{9o{Mw5xBu|C>} |1BM@?

5 %&NB2AB- @EAG$A3%0O  IJ  -%3G M""e@e"]P.:=0@E##]$A^'+)


%0A3$AY 3%*ESQ .%9.@E@0#$#B%0#3^A@0IJ%0- IJNB-?%O0$-HB$AG.%  N- $=
.%02bY-H%Y@0AJ%IJ & "AB3%Oc$-%.N2AB%3+*
)%%Y@0#$- (>9)]#$TWAB3%O%. * , 0*
; O0@EIJ #$%- ?-H]# [ 10%21$%bL[%OE&@  [IJ@0$A+*   = -]# [ 1%1%0b[ 3%  [IJ@0$A+*   = -]# [ 1%1%0b[ 3%  [IJ@0$A+*   ^@EA3
-H]# [ 10%21$%bL[.@0 #$%  [IJ@0$A+*   *
6=5[x z 6=5v Fw %% }x z

{w5xBu| :| }xB~

M H)zF N

zL9%{w5xBu|

! B--L@0AJ 1%# @E3%3(IJ%IJ %0+M&NA  . AB=  13B%3(MW   AB1%AB%A  %B* TW %B@01%0-X%--H%AB&$@0#$# G#$KE%Y.%"@0 1%YM&NA  &$ A+*
5 %&NB2AB-/@0AJ$A3B%Oc @0-H%3J <A " e@ e"]Pe*
6=5[x z 6=5v Fw %% }x z

{w5xBu|%{32

*CH)zF N

z9/{w5xBu|

! B--L@0AJ 1%# @E3%3(IJ%IJ %0+M&NA  . AB=  13B%3(MW   AB1%AB%A  %B* TW %B@01%0-X%--H%AB&$@0#$# G#$KE%Y.%"@0 1%YM&NA  &$ A+*
5 %&NB2AB-/@0AJ$A3B%Oc @0-H%3J <A " e@ e"]Pe*
<w}

"=:v Fw %% }xBFz |

}xy|`w0{Mw5xBu| "=:J }Jz [x w

M H)zF

[x wK9J>} |1BM@?

T&A-H%26@   d M"e}L7kd@06  -H$&$ AYjZ:E*TWMZ@YB%0#3P@0#$2%@E3 Y%OE-H&-4@EFjZ::= 6$-X2%0IJ 1%3+*SU .%d.@EZ@0#$#2%M&%2%0A  %0-+. .%
 N- X%3B
NMWM&%4 %  IJ%"$A1@E#$3@E&%34*
; O0@EIJ #$%-?-H]# [ 10%21$%bL[$A-H%2[IJ@0$A+*   (@EA3J-H# [ 1%1$%bL[AB-%  [IJ@0$A+*   *
}xy| "=5v Fw %% }xBFz |

aww5B}xyM} M|4z},

A

9J>}

|B@?

! B--L@0AJ 1%# @E3%3(IJ%IJ %0+M&NA  . AB=  13B%3(MW   AB1%AB%A  %B* TW %B@01%0-X%--H%AB&$@0#$# G#$KE%Y.%"@0 1%YM&NA  &$ A+*
T&A-H%2.-X.%  N2%AB  A.%A.-4 MB.%  NB2-H 2 -4%3BZ%  3^ NBMWMW%0
$A. G.%3B@0.@0 @E-%=]$MZ&B%  NB2-H  @E##$ bY-/$A-H%2.-,* 5 %.N2AB.%YABNIJ %X MZ2 bY-/@EMWM&%  .%3P ".%Y$A-H%2* e 4%2 4ABMW IJ@0. AB= N-H%c#@E- ; 2 [0*
T&M+ P  e.L- !65 R ; ..%c3%0MW@0NB#[ =?&B%  N- LbY#$#ZA D#$ A% %G  -$. AB%3D AF@P1@E#$3F%  3F@0AB3  @0AFAB J# ABE%0L %
AB@01$@0.%3+*' A%0b -H%#%  " [  @E##BIJN-H %YIJ@03B%" %0MW 2%dA@E1@0.$AP& ^@c1@0#$3F2%  23+*

>)=ByHNGu&Cu{H4LI&I"uII

n 

QSqlCursor cur( "prices" );


QSqlRecord *buffer = cur.primeInsert();
buffer->setValue( "id",
53981 );
buffer->setValue( "name", "Thingy" );
buffer->setValue( "price", 105.75 );
cur.insert();

T&A .%(@0 1%J%0O0@0IJ #%= @  NB2-H 9$-  %@0.%3a Aa.%( 2  %-H &@E #%J@EA3 @F  AB&%0Q. &B%(AB-%/ NM&MW%~$-@E]N$2%3 NB-$A
2$IJ%TWAB-%[0* ; @  ?%#$3 -91@0#$N%J$--H%L& &B%(3%-H%3a1@E#NB%D@0AB3 &B%Aa$A-H%2"[d$-  @0#$#%03 & $A-H%2L&B%P3B@0.@JAB& .%
3B@0.@0 @E-%B* 5 %IJ%0IJ %uL@0#$#+%3$/ %@0. AB-.$A-H%2"[=
NB 3@E&%M[d@0AB3 3%#$%.%M["9 %02@0.%P A &B%  A.%AB&-9 MX.%  N2-H 
%03$ NM&MW%4@0AB3JA  AJ.%  AB&%0A.-/ MZ&B%  N- X$&-H%#$M*
)%%Y@0#$- (-H%&\C 3M% [a. * n p Q@0AB3D#$@0-H ; 2 u [#. *   0*
Yww: "=:v Fw %&% }JFvYM{yM|4z K) {w5xBu| :| }xB~

xB

zR9/{w5xBu|

5 %&NB2AB- !65 R ; $M


.%`?%#3]^Q$-  @0#  NB#@E&%03=6 .%b"$-H%`}' 8 ) ; $-L%&NB2AB%3+*TWM
.%`?%#$3]PQ3 %-LA +%O0$-H&=}' 8 ) ;
$-%.N2AB%3+*
)%%Y@0#$- (-H%& @0#  NB#@E&%3@[Y. +*n p 0*
Yww: "=:v Fw %&% }JFaz xyJ

) 9%{Mw5xBu|

5 %&NB2AB- !65 R ; $MB.%  N- +$-+%@03B A#$ =F}' 8 ) ; .%02bY-H%B* ! B%93%M&@0NB#Z$-k' 8 ) ; * 5 %@03B A#$  N- -  @0ABA Z %9%3B.%3
NB-$AP$A-H%2"[= N 3B@0.%M[ 43B%#S[0*
)%%Y@0#$- (-H%&\C 3%M[a. *n p 0*
Yww: "=:v Fw %&% }J  }

z `) {w:xBu| 5| }xB~

xB

zR9%{w:xBu|

5 %&NB2AB- !65 R ; M6.%`?%#$3C]^$-L.2$IJIJ%3= &B%2bY$-%Y}' 8 ) ; $-L%.N2AB%3+*TWM


&B%a?%#$3C]P3B %-/AB 
%OE-H&=M}' 8 ) ; $%.N2AB%3+*
_`%A@ &IJIJ%3?%#3 Md.  % -.2$A   -H&AB -(2%0@03MW2 I .% 3@0.@0 @E-%`@0AB .2@0$#$ABc.2$EB&IJ -H[D- @  %0-P@E2%
%IJ 1%34*
)%%Y@0#$- (-H% ! IJIJ%@3 [#. *nn0*
}xy| "=5v Fw %%

w z

) 9/{w5xBu|

5 %&NB2AB-/&B%  N2%AB  NB2-H +IJ 3B%B*


)%%Y@0#$- (-H%&\C 3%M[a. *n p 0*
:| }xB~ 6=5v Fw %% xB
z

) 9/{w:xBu|

5 %&NB2AB-/&B%dAB@0IJ%Y M6.%  N- *


6=5v Fw JM

"=5v Fw %% w5z M|4w

)%&-&B%  N- X%]NB@0#. (E&k*

, )

{w:xBu| "=:v Fw IM

w5| 2z

>)=ByHNGu&Cu{H4LI&I"uII

nK

6=5[x z 6=5v Fw %% }

[x z

aww5Fz|1 w

v Fw

9 {w:xBu|->J<} |1BM@?
A /

5 %&NB2AB-Q.%^ 2$IJ@0 G$A3B%O^@E--H  $@0.%3bY.&B%  NB2-H L@E-~3%?A%03F$A.%^3@E&@E @0-H%=6 L@EA%IJ . G$A3%0O^$M .%02%$-~A
2$IJ@02 AB3%OZ*TWMk d H0 6Wk0- !65 R ; .&B%~3%M&@0N#$[=E.%U$A3%0O)?%#3B- @E2%~  N#$@0.%3bY..%  22%0-  AB3$A"1@0#$N%0$AD.%  NB2-H 2 -  N2%AB62%  234*
6=5az{Mw t

6=5v Fw %% }

zFzzF|4z

) 9J>}

|1BM@?

2$IJ%-H.%?%#3`1@0#$N%0-d M/.%J%03$ NM&MW%~M& 93%0#%.%(@0AB3 2%0&NB2A-d@F  $A.%~. &B%J%3$ NBMWMW%0|* ! B%P3B%MW@EN#$L$IJ #$%
IJ%0A.@0. A  $%-Y.%% ?%#$3`10@0#$N%-cM&2 I .%  N2%AB  N- "2%  23`AB& .%C%3$U NM&MW%.&B%2%M& 2%=+.$-cMWNA  . A $%0NB10@0#$%A4.  @0#$#$AJ%03$i 6NBMWMW%0u  !65 R ;  0* ! %  N2-H /%&@EAB-L bYAB%2-H$ J M.%%&NB2AB%3J  $A.%=?-H P$+IJN-H AB  %
3B%#$%&%03J +IJ 3B ?%34*
)%%Y@0#$- (%3B[ 6NM&MW% [#. * n  L@EA3J3%0S# [`. * n  0*
; O0@EIJ #$M% ?-]# [ 1%1%0b[3B%# [IJ@0$A+*   *
6=5az{Mw t

6=5v Fw %% }

z[xBFz |

) 9J>}

|B@?

2$IJ%-He&B%YB%#$3(1@0#$N%0- M6.%"%3$ NM&MW%4M& +$A-H%@0AB3J2%.NA-X@  $A.%4. G.%Y%3$6 NM&MW%* ! B%d3B%MW@EN#$IJ #%IJ%0A


.@0.$ A  #$%@0-L@E#t# ?%#3F1@0#$N%-Q$AF.%Y%3$
NBMWM&%|* ! B%  N- /%.@0$A- bYAB%2-H$ J M.%Y2%.NA%3J  AB&%$=-H ( IJN-H AB 
%Y3B%#%0&%3( XIJ 3B ?%3+*
)%%Y@0#$- (%3B[ 6NM&MW% [#. * n  L@EA3J$A-H%2" [a. * n  0*
; O0@EIJ #$%- ?-H]# [ 10%21$%bL[$A-H%2[IJ@0$A+*   =-]# [ 1%1%0b[$A-H%  [IJ@EA4*   =-H]# [ 10%21$%bL[-HN  #$@0-H-  [IJ@0$A+*   J@EA3
-H]# [-H]#.@0 #$% [IJ@EA4*   *
6=5az{Mw t

6=5v Fw %% }

zA$ |lz

) 9->}

|1BM@?

2$IJ%-H &B%B%#$3a1@E#NB%-9 MX.%P%3$/ NM&MW%UM& QNB 3@E&%(@EA3a2%0&NB2A-@J  AB&%0Q. &B%^%3B NMWM&%* ! %(3%M&@0NB#/$IJ #$%
IJ%0A.@0. A  $%-Y.%% ?%#$3`10@0#$N%-cM&2 I .%  N2%AB  N- "2%  23`AB& .%C%3$U NM&MW% .&B%2%M& 2%=+.$-cMWNA  . A $%0NB10@0#$%A4.  @0#$#$AJ%03$i 6NBMWMW%0u  !65 R ;  0* ! %  N2-H /%&@EAB-L bYAB%2-H$ J M.%%&NB2AB%3J  $A.%=?-H P$+IJN-H AB  %
3B%#$%&%03J +IJ 3B ?%34*
)%%Y@0#$- (%3B[ 6NM&MW% [#. * n  L@EA3JN 3@0.M% [Y. * n  0*
; O0@EIJ #$%- ?-H]# [ 10%21$%bL[  NB-. I  [IJ@EA4*   =-H]# [ 1%021$%bL[MW I  [IJ@0$A+*   (@EA3J-H# [ 1%1$%bL[N 3B@0.% [IJ@0$A+*   +*
<w}

"=:v Fw %%Z z

w5<z

}xy|wf9->} |B@?

5 %IJ 1%-Q&B%?%#3@0tj6E* TWMMjZ:93 %0-LAB +%0O0$-.=ZA .$A(@E  %AB-,* SU &%G&B@0+@0#$#?%MW%02%A  %-Q& J.%  N- L%3$4 NM&MW%
%  IJ%YAB1@0#$$3@0.%34*
5 %IJ #%IJ%0A.%3(MW2 I>9)]# 5 %  3. * , 0*
Yww: "=:v Fw %&% Fzz{|
) 99->} |B @?

{w5xBu| 5| }xB~

M HJ|4z <0 {w5xBu|

6=5[x z

Fw |-,

"=:[x z

)%#%  .-@0#$#?%#$3-/$AD.%  N- XM&2 I&B%d3B@0.@0 @0-H%YIJ@0  BAB&B%YB#$&%0  2$&%02$@)e$&x* ! %"3@E&@c$-%.N2AB%3(AJ.%" 23B%
-H %   ?%3J Y.%"AB3%O~kEH* 5 %0&NB2A- !65 R ; M6.%"3@E&@cbY@E--HN } %-H-M&N#$# c-H%#$%  .%3= &B%2bY$-%a}' 8 ) ; -2%.NA%34*
! B% )e$&d$-@-.2$A  A.@0$A$A @EA )> 8
 #$@0NB-% NUbY$&B N~.%F _ < ;?54; ?K% bY 234* ! B%  NB2-H Y-$A$.@E##$
 -$&$ A%03C@E+@EAC$A10@0#$3a b @EMW.%.$-UMWNBA WHERE
 .$ AC$-  @E##$%3+* ! DIJ 1%G& D@P1@E#$32 b4=ZN-H%^-H%%5K [=B-"[=B#$@0-H"[=6 2%1t[
XAB%O0" [0*

>)=ByHNGu&Cu{H4LI&I"uII

n 

; O0@EIJ #$%M
QSqlCursor cur( "Employee" ); // Use the Employee table or view
cur.select( "deptno=10" ); // select all records in department 10
while( cur.next() ) {
... // process data
}
...
// select records in other departments, ordered by department number
cur.select( "deptno>10", cur.index( "deptno" ) );
...

! B%B?#.%Lb"$#$#6@0  #$ G. J@0AB ^-HN -H%]N%0A4-%0#%  [  @0#$#-~.@E 3B DA 4%OE #$  .# ^- %  $MW ^@0A .%0?#.%*
)IJ$#@E2#$ (&B%- 
bY$##?@0  # Y. G@EA c-HN -H%]N%AB-%0#%   [  @E##$-.@E3 PA 6%OE #$  .# c-H %  M& Y@0A .%0+-H 2*
QSqlCursor cur( "Employee" );
cur.select( "deptno=10" ); // select all records in department 10
while( cur.next() ) {
... // process data
}
...
cur.select(); // re-selects all records in department 10
...

; O0@EIJ #$%-?-H]# [ 10%21$%bL[3%0# [IJ@EA4*   =-H]# [ 1%021$%bL[%O0.2@  [IJ@0$A+*   = -]# [ 1%210%bL[ 3%  [IJ@0$A+*   =
-H]# [ 10%21$%bL[ 23B%  [IJ@0$A+*   = -H]# [ 10%21$%bL[2%0&%10%  [IJ@0$A+*   = -]# [ 1%1%0b[.@0 #$%  [IJ@EA4*   (@0AB3
-H]# [ 10%21$%bL[N 3@0.% [IJ@EA4*   *
Yww: "=:v Fw %&% Fzz{|

)9

! B--L@0AJ 1%# @E3%3(IJ%IJ %0+M&NA  . AB=  13B%3(MW   AB1%AB%A  %B* TW %B@01%0-X%--H%AB&$@0#$# G#$KE%Y.%"@0 1%YM&NA  &$ A+*
)%#%  .-9@0#$# ?%#$3-9$Aa&B%  N- ~M&2 I .%P3@E&@E @0-H%B* ! %P2 bY-9@E2%P2%.NA%3$Aa&B%^ 3%U-H %  ?%3 (&B%^#$@0-H  @E## &
-H%.) 2" [9 Q&B%G#$@0-H  @E##
& D-H%#$%  " [9.@E+-H %   ?%3@(- &=6bYB  %1%0L$-9.%GIJ -HX2%  %AB */TWM4&B%2%G-9AB  N2%A4-H 2.=
.%G 23%0XAbY  F.%c bY-@0%2%0&NB2A%03D-QNAB3% ?A%03+* ! B%c2%  23B-@0`% B#$.%2%3F@ } 23BAB^. J&B`% B#$.%/-H %   ?%3D
.%d#@E-  @0#$# & G-%[  $#.%u [X +.%9#$@0-H  @E## . -H%#%  " [/&B@0?- %   B%03^a@ B#$.%=]bY  B%1%+$-X&B%9IJ -Z%  %AB * TWM.%02%$-4A
 N2%ABN ?#.%$=@E##Z2%  23B-L@E2%c%&NB2AB%3+* ! %  NB2-H $-L$A$.@E##$ ^  -$&$ A%03D@0+@0ACAB1@0#$32 b9* ! (IJ 1%c. J@G1@E#$32 b4=
NB-%c-H%%5K [F= ?2-H [=]#$@0-H [= 2%M1 [L 4A%OE [0*
)%%Y@0#$- (-H%&) 2" [#. * nnL@EA3D-H%[  #$&%0u [#. * n p 0*
Yww: "=:v Fw %&% Fzz{|

{w5xBu| "=5[x z

Fw |19

! B--L@0AJ 1%# @E3%3(IJ%IJ %0+M&NA  . AB=  13B%3(MW   AB1%AB%A  %B* TW %B@01%0-X%--H%AB&$@0#$# G#$KE%Y.%"@0 1%YM&NA  &$ A+*
)%#%  .-"@E## ?%#$3-Y$A .%  N- "MW I &B%D3@E&@E @0-H%B* ! %F3@0.@-Y2%0&NB2A%03 $A .%F 23%0-H %  ?%3 C&B%DAB3%OPkEH*
! B%c2%  23B-/@0`% B#$&%02%3J@ } 3$A^& (.`% ?#.%X-H %   ?%3D c.%Y#@E-  @E##?. ^-H%[ #$&%0u[Q /&B%Y#@E-  @E##?& (-H%#$%  "[L.@E
-H %   ?%3a$@ ?#.%$=
bY  B%1%U$-.%PIJ -2%  %A* ! %  NB2-H ~-AB.@E##$ D  -H$&$ A%3a@E/@0Aa$A10@0#$3  b9* ! CIJ 1%(& C@
10@0#$3D b4=N-H%Y-%%0K [F= ?2-H [= #$@0-H" [= 2%0M1 [/ XA%0O0" [0*
Yww: "=:v Fw %&% Fzz{|

{w5xBu| "=5[x z

M HJ|4z 0 {Mw5xBu|

6=5[x z

Fw |9

! B--L@0AJ 1%# @E3%3(IJ%IJ %0+M&NA  . AB=  13B%3(MW   AB1%AB%A  %B* TW %B@01%0-X%--H%AB&$@0#$# G#$KE%Y.%"@0 1%YM&NA  &$ A+*
)%#%  .-d@E#@# ?%#3B-d$A .%  N- 9IJ@E  $A.$% ?#.%9$A3B%Oy)e.x* ! %J3B@0.@D-Y%&NB2AB%3aA`&B%D 23B%~-H %  ?%3 D.%
$A3B%O~kEH* ! :% e$.+AB3%OcbY 2K-X  AB-.2N  .AB@Y_ < ;?54;  #$@0NB-%YN-H$AG.%"A@EIJ%-/ MZ.%aB%#$3-XM&2 I&B%:)e.+@0AB3

>)=ByHNGu&Cu{H4LI&I"uII

n p

.%0/10@0#$N%-QMW I.%  NB2%A  N- 2%  23+* ! %  N2-H /$-L$A$.@E##$  -H.$ A%3D@E
@EADAB1@0#$$3C b~* ! ^IJ 1%c. P@G1@E#$3
 b4=N-H%Y-%%0K [F= ?2-H [=]#$@0-H[= 2%1t[/ 4A%OE[0* ! B-/M&NA  . A($-/N-H%MWNB#=BMW 4%OE@0IJ #$%= MW 4%&%01ABc3@E&@c @E-%3(NB  A
@G&@E #% -X 2$IJ@0 YAB3%O
QSqlCursor cur( "Employee" );
QSqlIndex pk = cur.primaryIndex();
cur.setValue( "id", 10 );
cur.select( pk, pk ); // generates "SELECT ... FROM Employee WHERE id=10 ORDER BY id"
...

T&A .$-%OE@0IJ #$%J.%J>9)]#$TWAB3%OE=+ KE=4$-N-H%3`MW ~.b" 3BM&MW%%A/ N2  -%-e*"_ B%A NB-%03 @0-"&B%B#$&%0[B-["@02NIJ%0A.=
. %$?%#$3 A@EIJ%-"  A.@0$A-"@0%JN-H%3 .  A-H.2N  .%(_ < ;B54;  #@EN-H%=X%@   -H%. &B%  N2%AB  N2-H 91@E#NB%= WHERE
=
AC&B-  @E-%B*_ B%AFNB-%3C@0-U.%c-H 2<.-H%  A3U@E2NIJ%AB .%?%#$3DA@EIJ%-U  AB&@EAB-L@E2%NB-%03FMW &B% 795 ;?5
id=10
?
 #$@0N-H%= ORDER BY id $AD.$-/%O0@EIJ #$%B*
<w}

"=:v Fw %% Fz|4vYM{yM|4z `) {Mw5xBu| 5| }xB~

xB

z!0aww5{MM{yM|4z

9->}

|1BM@?

)%&-y?%#$3P~. CHeHe$.?*4TWM+&B%B?%#$3aPU3B %-UA X%OE-H&=6AB &BABJ@E  %AB-,* ! %G10@0#$N%P M @  @E#  N#$@0.%3B%0#3$-H%4 .%  @0#  NB#@E&%  $%#$3 [910&NB@0#ZMWNBA  .$ ACbY    NCIJN-H+%$IJ #%0IJ%A+ &B%2bY$-%G&B%B%0#3C1@0#$N%PbY#$#Z %  IJ%@EA
$A10@0#$3C@> !?@E2$@0A*] @0#  N#$@0.%o3 ?%#$3-/3B ^AB @0  %@04$AJE%0A%@0.%3J)> 8 -H.@0.%IJ%A.-X-H%A. P&B%d3B@0.@0 @0-H%B*
)%%Y@0#$-  @E#  N#$@0.%  $%#@3 [Y. +* n  Q@0AB3J>9)]# 5 %  3 k -H%[ L%0A%@0.%3 [#. +* ,  0*
<w}

"=:v Fw %% Fz|1y}J|4z ) {w5xBu| :| }xB~

9 >}
M HJ|4z C

|1BM@?

)%&-&B%  N2%A5?#$&%4. )e.x*SQ .%"&B@06A PA%0b 2%  23B-X@02%"-H%#%  .%3+* ! G-H%#$%  6AB%b %  3-H= N-H%"-H%#$%  "[0* ! %)e.
bY$##?@0  # Y. G@EA c-HN -H%]N%AB-%0#%  [  @E##$-.@E3 PA 6%OE #$  .# c-H %  M& Y@`B#$&%0|*
! BY% B#$&%0+$-@EAJ)> 8 WHERE  #@EN-H%cbY. NB6&B%"K% bY 3P _ < ;?54; = %B* Z* name=Dave*
<w}

"=:v Fw %% Fz|


ozxBz M|4z `) {w5xBu| :| }xB~

xB

z$0:Yww:~zFxBz M|4z

9->}

|B@?

)%&-X.%"%A%@0.%3TB@EMW +&B%#?%#$3D]^4. ) ].B*TWM?&B%#?%#$3P3B %-4A 6%OE-H.= A .$AB@0  %0A-e* 7 A#$ YB%#$3-X.@E


B@01 % H]&-%06& !65 R ; @E2%"A  #$N3%03DAF&B%d)> 8 &B@0$-/%A%02@0.%3B=%B* Z*] Y>9)#$
NB2-H |*
)%%Y@0#$- ($L- Q%A%02@0.%@3 [#. * , K0*
5 %IJ #%IJ%0A.%3(MW2 I>9)]# 5 %  3 . * ,  0*
<w}

"=:v Fw %% Fz|


ozxBz M|4z `) }xy|%}0:Yww5T~zFxBz M|4z

9J>}

|1BM@?

! B--L@0AJ 1%# @E3%3(IJ%IJ %0+M&NA  . AB=  13B%3(MW   AB1%AB%A  %B* TW %B@01%0-X%--H%AB&$@0#$# G#$KE%Y.%"@0 1%YM&NA  &$ A+*
)%&-&B%"%AB%2@E&%3 ?@0^MW 4&B#% ?%#$3F .# ].B*
)%%Y@0#$- ($L- Q%A%02@0.%@3 [#. * , K0*
5 %IJ #%IJ%0A.%3(MW2 I>9)]# 5 %  3 . * ,  0*
<w}

"=:v Fw %% Fz|1w z

}xy|

w z9C>J<} |1BM@?

)%&-U.%  N- LIJ 3%. F^EEe* ! B-U1@E#NB%  @EAC %G@0A 97 5 %03  IJ $A@E&$ AF M >9)]# N- k \F 3B%^10@0#$N%-e* ! %3B%MW@EN#$
IJ 3B%YMW 4@  NB2-H X-L>9)]# N- k _2$&@E #%B*

>)=ByHNGu&Cu{H4LI&I"uII

nn

QSqlCursor cur( "Employee" );


cur.setMode( QSqlCursor::Writable ); // allow insert/update/delete
...
cur.setMode( QSqlCursor::Insert | QSqlCursor::Update ); // allow inserts and updates only
...
cur.setMode( QSqlCursor::ReadOnly ); // no inserts/updates/deletes allowed

<w}

"=:v Fw %% Fz|


z

{Mw5xBu| :| }xB~

xB

z$0:Yww5Ty|lw5w5 yM|4z^,

A

9C>J<}

|1BM@?

)%&-~.%^A@EIJ%^ M+&B%  N2-H Q& CPe*XT&M4]."j6"j6e$]&L$- !65 R ; .&B%3%0MW@0NB#[=6.%PP~IJNB-  22%0-  AB3C. D@(1@E#$3
.@0 #$%9  1%0bAB@0IJ%9$AG.%~3B@0.@0 @E-%B* ' #$- =]AB &%~.@EB@E##]2%0MW%%A  %-. c&B%  N-  %3$ NBMWM&% %  IJ%~AB1@0#$3B@0.%3Pb"B%A
?%#$3-/@E2%Y@0NB& W  N#$@0.%34*])%%Y.%Y>9)]#$
N-   A-H&N  & 43  NIJ%AB&@E&$ AJMW 4IJ %d$AM& 2IJ@0.$ A+*
<w}

"=:v Fw %% Fz| }

[x z

{Mw5xBu| 6=5[x z

9J>}

|1BM@?

)%&-Q.%Y 2$IJ@0 cAB3%O^@0-H-  @E&%03DbY.D.%  NB2-H /. P.%Y$A3B%OP


*?SQ .%c.@0 &B-LAB3%OGIJN-H  A.@0$AD@B?%#$3D /-H%
M ?%#$3-9bYB   3B%A.$MW (@JNAB]N%J%  3b"$.$A &B%^NBA3B%2#$ $A3@0.@0 @E-%(.@0 #$%( Q10%b -H C.@E/N 3B@0.%M[@EA3a3B%#S[
bY$##?%OE%  NB&%"@0-/%0O0 %  &%03+*
)%%Y@0#$- (N 3@0.M% [Y. F* n  U@0AB3J3%J# [a. +* n  0*
<w}

"=:v Fw %% Fz|4w |

{Mw5xBu| "=:[x z

Fw |19C>} |1BM@?

)%&-~.%  NB22%0A4- 4& x0H*4SU .%G.@E+AB DA%0b2%  23B-L@E2%G-H%#$%  .%34* ! F-%#$%  +AB%b%  3-H=6N-H%G-H%#%  "[0* ! %k0H
bY$##?@0  # Y. G@EA c-HN -H%]N%AB-%0#%  [  @E##$-.@E3 PA 6%OE #$  .# c-H %  M& Y@c-  *
<w}

"=:v Fw %% Fz|  }

z :) {w5xBu| 5| }xB~

xB z$0Naww:y| }

9J>}

|1BM@?

)%&-B%#$3F]P/. P.*]TWM6.%a?%#3FP3 %-XAB %O0$-H&=AB &BAB@E  %AB-,*


_`%A@ &IJIJ%3 ?%#3 Md.  % -.2$A   -H&AB -(2%0@03MW2 I .% 3@0.@0 @E-%`@0AB .2@0$#$ABc.2$EB&IJ -H[D- @  %0-P@E2%
%IJ 1%34*
)%%Y@> !?@E2$@0A*
)%%Y@0#$- ($- ! 2$IJIJ%@3 [a. F* n  0*
6=5[x z 6=5v Fw %% Fw |

) 9o{Mw5xBu|

5 %&NB2AB-/&B%  N2%AB- &= X@EAJ%IJ . YAB3%OY$M6&B%2%"-LA  NB22%0A6-H 2*


:| } xB~ 6
=5v Fw %% |4w:| }xB~ ) 6=5az{w t

{w:xBu| 5| }xB~ M H#zF z 0<{w:xBu| 5| } xB~

z H 0
zN{h0 {w:xBu| 5| }xB~ M $
9%{w:xBu|->} |1BMy :
w |4z{|4z
M Fzq

5 %&NB2AB-/@cMW IJ@0.&%3(-H&AB  IJ  -%3J MZ@E##B&B%a?%#$3-/$AFHk* ; @  $?%#3J$-  IJ  -%03J M?.% j6m.%?* 6* .@0 #$%Y +10%b
AB@0IJ% = * =6&B`% B%#$3FAB@0IJ%=Z.%@"e$E [j@0AB3F.%?%#$3F1@E#NB%B*T&M
.%j6H@($-Q%0IJ & G&B%AD.%?%#$3FbY#$#Z %AbY.F.%
?%#$3(A@0IJ%?* ! #
% B%0#3B-X@02%".%A#. $A%03P. %&B%+-% @02@E&%03P Qk[jX* $%#3B-XbY%%d$-LQ%AB%2@E&%3@[X2%.NA-k' 8 ) ; @0%dAB 
$A  #NB3%34* ! B-MWNA  . AJ$-/NB-%M&N#BMW 4E%0A%@0.ABG)> 8 -.@0.%IJ%AB&-e*

>)=ByHNGu&Cu{H4LI&I"uII

n 

:| } xB~ 6
=5v Fw %% |4w:| }xB~ ) {Mw5xBu| 5| }xB~ M z!H 0 6=5Jy}JzF
{w:xBu| 5| }xB~ M H#zF z9%{Mw5xBu|->} |B
 w:4| z{|4z ?

*CH)z 0

! B--L@0AJ 1%# @E3%3(IJ%IJ %0+M&NA  . AB=  13B%3(MW   AB1%AB%A  %B* TW %B@01%0-X%--H%AB&$@0#$# G#$KE%Y.%"@0 1%YM&NA  &$ A+*
5 %&NB2AB-~@JMW 2IJ@E&.%3-.2$A  IJ  -H%3 M4&B#% j6 .%B* 6*Q&@E #%( U1$%bA@EIJ%= * = .%"ePAB@0IJ%= &B%"e [ja@0AB3
./% B%0#3 1@0#$N%?*(TWML&B% jZH -Y%IJ & C&B%A .%C-.2$AbY#$#X %AbY$&`&B%y"eCA@EIJ%B* ! $-YMWNBA  .$ A`$-cN-H%MWNB#4MW 
%AB%2@E&$A^)> 8 -H&@E&%0IJ%A.-,*
:| } xB~ 6=5v Fw %% |4w:| }xB~ ) {Mw5xBu| "
=:[x z M }0 "=:#zN{w
* z{0
{w:xBu| 5| }xB~ M z$H 0{Mw5xBu| :| } xB~ M H#zF zj0<{Mw5xBu| :
| } xB~ M Fz9
{w:xBu|->} |1BMy w:|4z{|4z ?

! B--L@0AJ 1%# @E3%3(IJ%IJ %0+M&NA  . AB=  13B%3(MW   AB1%AB%A  %B* TW %B@01%0-X%--H%AB&$@0#$# G#$KE%Y.%"@0 1%YM&NA  &$ A+*
5 %&NB2AB-/@MW IJ@0.&%03P-H.2$A  IJ  -%03J M6@0#$#.Y% B%0#3B-/AF&B%"$A3B%OG|* ; @  $B%0#3J$-  IJ  -%03J M?.% j69.%B* 6*&@E #%
Q1$%bAB@0IJ% = * =
.% ?%#$3AB@0IJ%=6.% 9" e$ [ j@EA3.%B?%#$3C10@0#$N%B*TWM+&B%)j6J$-~%IJ . G.%A&B%B?%#$3CbY$## %0E$A
bY$&^&B% ?%#3GA@0IJ%?* ! y% ?%#$3G1@E#NB%-4@02%~.@0K%A^MW2 IHk* ! y% ?%#3B- @E2%9.%0 A . $A%3^& %.%
-% @02@E&%03 /k[ jXl*  %0#3BbYB%2%Y$L- Q%A%02@0.%@3 [/2%.NA- k' 8 ) ; @E2%YA %3+* ! $-XMWNBA  .$ AJ-LN-H%MWNB#MW 4%A%02@0.$A)> 8 -.@0.%IJ%AB&-e*
}xy| "=5v Fw %% y |lz

aww5B}xyM} M|4z,

ZA

9J>}

|B@?

RQ 3B@0.%-.%3@E&@E @0-H%bY$& .%  N2%A  A.%A.- M~.%%3B9 NBMWM&%|* 5 %.N2AB-.%ANIJ %0c M~2%  23-Gb"B   bY%2%
NB 3@E&%03=   $M6&B%2%"bY@0-/@EAJ%2 |*le 4%2 4ABMW IJ@0. AB= N-H%c#@E- ; 2 [0*
7 A#$ ^%  3-Qb"B  CIJ%0% .%B#$.%  2$&%@P-H %  ?%3F ^&B%  NB2-H 2 -L IJ@E2 ^AB3%OP@0%GN 3@0.%34*+TWM
.%  NB2-H L3B %AB   AB&@EAJ@G 2$IJ@0 d$A3B%O0=AB ^NB 3@E&%Y$-/ %MW IJ%3^@EA3  $-/2%0&NB2A%03+*
T&MZ P  e]& $- !65 R ; ..%~3B%MW@EN#$i =].%  N2%AB  N2-H   @0APA #$ A%+ %9A@E1$E@E&%34* 'A%b-H%#$%  " [  @E##]IJNB-Z %IJ@E3%
%0MW 2%"  N  @0AJIJ 1%Y. ^@c1@E#$3J2%  234* e 4%O0@EIJ #$M% 
QSqlCursor cur( "prices" );
cur.select( "id=202" );
if ( cur.next() ) {
QSqlRecord *buffer = cur.primeUpdate();
double price = buffer->value( "price" ).toDouble();
double newprice = price * 1.05;
buffer->setValue( "price", newprice );
cur.update();
}

T&A(&B%9@0 1%%O0@EIJ #%0=@  NB2-H  $-  %@0.%3^ A^.%9 2  %0-k&@E #%d@0A3P$-X  -$. AB%3G AP&B%92%  23^& G %9N 3B@0.%NB 3@E&%34*
'  $A.%9$-d.%0A @0]N$2%03 & .%  N2-H 2 -%3BQ NM&MW%~NB-$A IJ%0RL 3B@0.%M[0*' AB%b10@0#$N%D$-  @0#  NB#@E&%3 @0AB3 #$@  %3
$A. J.%Y%3$
NBMWM&%/bY.D.%Y-H%!Z@0#$N%M[  @0#$#|*: AB@0#$# =Z@0AFN 3B@0.%M[  @0#$#Z-LIJ@03%G AD&B%  NB2-H /bY  DNB-%-Q.%Y&@E #%0- 2$IJ@02 J$A3B%OD. N 3B@0.%P.%(%  3aA`&B%P3B@0.@0 @E-%JbY$& .%  A.%A.- MX.%  N2-H 2 -9%3BL NMWM&%* 5 %0IJ%IJ %uQ@E##
%03$X %2@E&$ A- .$A-H%2" [=6N 3@0.M% [~@EA33%#$%.%M["~ %@0.%G A.%  A.%A.-U M4&B%  NB2-H L%03$X NMWM&%Q@0A3AB + A.%
 A.%A.-/ M6.%  NB2-H X.-%0#M*
SU .%G.@E $M .%^ 2$IJ@0 G$A3B%OG3B %-UA 4NAB]N%0# P3$-.$AN$-a%  3-Q&B%3@E&@E @0-H%GIJ@0 ^ %  @0ABE%03C$A. D@0A$A  AB
-H$-.%A -.@0.%B*
)%%Y@0#$- (-H%&\C 3M% [a. * n p Q@0AB3D#$@0-H ; 2 u [#. *   0*
; O0@EIJ #$M% ?-]# [ 1%1%0b[NB 3@E&%[IJ@0$A+*   *

>)=ByHNGu&Cu{H4LI&I"uII
}xy| "
=5v Fw %% y |lz ) {w:xBu| 5| }xB~
A 9->} |B w:|4z{|4z ?

M HJ|4z :0 aww5}xyM}

M|4z},

! B--L@0AJ 1%# @E3%3(IJ%IJ %0+M&NA  . AB=  13B%3(MW   AB1%AB%A  %B* TW %B@01%0-X%--H%AB&$@0#$# G#$KE%Y.%"@0 1%YM&NA  &$ A+*
RQ 3B@0.%-c&B%C3B@0.@0 @E-%bY.&B%  N2%AB  AB&%AB&-c MU.%  NB2-H c%3$~ NM&MW%YN-H$A .%-H %  ?%3e$&x* 5 %.NA-c.%
ABNIJ %X M6%  3-XbY  JbY%%dNB 3@E&%03=   M6.%02%"b"@E-@EAJ%2 |*le 4%2 4ABMW IJ@0. AB= N-H%"#$@0-H ; 2 u[0*
7 A#$ c2%  23-XbYB  JIJ%%6.Y% B#$.%  2$.%2$@c@0%dNB 3@E&%3B= .%b"$-H%d@E##B2%  23-X$AD.%"&@E #%Y@E2%"N 3B@0.%3+*
T&M$ P] e$$]&/- !65 R ; .&B%3B%MW@EN#$i = .%  NB2-H   @0AJAB G#$ A%X %dAB@01$@0.%3+*' A%b -%#$%   [  @0#$#IJNB- %"IJ@03B%d %0MW 2%
0 N  @EAJIJ 1%Y& ^@c1@0#$3F2%  23+*
)%%Y@0#$- ( IJ%RQ 3B@0.M% [). * nK=-H%&\C 3M% [a. * n p Q@0AB3J#@E- ; 22  [a. *   0*

! B%Y>9)]#Q@0.@0 @E-%  #$@0-H-$-NB-%03J&  %@0.%d)> 8 3@E&@E @0-H%  AAB%  .$ A-/@EA3J  13B%d.2@EA-H@  &$ AJ@EA3#$$A6*
! B-  #$@0-H-$- @E26 M6.%"}?BIJ 3BN#$%B*
T&AB%2$&-> 7 u.%  .'+33$. AB@0# NBA  .$ A@0#$$& cbY$&J>9[0*
#include <qsqldatabase.h>

J _ .:: , 0# _ 0d5X
BBpU ? }[
#?Z$ [
#?Z$   AB->)&AB NB-%$=  A-H>9).2$A @0-H-Hb" 3y
1 $3JepBka [
#p Z]$ [  AB-
#p Z]6?? [  A-H
>9).2$A 8 -H
?p] [  AB-
>9)]#$TWAB3%OcZp E|6Z]   A-H>9).2$A &@E #%0A@0IJ%@  AB-
>9)]# 5 %  23(]eB   A-H>9).2$AB &@E #%0A@0IJ%  AB-
>9)]# 5 %  23(]eB   A-H>9)]#$>9N%02Y ]N%   A-H
>9)]# 5 %  23T&AM& G]eBZ|6.T   A-H>9)&AB .@0 #$%A@EIJ%@  A-H
>9)]# 5 %  23T&AM& G]eBZ|6.T   A-H>9)#$>9NB%2Y ]N%02   A-H
>9)]#$>9N%02 Y]0]   AB-
>9).2$A NB%2o >9).2$A5 k ANB##   AB-
>9)]# ; 2 4p }Z? [  A-H
# 6k epBo [
#e?p5 [
#?ppB  [
1$2.N@E#1 $3J}]U B k[ V~ Y   A-H>9).2$A A@EIJ% 
1$2.N@E#1 $3J}] }]Q V~ #   A-H>9)&AB AB@0IJ% 
1$2.N@E#1 $3J}] k}?T   AB-
>9).2$A @0-H-bY y3 
1$2.N@E#1 $3J}] Bk V~ Y   A-H>9).2$AB  -H 
1$2.N@E#1 $3J}]?t E$Ay 
>9).2$AG? ? }[ V~ ` [  A-H
>9).2$AG6}]Q V~ a [  A-H
>9).2$AG? k}?o [  A-H
>9).2$AB 6Bk V~ Y [  A-H
>9).2$AG?p]Q V~ Y [  A-H
[  AB-
$AZ?5
> 9)]# L10%@ c?p] [  AB-
U




>)=ByH
'

X sXY4LIFH &!I&I"uII


] E: UJ _ .:: , 0a _ 0"5X
>9)]#L@E&@E @0-H%Y" ZZU B k  A-H>9).2$AB.  %=  A-H>9).2$A  ABA%  &$ ASU@0IJ%o
3%0MW@0NB#.
ABA%  &$ A 
>9)]# L@E&@E @0-HY% "Z ? }`   A-H>9)&AB  ABA%  &$ ASU@EIJ$% 3%0MW@0NB#.
ABA%  &$ A= # %A 6! 5 R ;
1 $3J]?U ? }Y   A-H>9).2$A  ABA%  &$ ASU@0IJ@% 
#e?6 p6   A-H>9)&AB  AA%  . ABSQ@EIJo% 3%0MW@0NB#.
ABA%  &$ A 
>9).2$A 8 -H
Zp[

J6o0"610#X
>9).2$AcZ ? }[V~  .%"A@EIJ%d MZ.%3B@0.@0 @E-%" 4&B% ! SU)P)%210  %dSU@0IJ%"MW +.%"> 7 
T   7 2@  #$%/3B2$1%
>9).2$AB 6Bk V~ #  .%" -HA@EIJ%"bYB%2%"&B%d3B@0.@0 @E-%Y2%0-$3%>9).2$AG? k}?8  &B%Y @0-H-bY 3JN-H%3J&  ABA%  & P.%"3@0.@0 @E-%
$AZ?$  .%"  6N-H%3D.  ABA%  . G.%Y3@E&@E @0-H%
>9).2$AG6}]Q V~   .%"N-H%XA@EIJ%  AAB%  .%3J. G.%Y3@E&@E @0-H%
U

J6(l0dL40" , 0a _ 0"5X
BBpU ? }  A-H>9)&AB3B2$1%$=  A-H>9)&ABAB@0IJ%=> 7 u.%  5Y @0%A  =  A-H  B@0Y u.AB@0IJ%
 
U

d ] 1.10"

Q 0

Q 0aX

L61D:(

! B%Y>9)]#Q@0.@0 @E-%  #$@0-H-$-NB-%03J&  %@0.%d)> 8 3@E&@E @0-H%  AAB%  .$ A-/@EA3J  13B%d.2@EA-H@  &$ AJ@EA3#$$A6*
! B-  #$@0-H-$-NB-%3F&  %@0.%  AAB%  .$ A-/. ^)> 8 3B@0.@0 @0-H%-e* T&
@0#$-H P 2 1$3%-&@0A-H@  &$ AJ@EA3B#$APMWNBA  .$ A-/M& X&B -%
3B@0.@0 @E-%Y310%2-/.@E6-NB   6&@0A-H@  &$ A-e*
! B%>9)]# Q@0.@0 @E-%  #$@0-H- $.-%#$MD  1$3%-a@EA @0 -H&@  FAB&%MW@  %MW @ k %-H-$AIJ@0AB &  %-a MJ3@E&@E @0-H% @  K%A34*
Q@0.@0 @E-%0- %     31%02-(@0% N-H%3$A.%A@0#$#$ `. @  &NB@0#$# `@ } %-H-P@EA3IJ@0AB NB#@E&%`3@E&@E=.-%0% >9)]#L1%00* 5 %-HN#$
-H% u |%  .-/  1$3%"&B%d$A.%2M&@  %dM& X%O0%  N.AB@0AB3JIJ@0AB NB#@E&$AP)> 8 NB%2$%#- .-H%%">9)]#$>9N% 0*
)%%Y@0#$- Q@0.@0 @0-H%"
#$@0-H-%-e*
,

0#

"('CF:(

_ 0

PL%0dC ] :(

6=5JM|4MYFz %% 6
=5JM|4MYFz ) {Mw5xBu| :| }xB~
M  }z 0{Mw5xBu| :| }xB~
9 
lzN{
| */ zFxy|-,_.60<{w:xBu|%{E2 *Dw5xB z4,/.`9J> w:|4z{|4z ?

xB

z!0

 2 %@E&%0-Q@^>9)]#L@E&@E @0-H%  ABA%  &$ AFAB@0IJ%3a]^Q.@E NB-%0-Q.%c3B2$1%L2%M&%2%3D. J ^EH P]2=ZbY.F.% @02%0AtjZ]H


@EA3D.%" u.%  6A@EIJ%0s:]^e*TWMZ.%EH P]X-LA 62%  Arx%03=.%"3@E&@E @0-H%  AAB%  . AJbY$##B@E1%YA PMWNA  . AB@0#$. }*
! B%  N2%AB&#$ Y@01@E#$@0 #$%c310%2-X@E2%M
  7 %A L@E&@E @0-H%Y
AAB%  .$1. <L10%
> 7 <
  7  q
% Q2$1%
> 7  T  7 @  #$%"
@0#$#?TWA.%MW@  #
>)> 8 nd5E -.E%)> 8 1 p * Oc@0A3J1tn* O`Q2$1%
 L10%
> ! Q)Nn6)  @0-H%Y' 3B@0 .$1%Y)%210%4@0A3J\C  2 -H MW6)> 8 )%1%@

>)=ByH



X sXY4LIFH &!I&I"uII


9> \C?)> 48  6\F 0)> 8 Q2$1%


SU .%Y&B@06@03B3$&$ A@E#  3J @0& "310%2-  @0AJ %Y#$ @03%03J3 AB@0IJ  @0#$#$ }*

6=5JM|4MYFz

%%&<

"=:JM|4Ma@Fz

)9

Q%-H& -/.%" u.%  6@0AB3JMW2%0%-/@0AB Y@0#$#  @0.%3J2%-H N  %-e*


6=5JM|4MYFz* "=5J|lY@Fz %%
M|4Ma@Fz ) {Mw5xBu| :| }xB~ M |:z!0

{w:xBu| 5| }xB~ M {Mw5xyxBz{|4}Jw5x
z , z yJ|lvaw:xyxBz{|4}Jw5x9->u|4M|4}J{?

'+33B-X@d3B@0.@0 @E-%9. .%9#$$-6 MB3@0.@0 @E-%  ABA%  &$ A-4N-H$Ac.%93B2$1%X j64@0AB3^.%  AAB%  . APA@EIJ%"H0.0ceYPe*
! B%^3B@0.@0 @E-%  ABA%  &$ A-d2%M&%2%3F.  (H0.0ceYPe*L'  $A.%U& C&B%^AB%bY# J@E33B%33@0.@0 @E-%  ABA%  &$ Aa$%.N2AB%3+* ! B-L  AB&%0X-L b"AB%3D Y>9)]#L@E&@E @0-H%c@0AB3DbY#$#B %c3B%#$%&%03J AD 2 2@EI%0O0$
XbY%AF2%IJ 1% L@E&@E @0-H%M[
$-  @0#$#%34*QTWM/H0H.$Ec e"]PQ-~AB X- %   B%03=.%^A%bY#$ P@E33B%33@0.@0 @E-%  ABA%  &$ A %  IJ%0-Q.%P3%0MW@0NB#X3B@0.@0 @E-%
 AAB%  . AGMW 6.%U@0  #  @E&$ A=]@0AB3-HN -H%]N%AB  @E##$-+& "3@E&@E @0-HM% [ .bY$&B N@3@0.@0 @E-%~AB@0IJ%~ @E2@EIJ%&%0 
bY$##2%0&NB2A
@G  AB&%0+. G$*
)%%Y@0#$- (3@E&@E @0-HM% [a. +*  Q@0AB3J2%IJ 1% L@E&@E @0-HM% [#. *  0*
; O0@EIJ #$%- ?-H]# [ 10%21$%bL[  ABA%    [IJ@0$A+*   =-]# [ 1%210%bL[  2%@E&%  ABA%  &$ A-W[IJ@0$A+*   P@0AB3
-H]# [-H]#.@0 #$% [IJ@EA4*   *
<w}

"=:JM|4Ma@Fz

%% {wFz ) 9

 # -H%-L&B%"3B@0.@0 @E-%  ABA%  &$ A=M&2%%0AB@0AB c2%-H N  %-X@  ]N$2%34*


Yww: "=:JM|4Ma@Fz

%% {w

}|

)9

 IJIJ.-+@9&@0AB-@  . A. Y&B%~3@E&@E @0-H%Q$M.%~3B2$1%-HN   2.-&@0AB-@  . AB-,* 5 %&NB2AB- !65 R ; $M.%U %@0. AG-N } %0%3%3B=
k' 8 ) ; .%02bY-H%B*
)%%Y@0#$- (>9)]#L10%uk @0-&e%@E&NB2%M[#. +*  Q@0AB3J2 #$# @  K5[Y. *  0*
Yww: "
=:JM|4Ma@Fz %% {w:xy|4@}xB ) {Mw5xBu| 5| }xB~
z MyJ|4vYw5xyxBzN{|4}Jw:x9C>u|4M|4}J{h?

{Mw5xyxBzN{|4}Jw:x

z},

5 %&NB2AB- !65 R ; $M6&B%d#$$- M?3B@0.@0 @E-%  ABA%  &$ A-  A.@0$A-QEH&0Ee"]^H= .%02bY-H%"2%.NA-}' 8 ) ; *
6=5JM|4MYFz* "=5J|lY@Fz %% M|4MYFz ) {Mw5xBu| :| }xB~
z MyJ|4vYw5xyxBzN{|4}Jw:x0aww:w5zx, A 9->u|4M|4}J{h?

{Mw5xyxBzN{|4}Jw:x

z,

5 %&NB2AB-@D  $A.%~. &B%P3B@0.@0 @E-%  AA%  . A AB@0IJ%3 EH&0Ee"]^e* ! %(3B@0.@0 @0-H%  ABA%  &$ A IJNB-L@010%J %%A
2%1$ N-H#$ d@E33%03PbY$&P3@E&@E @0-HM% [0*]T&MZ1jZG- !65 R ; ..%d3%M&@0NB#[/@0AB3(&B%3@E&@E @0-H%  AAB%  . AP$-/A Z@0#$2%0@03 " %AP$
$-U %AB%3FAB b~*
TWM A FH0.0c eYPL-Q-H %  ?%3F.%3B%MW@EN#$  AAB%  . AC-UNB-%34*T&M+H0.0ceYPL3 %-QA +%OE-H
$AD.%"#$-H
MZ3@E&@E @0-H%-=  -/%.N2AB%3+* ! %"  AB&%0+%.N2AB%3(-L bYA%3J ">9)]#L@E&@E @0-H%"@EA3J-H NB#3C0? %Y3%#$%.%3+*
; O0@EIJ #$%- ?-H]# [ 10%21$%bL[ @0-H  2 bY-HAB:[IJ@EA4*   J@0AB3J-]# [ 1%1%0b[  2%@E&%  ABA%  &$ A-W[IJ@0$A+*   *

>)=ByH

X sXY4LIFH &!I&I"uII



:| }xB~ 6=5JM|4Ma@Fz %&% M|4Ma@Fz z

) 9o{Mw5xBu|

5 %&NB2AB-+.%A@0IJ%d MB.%3@0.@0 @E-%d 


.% ! SU)^)%210  %SU@0IJ%dMW 
.%d> 7  T   7 2 @  #% X32$1%*)%%&B% B3 @0.@0 @E-%SU@EIJ%
. +* p U  %2. M& 43%.@0$#-e*
6=5J }z

"=5J|lY@Fz %% }z ) %


9 {Mw5xBu|

5 %&NB2AB-/@c  $A.%4& P&B%d3B@0.@0 @E-%Y310%4N-H%3D. G@ k %-H-/.%Y3@E&@E @0-H%  AAB%  .$ A+*
:| }xB~ 6=5JM|4Ma@Fz %&%N }<z

) 9o{Mw5xBu|
z

5 %&NB2AB-/&B%dAB@0IJ%Y M6.%"32$1%XNB-%03J ".%"3@E&@E @0-H%  AAB%  .$ A+*


:| }xB~ }Ju| 6=5JM|4Ma@Fz %&%N }<z

) 9C>u|4M|4}J{h?

5 %&NB2AB-/@c#$-H
MZ@0#$#@E1@0$#@E #%c3B@0.@0 @E-%Y310%2-e*
6=5 Bz 6=5JM|4Ma@Fz

%&% z

z{

{w:xBu| 5
| }xB~

,
M =:Bz x

5
| }xB~

%% xyyJ9%{Mw5xBu|

; O0%  N.%-J@EA)> 8 -.@0.%IJ%AB$.%?* 6* @EATWSU) ;?5! =UR</' !6;  ;?8E;?!6; -.@0.%IJ%ABiJ A.% 3B@0.@0 @E-%="@0AB32%.NA-(@
>)]#>9NB%2 " u .%  *RL-H%d#$@0-H ; 2 u[X. %&%01%%2  ABMW 2IJ@E&$ A+* TWM6E C$-X>9).2$A5k ABN#$#=?@0A(%IJ . =]AB1@0#$$3JNB%2 "$%.N2AB%3J@0AB3J#@E- ; 22 [/$-A 6@EMWM&%  .%3+*
)%%Y@0#$- (>9)]#$>9N%02o . *   L@EA3J#$@0-H ; 2 u [Y. *  0*
:
| }xB~ 6=5JM|4Ma@Fz

%&% 2wu|

) 9o{Mw5xBu|

5 %&NB2AB-/&B%dB -
A@0IJ%YbY%02%"&B%d3B@0.@0 @0-H%Y2%-H$3%-e* )%0%d.% B -.SU@0IJ% . +* p U  %2. M& 43%.@0$#-e*
Yww: "=:JM|4Ma@Fz

%% }J

zFx

) 9o{Mw5xBu|

5 %&NB2AB- !65 R ; $M6&B%d3B@0.@0 @E-%  ABA%  &$ AJ$-  NB22%0A.# Y %AB= .%b"$-H%d%&NB2AB-}' 8 ) ; *
Yww: "=:JM|4Ma@Fz

%% }J

zFx w ) %
9 {w:xBu|

5 %&NB2AB- !65 R ; M &B%2%cbY@E-L@EAF%2 / %0A$AP&B%c3@0.@0 @E-%  AAB%  .$ A=? &B%2bY$-%c%&NB2AB-}' 8 ) ; * ; 22 ABMW 2IJ@E&$ A
 @0AD %"2%0&%10%3(N-HABG.%Y#@E- ; 22 [/MWNBA  &$ A+*
6=5 w "=5J|lY@Fz

%% u| <4 w ) 9o{Mw5xBu|

5 %&NB2AB-/ABMW IJ@0. A(@0 NB.%"#@E- %2 +.@E6 } N2%3( AJ&B%Y3@0.@0 @E-%?*])%%Y>9)]# ; 2 4MW 4IJ %d$AM& 2IJ@0.$ A+*
; O0@EIJ #$%- ?-H]# [ 10%21$%bL[  %@0.%  AAB%  .$ A-W[IJ@0$A+*   P@0AB3J-]# [-]#$&@E #% [IJ@EA4*   *
Yww: "=:JM|4Ma@Fz

%% w5zFx ) 9

7  %A-L&B%Y3@0.@0 @E-%  AAB%  . AJNB-$A(.%  NB2%A  AAB%  . AF1@0#$N%-e* 5 %.NA- !65 R ; AD-HN } %-H-=?@0AB3o}' 8 ) ; $M&B%2%
bY@E-@0AJ%022 * ; 22 4$AM& 2IJ@0.$ A  @0AJ %Y%&%01%3PN-HAB^.%"#@E- ; 22 [/MWNBA  &$ A+*

>)=ByH

X sXY4LIFH &!I&I"uII

 K

)%%Y@0#$- (#$@0-H ; 2 u[#. *  0*


; O0@EIJ #$%- ?-H]# [ 10%21$%bL[  ABA%    [IJ@0$A+*   =-]# [ 1%210%bL[  2%@E&%  ABA%  &$ A-W[IJ@0$A+*   P@0AB3
-H]# [-H]#.@0 #$% [IJ@EA4*   *
Yww: "=:JM|4Ma@Fz

%% w5zFx )

BFz 
0 {w:xBu| 5| }xB~

{w:xBu| 5| }xB~

@Fucw

! B--L@0AJ 1%# @E3%3(IJ%IJ %0+M&NA  . AB=  13B%3(MW   AB1%AB%A  %B* TW %B@01%0-X%--H%AB&$@0#$# G#$KE%Y.%"@0 1%YM&NA  &$ A+*
7 %A-U.%3B@0.@0 @E-%  AAB%  . ACN-HABF,kLA@EIJ%@0AB3 j6kg0H?* 5 %&NB2AB- !65 R ; A-N } %0--H=6@0AB3/k' 8 ) ; M+&B%2%cbY@E@EAD%2 * ; 2 4ABMW IJ@0. A  @EAD %"2%.2$%1%3(NB-$A^&B%"#$@0-H ; 2 u[MWNA  . A4*
)%%Y@0#$- (#$@0-H ; 2 u [#. *  0*
:| }xB~ 6=5JM|4Ma@Fz

%&% @Fucw K) 9%{w5xBu|

5 %&NB2AB-/&B%d @0-H-bY 23JNB-%03J&  ABA%  6& P&B%d3B@0.@0 @E-%B*)%%"&B%  @E--HbY 23 . +* p U  %2. M& 43%.@0$#-e*
}xy| "=5J|lY@Fz

%% `w

) 9%{w5xBu|

5 %&NB2AB-/&B%d  26N-H%3J.  AAB%  . G.%Y3B@0.@0 @0-H%B*])%%Y&B%  2 . * p L  %& "MW 43%0&@E#$-,*
6=5[x z 6=5JM|4Ma@Fz

%&%

<[x z

{w:xBu| 5| }xB~

|4MzxB z9/{w:xBu|

5 %&NB2AB-/&B%d 2$IJ@02 Y$A3B%OcMW 4.@0 #$%c.] e$]^e*T&M6A P 2$IJ@0 YAB3%Oc%OE-H.-/@0AJ%IJ & ">9)]#$TWA3B%OcbY#$# %Y%&NB2AB%3+*
6=5az{Mw t

6=5JM|4MYFz %%Z z{Mw t-) {w:xBu| 5| }xB~

|4MzxB z9%{w5xBu|

5 %&NB2AB- @">9)]# 5 %  3G  N#$@0.%3GbY$&^&B%9A@EIJ%-4 M@0#$# .%?%#$3-+AP&B%9.@0 #$%. 


1$%bYXA@EIJ%3J&] e$]Pe* ! %~ 23B%
$ADbY  J.%a?%#3B-/@0%Y2%.NA%3($-NAB3%?A%03+*]T&M?AB ^-HN  D.@0 #$%$. 41$%bY%0O0$-.-=B@0AJ%IJ & "2%  23($-2%0&NB2A%03+*
)%%Y@0#$- (2%  23BTWABMW [). *  K0*
6=5az{Mw t

6=5JM|4MYFz %%Z z{Mw t-) {w:xBu| "=5 Bz

M =5Bz `9%{w:xBu|

! B--L@0AJ 1%# @E3%3(IJ%IJ %0+M&NA  . AB=  13B%3(MW   AB1%AB%A  %B* TW %B@01%0-X%--H%AB&$@0#$# G#$KE%Y.%"@0 1%YM&NA  &$ A+*
5 %&NB2AB-L@^>9)]# 5 %  3D  NB#@E&%3CbY.D.%AB@0IJ%-Q M@0#$#Z&B%?%#3B-LNB-%03F$AF.%)> 8  *TWM &B%cNB%2 G-U@ ) ;?8E;  !
.%" 23%0+$AJbY  $
 ?%#$3-/@E2%Y2%.NA%3($-NBA3% BAB%3+*
)%%Y@0#$- (2%  23BTWABMW [). *  K0*
6=5az{Mw t [x w

"=:JM|4Ma@Fz %%i zN{w [x w

{w5xBu| :| }xB~

|4MzxB

z9o{Mw5xBu|

5 %&NB2AB- @9>)]# 5 %  23BTWABMW Y  NB#@E&%3Gb"$.GIJ%.@03B@0.@9@0 NBB.%~.@0 #$%B. 1$%bY.4ePe*ETWMAB c-N  ^&@E #%. 
1%0ba
%0O0$-.-=B@0AJ%IJ & "2%  23($-2%0&NB2A%03+*
)%%Y@0#$- (>9)]# 5 %  23T&AM& /. * , =>9)# $%#3BTWABMW 9. * ,  U@EA3J2%  23@[#. *  K0*
6=5az{Mw t [x w

"=:JM|4Ma@Fz %%i zN{w [x w

{w5xBu| 6=5 Bz

9/{w:xBu|
M =5Bz :

! B--L@0AJ 1%# @E3%3(IJ%IJ %0+M&NA  . AB=  13B%3(MW   AB1%AB%A  %B* TW %B@01%0-X%--H%AB&$@0#$# G#$KE%Y.%"@0 1%YM&NA  &$ A+*

>)=ByH

X sXY4LIFH &!I&I"uII



5 %&NB2AB-/@>9)]# 5 %  23T&AM& G u.%  bY$&DIJ%0&@c3B@0.@cMW X.%Y>9)]#$>9N% GE L*SQ .%Y&B@0.$- 10%2#$ @03B%3JMWNBA  .$ AJIJ@0
%.N2AJAB @0-IJN  J$AM& 2IJ@E&$ AJ@0-/.%"2%  23BTWABMW GM&NA  . AJbY  J.@0K%-/.%"A@EIJ%Y M6@c&@E #%Y@0- @0@0IJ%.%*
)%%Y@0#$- (>9)]# 5 %  23T&AM&/ . * ,  =>9)#  $%#3BTWABMW9 . * ,  U@EA3J2%  2@3 [#. *  K0*
<w}

"=:JM|4Ma@Fz %%i z

w5zM|4Ma@Fz

{w:xBu| 5| }xB~

{w:xyxBz{|4}Jw5x

z+9->u|4M|4}J{h?

5 %IJ 1%-4.%3B@0.@0 @E-%  AAB%  .$ AJH0.0ceY]^+M&2 I .%#$$- M?3@E&@E @0-H%  AA%  . AB-,*]SU .%.@E?.%02%-H NB#3( %
AB ^ %AJ]N%%- AJ&B%d3B@0.@0 @0-H%  ABA%  &$ AJbY%AJ.$-/MWNBA  &$ AJ-  @0#$#$%3=B &B%2bY$-%"@c2%-H N  %Y#$%@0KbY$##B } N*
Yww: "=:JM|4Ma@Fz %%i w:JJa@{ED

)9

5 ##$-Y@D&@0AB-@  . A` @  K A .%J3B@0.@0 @0-H%D$M/.%J310%-HN   2.-.2@0AB-@  . AB-,* 5 %.N2AB- !65 R ; $ M.%J %@0. Aa-HN 
 %%3B%3= k' 8 ) ; .%02bY-H%B*
)%%Y@0#$- (>9)]# L10%u k @0&- e%@E&NB2%M[#. +*  =  IJIJ"[a. +*  Q@0AB3D&@0AB-@  . A@[a. *  0*
<w}

"=:JM|4Ma@Fz

%% FzF|M|4Ma@Fz

{w:xBu| 5| }xB~

xB

zR9->} |B@?

)%&-&B%A@EIJ%Y M?.%d3@E&@E @0-H%" +.% ! SQ)()%021  %"SU@0IJ%"MW 4&B%> 7 


T   7  @  #%32$1%4. P]Pe*])%%".% 3 @E&@E @0-H%
SU@EIJ% . * p L 2 %& "MW 43B%&@E#$-e*
<w}

"=:JM|4Ma@Fz

%% FzF|Gwu|

)
z

M 2wu|9->}

{w:xBu| 5| }xB~

|1BM@?

)%&-&B%"B -6AB@0IJ%YbY%%Y&B%d3B@0.@0 @0-H%Y2%-H$3%-/. PkH*])%%".% B -.SU@0IJ% . * p U 2 %2. M& +3B%.@0$#-e*
<w}

"=:JM|4Ma@Fz

%% FzF|

@Fucw tK) {w:xBu| 5| }xB~

@Fucw

9->}

|B@?

)%&-&B%" @0-H-bY 23(NB-%3F&  AAB%  


& ^&B%"3B@0.@0 @E-%Y. )j6}2g0HB*])%%Y&B%  @0-H-bY 3 . * p Q 2 %02. MW X3B%.@0$#-e*
<w}

"=:JM|4Ma@Fz

%% FzF|

w |

}xy|`9J>} |1BM@?

)%&-&B%"  26N-H%3J.  AAB%  6. ^.%"3@E&@E @0-H%Y& #j4*)%%Y&B%  2 . * p L 2 %& "MW 43B%&@E#$-e*
<w}

"=:JM|4Ma@Fz

%% FzF|@AFz

{w:xBu| 5| }xB~

xB

zR9->} |B@?

)%&-&B%"NB-%0XA@0IJ%  AA%  .%3(& P&B%d3B@0.@0 @E-%Y. P]Pe* )%%".% BN -%SU@0IJ% . +* p Q 2 %2. M& X3%.@0$#-e*
:| }xB~ }Ju| 6=5JM|4Ma@Fz

%&% |4Mz ) 9%{Mw5xBu|

5 %&NB2AB-/@c#$-H
MZ&@E #%0-/AF&B%d3B@0.@0 @0-H%B*
Yww: "=:JM|4Ma@Fz

%% |

MxBF@{|l}Jw5x

)9

6%0E$A-Q@c&@0AB-@  . AJ AD.%"3@E&@E @0-H%YM6.%Y310%X-NB   &-X.2@EA-H@  .$ A-e* 5 %0&NB2A- !65 R ; M
&B%d %02@0.$ AJ-N } %0%3%3B=
k' 8 ) ; .%02bY-H%B*
)%%Y@0#$- (>9)]#L10%uk @0-&e%@E&NB2%M[#. +*  =  IJIJ"[a. +*  Q@0AB3D2 #$# @  K5[a. *  0*


>)=ByH

X sXY4LIFH &!I&I"uII

:| }xB~ 6=5JM|4Ma@Fz

%&% BFz

p

) 9/{w:xBu|

5 %&NB2AB-/&B%dNB-%0XA@0IJ%  AA%  .%3J& ^&B%Y3@0.@0 @E-%?*])%%Y.% N -H%SQ@EIJ% . * p Q 2 %02. dM& +3B%.@0$#-e*
J6o0"6
U

(/b0"F ] E}P

:| }xB~ M|4Ma@Fz z

! B- 2 %02. dB #3B-/&B%dAB@0IJ%Y M6.%"3@0.@0 @E-%Y 4.% ! SU)P)%21  %YSU@0IJ%YM& +.%"> 7  T   7 @  #$%L32$1%*
! B%2%"$-A P3%0MW@0NB#
1@0#$N%B*
)%.$-/ 2 %2.  -41@E#NB%cbY.J-%0i Q@0.@0 @E-%SU@EIJM% [/@0AB3D%.$-/ 2 %2.  -41@E#NB%Yb"$.J3@0.@0 @E-%0SQ@EIJ%M[0*
:| }xB~J2wu|
z

! B- 2 %02. dB #3B-/&B%dB -


A@0IJ%YbY%02%"&B%d3B@0.@0 @0-H%Y2%-H$3%-e*
! B%2%"$-A P3%0MW@0NB#
1@0#$N%B*
)%.$-/ 2 %2.  -41@E#NB%cbY.J-%0&<9 -H.SQ@EIJM% [@EA3J%.$-/  %2.  -X1@0#$N%YbY.J -H.SQ@EIJ%M[0*
:| }xB~@Fucw

! B- 2 %02. dB #3B-/&B%d @0-H-bY 23JNB-%03J&  ABA%  6& P&B%d3B@0.@0 @E-%B*
! B%2%"$-A P3%0MW@0NB#
1@0#$N%B*
)%.$-/ 2 %2.  -41@E#NB%cbY.J-%0i @E--HbY 23@[L@EA3J%.$-/ 2 %2.  -41@E#NB%cbY.J @0-H-Hb" 3[0*
}xy|B`w |

! B- 2 %02. dB #3B-/&B%d  26N-H%3J.  AAB%  . G.%Y3B@0.@0 @0-H%B*
! B%2%"$-A P3%0MW@0NB#
1@0#$N%B*
)%.$-/ 2 %2.  -41@E#NB%cbY.J-%0i E 2"[/@0AB3DE%06&B-L 2 %02.  -41@E#NB%"bY$&J  2"[0*
:| }xB~BFz
z

! B- 2 %02. dB #3B-/&B%dNB-%0XA@0IJ%  AA%  .%3J& ^&B%Y3@0.@0 @E-%?*


! B%2%"$-A P3%0MW@0NB#
1@0#$N%B*
)%.$-/ 2 %2.  -41@E#NB%cbY.J-%0&RQ-%02SU@0IJ%M[@0A3FE%
&B-/ 2 %& 0 -41@0#$N%YbY$&JNB-%SU@0IJ%M[0*

! B%Y>9)]#Q2$1%  #@E--L-L@0AJ@0 -H.2@  6 @0-H%  #$@0-H-MW 4@ } %0--HAB^)> 8 3@E&@E @0-H%-e*
! B-  #$@0-H-$- @E26 M6.%"}?BIJ 3BN#$%B*
T&AB%2$&-> 7 u.%  .'+33$. AB@0# NBA  .$ A@0#$$& cbY$&J>9[0*
#include <qsqldriver.h>

J _ .:: , 0# _ 0d5X
%ABNI Qp]] 6` ! @0AB-@  . AB-=>N% )rx%0=F 8E7 m
BBpUp]E> 7 u.%  tc @02%0A  =  AB-  @EYA@0IJ%o  
BBpUp[
#p Z]$ [  AB-
#p Z]6?? [  A-H
1$2.N@E# # ?l p6 6k epBo [
1$2.N@E# # e?p] 6} ep?o [
1$2.N@E# # ?ppB  ] 6k epBo [
1$2.N@E#>9).2$A 8 -H ?p<   A-H>9).2$A N-H%F   A-H
1$2.N@E#>9)]#$TWAB3%OYZp E|6Z]`   A-H>9).2$A &@E #%SU@EIJ%  A-H
1$2.N@E#>9)]# 5 %  23(]eB   A-H>9).2$A &@E #%0SQ@EIJ%   A-H
1$2.N@E#>9)]# 5 %  23(]eB   A-H>9)]#$>9N%Y ]N%@   A-H
1$2.N@E#>9)]# 5 %  23T&AM& ]eBZ|6&   A-H6>9).2$A .@0 #$%A@EIJ%  AB-
1$2.N@E#>9)]# 5 %  23T&AM& ]eBZ|6&   A-H6>9)]#$>9N%02Y ]N%02   A-H
1$2.N@E#>9).2$AG66pp0]] [  AB-
1$2.N@E#>9).2$AG&? $6 p6Y   A-H>9)]#  %0#o3 Y?%#$3= #.2$IJ).2$A#- Vk' 8 ) ;   A-H
>9)]# ; 2 4p }Z? [  A-H
1$2.N@E# F# 6 }0 6a Q2$1%L e%@0.N%M   A-H
1$2.N@E# # ??]o   A-H>9)&AB 3B =  AB->)&AB NB-%) >9).2$A5 k ABN#$#=  AB-
>9).2$A @0-H-bY 39
>9).2$A5 k ABN#$#=  AB-
>9).2$AB  -H >9)&AB k AN#$#$=B$A  2  
1$2.N@E#1 $3JepBka [
[  AB-
1$2.N@E#>9)]#$>9N%02 "e ]d6)
U

J6(l0dL40" , 0a _ 0"5X
1$2.N@E#1 $3J}]Z]$ # 
1$2.N@E#1 $3J}] Z]6ZB E # %
1$2.N@E#1 $3J}] kZB   A-H>9)]# ; 2 @%@
U

 n

>)=ByH<uIfH4LI&I"uII

d ] 1.10"

Q 0

Q 0aX



L61D:(

! B%Y>9)]#Q2$1%  #@E--L-L@0AJ@0 -H.2@  6 @0-H%  #$@0-H-MW 4@ } %0--HAB^)> 8 3@E&@E @0-H%-e*
! B-  #$@0-H--H N#$3DAB  %dNB-%03J3$2%  &#$ }* RQ-%">9)]#L@E&@E @0-H%YAB-.%@034*
)%%Y@0#$- Q@0.@0 @0-H%"
#$@0-H-%-e*
,

0#

"

_ 0 @T%0

(/b0"F ] E}P

6=5J }z %% }z zM|1 z

! B- %ANBI  A.@0$A- @9#$-H M M&%@0.N%-@93B2$1%6IJ@0 ~-HN   2*RL-H%U@E-Le%@E&NB2%M[


& Y]N% Ub"B%.%6@9M&%@0.N%L$-+-NB   2.%3
XAB  *
! B%  N2%AB&#$ Y3%?A%03P10@0#$N%-L@02%t
QSqlDriver::Transactions 6bY%.%4.%"31%0+-HN   2.-/)> 8 &@0A-H@  &$ A QSqlDriver::QuerySize 4bY%.%0L.%P3@E&@E @0-H%G$-  @E @0 #$%^ M4%  2.$A(&B%^-H rx%P M4@(NB%2 }*LSU .%^.@EX- IJ%
3@E&@E @0-H%-~3 CA 4-HN   X2%.NA$AJ.%^- r,% .* %?*ABNIJ %Q M42 bY-~2%0&NB2A%03 ~ M4@(NB%2 =
AbY    @E-%P>9)]#$
>9NB%2M Z - r,M% [Qb"$#$#2%0&NB2A( 
- 6$A@E2 8 @02% 7 u .%  5 ?%#3B QSqlDriver::BLOB ZbY%.%0+.%"310%X-NB   &
)%%Y@0#$- (@EL- e%0@0.N2t% [#. *  0*
,

0#

"('CF:(

_ 0

PL%0dC ] :(

6=5J }z %% 6=5J }z ) 9 lz{|*% zxy|-,/.10{Mw5xBu|%{32` %


* xB

zO,_.:9

Q%M&@0N#$  A-H&N  . *


2%0@0.%-/@cA%0b 310%XbY.J @0%AFj6]Z@0AB3JA@0IJ%]Pe*
6=5J }z %%&< "=:J }<z #)

Q%-H& -/.%" u.%  6@0AB3JMW2%0%-/@0AB Y@0#$#  @0.%3J2%-H N  %-e*


Yww: "=:J }z %% azN~}x N xBF@{|4}Jw5x

) 9J>}

|B@?

2 .%  .%3M&NA  . AbY  3B%2$1%3  #$@0-H-%0-  @0A2%0IJ #$%IJ%ABd. %$A @ &@0AB-@  . A4*T&M-HN k %-H-M&N#$=d%.N2A !65 R ; =
.%02bY-H%Y2%.NA}' 8 ) ; * ! B%d3B%MW@EN#$IJ #%IJ%0A.@0. AJ%&NB2AB-}' 8 ) ; *
)%%Y@0#$-  IJIJ$ ! @0AB-@  . A@[#. *  Q@EA3J ##$ @  K ! 2@EA-H@  &$ A[Y. *  0*


<w}

"=:J }<z %% {wFz

) 9->J<}

|1BM@?

Q%1%03  #$@0-H-H%-~IJN-H42%$IJ #$%IJ%A+.$-L@E -.2@  41$2.N@0#ZM&NA  &$ AF$A 23B%/.  #$ -%^&B%3@E&@E @0-H%  ABA%  &$ A+* 5 %0&NB2A
!65 R ; AJ-N } %--H=k' 8 ) ; AJM&@0$#NB2%B*
)%%Y@0#$- (-H% 7 %A[a. *  0*

>)=ByH<uIfH4LI&I"uII
Yww: "=:J }z %% {w



) 9C>}

}|  MxBF@{|l}Jw5x

|1BM@?

2 .%  .%3 M&NA  . AbY   3%10%3  #@E--H%-  @0A 2%$IJ #$%IJ%AU.  IJIJ$U@.2@EA-H@  &$ A+*(T&ML-HN k %-H-HMWN#$=%.N2A 6! 5 R ; =
.%02bY-H%Y2%.NA}' 8 ) ; * ! B%d3B%MW@EN#$IJ #%IJ%0A.@0. AJ%&NB2AB-}' 8 ) ; *
)%%Y@0#$- ( %A ! 2@0AB-@  . A@[a. *  Q@0A3J ##$ @  K ! @0A-H@  &$ A[Y. *  0*


6=5 Bz 6=5J }z %&% { zM|4z Bz

) 9o{Mw5xBu|->}

|B@?

 2 %@E&%0-Q@EAC%0IJ & c)> 8 2%-HN#$4 AF.%3B@0.@0 @0-H%B*NQ%2$1%3  #@E--H%-~IJNB-+2%$IJ #$%IJ%AB .$-UMWNA  . AC@0AB3C%&NB2AC@G>9)]#$
>N% " u|%  6@E   2$@0.%dM& 4&B%43B@0.@0 @0-H%Y& ^&B%  @0#$#$%|*
:| } xB~ 6=5J }z %&% w
{w:xBu|->} |1B
M@?

|

MJBz

{w5xBu| "=5Jy}JzF

*CH)z 0Yww:y|

5| }xB~,F

5 %&NB2AB-@D-H&ABF% 2%0-%AB&@E&$ Aa MX.%<"eD1@0#$N%JM& ~&B%J3@0.@0 @E-%?* ! B-d-dN-H%3=4M& ~%O0@EIJ #%0= bY%0A  AB-.2N  .AB
T&SU) ;B5
! @EA3J<R /' !6; -.@0.%IJ%AB&-e*
! B%Y3%M&@0N#$$IJ #$%IJ%A.@0.$ AP%.N2AB-/.%"1@0#$N%cM& 2IJ@0..%3^@E-@c-H&AB@ k 3$AG. G.%YM& ##$ bYABG2NB#%0-
TWuM " e$Y-AN#$#$=BABN#$# ! %O0" [$-%&NB2AB%3+*
TWlM " e$(-  B@02@  .%U3@E&@E=
.%(1@0#$N%($-%&NB2AB%3%A  # -H%3a$A -$A#$%JNB &@E&$ AaIJ@0KE-H=+b"B  a-d@0  2 @E&%^MW 
IJ@0AB F)> 8 3B@0.@0 @0-H%-e*'+A C%IJ %3B3%3 -H$A#%WNB &%  B@02@  .%2-"@0%D%-  @E %3 .% #$@  %3 bY. .bY a-$A#$%]N .%
 B@0@  .%L- 0*T&M
&H^ . eL- !65 R ; ..%"3%M&@0N#$$- k' 8 ) ; = @0#$#.2@0$#$ABGbY$&%0- @  %Y$-.2$IJIJ%3(MW2 I&B#% ?%#$3+*
TWuM " e$$-3B@0.% [&$IJ%Y3@E&@E=.%Y1@0#$N%G-LMW 2IJ@E&.%3($AFTW) 7 M& 2IJ@E@0AB3D%A  # -H%3D$AF-H$A#%]NB &@E&$ AJIJ@0KE-e*?TWM6.%
3@E&%[&$IJ%d3B@0.@c-LAB1@0#$$3=ABN#$# ! %O0" [$-%.N2AB%3+*
?%#3B-=&B%d1@E#NB%c-MW 2IJ@E&.%3(@0-@c%OE@03%  $IJ@0#-H&ABZ*
TWuM " e$Y- &%0@02@0 "3@E&@E=@0AB3D&B%d3B2$1%  @0AJ%3B $A@E2Y
 ?%#$3J& 0 %d. ).2$A5 [bY$##? %  @0#$#%03D AJ.-/1@E#NB%c@0AB3J&B%d%-NB# 2%.NA%34*
e 4@0AB " .%0
)%%Y@0#$- (@> !Z@02$@0AB Z & )&AB [`[L@E&@E-.2N  .N%-X@0AB3J)&ABG<9@EA3B#$A^b"$.J>9i 0*
Yww: "=:J }z %% 
2 uzN| z

}z zM|1 z /
9 {w5xBu|->} |1BM@?

5 %&NB2AB- !65 R ; $M6&B%d3B2$1%4-HN   &-MW%@E&NB2%7 s .%02bY-H%"2%.NA-}' 8 ) ; *


SU .%Y&B@06-H IJ%"3B@0.@0 @E-%-A%%3J. G %Y %0A[ %0MW 2%d&B-  @0AF %d3B%&%02IJ$A%34*
)%%Y@0#$- Q2$1% e%0@0.N2T% . *  0*
Yww: "=:J }z %% }J zFx

) 9o{Mw5xBu|

5 %&NB2AB- !65 R ; $M6&B%d3B@0.@0 @E-%  ABA%  &$ AJ$-/ %AB=}' 8 ) ; &B%2bY$-%B*


Yww: "=:J }z %% }J zFx w ) %
9 {w:xBu|

5 %&NB2AB- !65 R ; $M6&B%d.%02%"b"@E-/@0AF%2  %0A$AG.%"3@E&@E @0-H%  AAB%  .$ A=k' 8 ) ; .%b"$-H%B*


6=5 w "=5J }z %% u| <4 w ) o
9 {Mw5xBu|

5 %&NB2AB-/@c>9)]# ; 2 4 u.%  6bY    AB&@EAB-$AM& 2IJ@0.$ AP@E N.%"#$@0-H


%2 4&B@06 k N2%3( AJ.%Y3@E&@E @0-H%B*



>)=ByH<uIfH4LI&I"uII
:| }xB~ 6=5J }z %&% xyyJ z |

) 9%{w:xBu|->}

|1BM@?

5 %&NB2AB-L@P-.2$A(% 2%0-%AB&@E&$ AD M &B% SUR 8E8 01@E#NB%GM& .%3B@0.@0 @0-H%B* ! $-U-UN-H%3B=?M& %OE@0IJ #$%=ZbY%A  AB-.2N  .AB
T&SU) ;B5
! @EA3J<R /' !6; -.@0.%IJ%AB&-e* ! B%d3B%MW@EN#$IJ #%IJ%0A.@0. AJ%&NB2AB-/&B%d-H.2$AG SUR 88 *
Yww: "=:J }z 
| } xB~ M S
0 {w:xBu| 5| } xB~ M BFz , 5| } xB~ %% xyyJ@0
%% w5zFx ) {w:xBu| 5
{w:xBu| 5
| } xB~ M @Fucw , :
| } xB~ %% y
x yJ@0<{w5xBu| 5
| } xB~ M 2wu|-, :
| } xB~ %% xyyJ@0
}xy|`w |-, N b9C>} |1BM@?

Q%1%03  #$@0-H-H%-4IJN-H?%$IJ #%0IJ%A?&B-+@0 -H.2@  B10&NB@0#]MWNBA  .$ AG$A^ 3% & Y %A^@d3B@0.@0 @E-%  AAB%  . A^ A^3B@0.@0 @E-%
e=BN-HABGNB-%XAB@0IJ%G,x= @0-H-bY 23Yj6kg0H= -H
k?@EA3J  FjZEH*
! B%YMWNA  . AFP,k?%.N2A !65 R ; AJ-N } %0--L@0A3$k' 8 ) ; AJM&@0$#NB2%B*
)%%Y@0#$- (-H% 7 %A [a. *  0*
6=5[x z 6=5J }z %&% }

<[x z

{w:xBu| 5| }xB~

|4Mz

zL9o{Mw5xBu|C>} |1BM@?

5 %&NB2AB-.%( 2$IJ@0 (AB3%OJM& ~&@E #%F.] e$se"]^e* 5 %.NA-9@EA %IJ . (>9)]#T&A3B%OJM&B%P.@0 #$%J3 %0-AB X@E1%J@D IJ@E2
$A3B%O?* ! %"3%M&@0NB#$IJ #$%IJ%AB&@E&$ AJ2%.NA-X@EAD%IJ . d$A3B%O?*
6=5az{Mw t

6=5J }z %%Z z{Mw t-) {w:xBu| 5| }xB~

|4Mz

z9%{Mw5xBu|->} |B@?

5 %&NB2AB-@>9)# 5 %  23J  N#$@0.%3JbY.D.%YA@EIJ%- M6.%Y?%#3B-$AF.@0 #$%&] e$se"]Pe*T&M6A (-HN  F&@E #%c%OE-H.-=B@0AD%IJ &
#$$- -L2%.NA%34* ! %"3%M&@0N#$$IJ #$%IJ%A.@0.$ AJ2%.NA-/@EAJ%IJ . "%  3+*
6=5az{Mw t

6=5J }z %%Z z{Mw t-) {w:xBu| "=5 Bz

M =5Bz K9o{w:xBu|C>}

|B@?

! B--L@0AJ 1%# @E3%3(IJ%IJ %0+M&NA  . AB=  13B%3(MW   AB1%AB%A  %B* TW %B@01%0-X%--H%AB&$@0#$# G#$KE%Y.%"@0 1%YM&NA  &$ A+*
5 %&NB2AB- @">9)]# 5 %  3  NB#@E&%03GbY.G.%A@0IJ%0- MB&B%B%0#3B- $A^.%)> 8 E L* ! %~3B%MW@EN#$ZIJ #$%IJ%AB&@E&$ AG%.N2AB@EAD%IJ . "2%  23+*
6=5az{Mw t [x w

"=:J }z %%i zN{w [x w

{w5xBu| :| }xB~

|4MzxB

z9o{Mw5xBu|C>} |1BM@?

5 %&NB2AB-/@c>9)]# 5 %  3T&AMW ^ u.%  6bY.JIJ%.@"3B@0.@c AJ&B%Y&@E #%c&]4e]Pe*


6=5az{Mw t [x w

"=:J }z %%i zN{w [x w

{w5xBu| 6=5 Bz

M =5Bz K9o{w:xBu|C>}

|1BM@?

! B--L@0AJ 1%# @E3%3(IJ%IJ %0+M&NA  . AB=  13B%3(MW   AB1%AB%A  %B* TW %B@01%0-X%--H%AB&$@0#$# G#$KE%Y.%"@0 1%YM&NA  &$ A+*
5 %&NB2AB-/@>9)]# 5 %  23T&AM& G u .%  bY$&DIJ%0&@c3B@0.@cMW X.%Y>9)]#$>9N% GE L*SQ .%Y&B@0.$- 10%2#$ @03B%3JMWNBA  .$ AJIJ@0
%.N2AJAB @0-IJN  J$AM& 2IJ@E&$ AJ@0-/.%"2%  23BTWABMW GM&NA  . AJbY  J.@0K%-/.%"A@EIJ%Y M6@c&@E #%Y@0- @0@0IJ%.%*
Yww: "=:J }z %%i w:JJa@{ED  MxBF@{|4}Jw:x

) 9J>}

|1BM@?

2 .%  .%3 M&NA  &$ A bYB  `3B%2$1%3  #@E--H%-  @EA`%$IJ #%0IJ%AL& a ##$ @  KC@C&@0A-H@  &$ A+*GTWML-N } %--HMWNB#=2%.NA !65 R ; =
.%02bY-H%Y2%.NA}' 8 ) ; * ! B%d3B%MW@EN#$IJ #%IJ%0A.@0. AJ%&NB2AB-}' 8 ) ; *
)%%Y@0#$- ( %A ! 2@0AB-@  . A@[a. *  Q@0A3  IJIJ ! 2@EA-H@  .$ A[a. +*  0*


>)=ByH<uIfH4LI&I"uII
<w}

"=:J }<z %% FzF| @u| w j) {Mw5xBu| 6=5 w -M

zR9J>} |By w5|4zN{|4z

2 .%  .%3(MWNBA  .$ AJb"B  J@0#$# bY-L3%1%03  #$@0-H-%-L& ^-%0&B%d10@0#$N%c MZ&B%Y#@E-%022 $=H=.@E } N2%3( AJ&B%d3B@0.@0 @E-%B*
)%%Y@0#$- (#$@0-H ; 2 u[#. *  0*


<w}

"=:J }<z %% FzF| `zx

aww5w:9J>} |1BMy w5|lz{|lz

2 .%  .%3MWNA  . AbY  -H%.-~&B%^ %0AC-H&@E&%P M+&B%^3B@0.@0 @0-H%G. B*Q%1%03  #@E--H%-  @0AaN-H%P&B-~M&NA  &$ A& C2%  2
.%Y-H&@E&NB-/ M6 %A@[0*
)%%Y@0#$- ( %A@[#. *  U@0A3J-H% 7 %A ; 2 [). *  0*


<w}

"=:J }<z %% FzF| `zx w j) aww:BzR9->} |B w:|4z{|4z

2 .%  .%3 M&NA  &$ A bY   -%.-"&B%P %A %2 ~-H&@E&%J M/.%(3B@0.@0 @0-H%D. e*`L%10%3  #$@0-H-%0-  @0A NB-%F&B-dMWNA  . A`&
%  /&B%(-.@0.N-" MX %A@[0*SU .%(&B@0$MLd$- !65 R ; &B%J %Aa-H&@E&%J MX.%J3B@0.@0 @0-H%J$--H%.  #$ -%3.|* %B* = $- 7 %A[
%.N2AB-}' 8 ) ; 0*
)%%Y@0#$- ( %@A [#. *  0*


:| }xB~ }Ju| 6=5J }z %&% |4Mz

{Mw5xBu| :| }xB~

BFz o
9 {w:xBu|C>} |1BM@?

5 %&NB2AB-/@c#$-H
MZ&@E #%0-/AF&B%d3B@0.@0 @0-H%B* ! B%Y3%M&@0N#$6$IJ #%0IJ%A.@0. AJ%.N2AB-/@0AJ%0IJ & Y#$-H*
 N2%AB&#$ c&B%Yek4@0ENBIJ%A
-LNANB-%03+*

! B%Y>9)]# ; 3$. x@  . 2  #$@0-H-$-/NB-%3J.  2%0@0.%d.%Y%3B. 2-XNB-%3J Y>Q@0.@ ! @0 #$%d@EA3J>9)#e 2I *


! B-  #$@0-H-$- @E26 M6.%"}?BIJ 3BN#$%B*
T&AB%2$&-> ; 3B. x@  &  T.'+33B. AB@0#M NA  &$ A@E#$. "bY$&J>i0*
#include <qsqleditorfactory.h>

J _ .:: , 0# _ 0d5X
BBpZZp?x e?`> 7 u.%  5" @02%0A  =  AB-  @EYA@0IJ%%  
[
BBpZZpB, e?Y
1$2.N@E#>9_a$3%: Ye] ]?Zp?@E>9_a$3%:c @02%0A.=  A-H>@!Z@0@EA: 1@0@EA
1$2.N@E#>9_a$3%: Ye] ]?Zp?@ E>9_a$3%: c @02%0A.=  A-H>9)#  $%#$3 `?%#$3
U

'

] E: UJ _ .:: , 0a _ 0"5X
>9)]# ; 3B. x@  &  #cZ]. 6px e?#[
1 $3Jp6} ppU]& 6p, e?a E>9)]# ; 3B. x@  &  #YM&@  . 2 @
d ] 1.10"

Q 0

Q 0aX

L61D:(

! B%Y>9)]# ; 3$. x@  . 2  #$@0-H-$-/NB-%3J.  2%0@0.%d.%Y%3B. 2-XNB-%3J Y>Q@0.@ ! @0 #$%d@EA3J>9)#e 2I *


>)]# ; 3$& L k@  . 2 -cNB-%03 C>Q@0.@ ! @0 #$%D@0AB3 >9)]#e 2I. @EN. IJ@0.  @0#$#  %@0.%F@E   2$@0.%F%3B. 2-YM& d@a10%A
>)]#  $%#$3+* e X%OE@0IJ #$%YM &B%YB%#$3D$-L@G>@!?@E2$@0A"k )&AB^@^> 8 $A% ; 3B b" NB#3F %c&B%c3%M&@0N#$
%03$& $=bY%%@0-L@>@!Z@02$
@EA" k T&A. -3B%MW@EN#$%3B. 4b" NB#3F %d@c>9) MA 6 O?*
T&M
 NCbY@0A+.  2%0@0.%c3$MWMW%02%AB
%3B. 2-LMW  ?%#$3-Qb"$.F.%-H@0IJ%3B@0.@G.  %=?-HN  #$@0-H-U>9)]# ; 3B. x@  &  c@0A3C2%$IJ #$%
IJ%0A.%  %@0.% ; 3$&  [XMWNBA  .$ A+*
)%%Y@0#$- (> Q@0.@ ! @0 #$T% . * Kn=>9)# e 2I . * ,  L@EA$3 Q@0.@0 @E-%Y
#$@0-H-H%-,*
,

0#

"('CF:(

_ 0

6=5  }|4w @{|lw

PL%0dC ] :(

%&% 6 =5 

}|4w @{|4w

9 lz{|*/` zFxy|-,/.10<{w5xBu|%{32 /
* xB

 A-H&N  &-L@c)> 8 %3B. 4MW@  . 2 "b"$.J @0%Aj6]?@0A3JAB@0IJ%]Pe*




z^,_.`9

>)=ByHEn iCu[
@ [CuFH &<I&III
6=5  }|4w @{|lw

%&%<



"=: ` }|4w @{|4w

)9

Q%-H& -/.%" u.%  6@0AB3JMW2%0%-/@0AB Y@0#$#  @0.%3J2%-H N  %-e*


}
~ z|+* "
=5  }|4w @{|4w %% { zN|lz  }|4w )
{w:xBu| F }JMxy| M
}JMxy|9->} |1BM@?

} ~z|+*/ zFxy|
0

 2 %@E&%0-/@0AB3J2%.NA-/.%"@0  2 @E&%"%3$. +bY$3%M& +.%Y>@!Z@0@EAP ]]H*


! B%Yb"$3%.@E6-L2%.NA%3(B@0-/.%" @0%AjZ]H.bY  JIJ@0 Y %Yr,%2 F0*T&MFP]]H$-$A10@0#$3B=  -L2%.NA%34*
5 %IJ #%IJ%0A.%3(MW2 I> ; 3$& L k@  . 2$ .' 3B3$&$ A@E#  NA  . AB@0#$. cbY.J>9[ 0*

}
~ z|+* "=5  }|4w @{|4w %% { N
z |lz  }|4w )
{w:xBu| "
=:J }Jz *-H#zF 9C>} |1B
M@?

} ~z|+*/ zFxy|
0

! B--L@0AJ 1%# @E3%3(IJ%IJ %0+M&NA  . AB=  13B%3(MW   AB1%AB%A  %B* TW %B@01%0-X%--H%AB&$@0#$# G#$KE%Y.%"@0 1%YM&NA  &$ A+*
 2%@E&%0-/@0AB3J2%.NA-/.%"@0  2 @E&%"%3$. +M& 4&B%">)]# $%#$3<9"e$B*
6=5  }|4w @{|lw }* "=: ` }|4w @{|4w

%%

z yJ|@{|4w

) 9J>u|4M|4}J{?

5 %&NB2AB-/@0AJ$A-H&@EA  %c M?@c3B%MW@EN#$%3B. 4MW@  &  }*


<w}

"=:  }|lw @@{|4w

%% }xBu|4MJJz

MyJ|1@{|4w

"=:  }|lw @@{|4w O* @{|4w K9J>u|4M|4}J{?

5 % #$@  %0-c&B%C3B%MW@EN#$~%3$& YM&@  . 2 CbY.T7kH.0 *F'+##L>L@E&@ ! @E #%C@0A3>9)#e 2I AB-.@0AB&$@0.$ A-bY$##/NB-%.$-cA%b


M&@  &  ^M&   2%@E&$A% B%#$3%3$. 2-ey*
Q l e P
E.0 d ]H&E `.[ gE.Y" gWk j [ 7N7}]H&E 3 L]FE.k.H.$tgX YTe$0 
E

! B%Y>9)]# ; 2   #$@0-H-  13B%-X)> 8 3@0.@0 @E-%Y%2 4$AMW IJ@0. A4*
! B-  #$@0-H-$- @E26 M6.%"}?BIJ 3BN#$%B*
#include <qsqlerror.h>

J _ .:: , 0# _ 0d5X
%ABNI 0?dSU AB%=
ABA%  &$ A=B).@0.%IJ%A.= ! 2@EA-H@  .$ A=RQAKA bYA$
BBpZ?  A-H>9).2$AB310% ! %O0>)&ABZ ANB##$=  A-H>9)&AB 3@E&@E @0-H% ! %0O0>)&ABZ ANB##$=
$A.  %o>)]# ; 2 uk SU AB%=$AABNIJ %)  
BBpZ?   A-H>9)]# ; 2 @ .%0l 
>9)]# ; 2 @ ?Z] BX z  A-H6>9)]# ; 2  .%F 
1$2.N@E# BBpZ? [
>9).2$AG?p]0]] [  AB-
1$2.N@E#1 $3J}]UpE]E]   A-H>9).2$A 31%0 ! %0O0 
>9).2$AG? ? }]E]: [  A-H
1$2.N@E#1 $3J}]U B k]0]]t   AB->)&AB 3B@0.@0 @0-H% ! %O0 
$AZa [  A-H
1$2.N@E#1 $3J}]0Z# EAB.  @% 
$A66? [  A-H
1$2.N@E#1 $3J}] V~6B]@ 0$A
ANIJ %0F 
U

d ] 1.10"

Q 0

Q 0aX

L61D:(

! B%Y>9)]# ; 2   #$@0-H-  13B%-X)> 8 3@0.@0 @E-%Y%2 4$AMW IJ@0. A4*
! B-  #$@0-H-$-9N-H%3a. C%  243B@0.@0 @0-H%-H %    %2 2-e*L' Aa%022 U3B%-  2$ . A@0AB3.MX@E   2$@0.%9@J3B@0.@0 @0-H%-H %   
%022 4ABNIJ %  @0AJ %Y2%  1%%3^NB-$AP.$-  #$@0-H-,*
)%%Y@0#$- Q@0.@0 @0-H%"
#$@0-H-%-e*
,

0#

"

_ 0 @T%0

(/b0"F ] E}P

6=5 w %&%i `z

! B-%ANBI .  %"3%0-  2$ %-/.%"&  %d M6)> 8 %2 4&B@06 } N2%34*
! B%  N2%AB&#$ Y3%?A%03P10@0#$N%-L@02%t
K

>)=ByHtCufFH &IIuIQI



6A P%2  k N2%3


 AAB%  . AJ%022 
QSqlError::Connection
Z-.@0.%IJ%AB-H A.@0Oc%2 
QSqlError::Statement
Z&@0AB-@  . AJM&@0$#%3J%022 
QSqlError::Transaction
6NABKEAB bYAJ%2 
QSqlError::Unknown

QSqlError::None

0#

"('CF:(

_ 0

PL%0dC ] :(

6=5
| }xB~ M N } z z |, 5| }xB~
w %&% 6=5 w ) {w:xBu| 5
{w:xBu| 5
| }xB~ M M|4Ma@Fz z d
| , 5| }B
x ~ %% y
x yJ@0}xy|`|1`zO,
}xy|`xy a
z , c b9

%% xyyJ@0
":
=

w %%i w:xBz!0

 A-H&N  &-c@EA %022   AB&@EABABa&B%F310%d%022 d&%0O09EH P]&m,[=&B%D3@E&@E @0-H%-H %    %022 d&%0O0~E].EkkQm,[=X.%
.  % jZ@0AB3J&B%" &$ A@E#%2  ABNIJ %^Ek*
6=5 w %&% 6=5 w ) {w:xBu| "=: <4 w -M

w:| 2z

 2%@E&%0-/@   Y M
E&x*
6=5 w %&%< "=: <4 w )

9C>J<}

|1BM@?

Q%-H& -/.%" u.%  6@0AB3JMW2%0%-/@0AB Y@0#$#  @0.%3J2%-H N  %-e*


:| }xB~ 6=5 w %% M|4Ma@Fz z |

) 9%{w:xBu|

5 %&NB2AB-/&B%d.%OE6 M6&B%d%2 4@0-2%  &%03^ Y.%Y3@E&@E @0-H%B* ! $-/IJ@E  A.@0$AJ3@E&@E @0-H%-H %    3%-   .$ A-e*
:| }xB~ 6=5 w %%N }z z |

) 9%{w:xBu|

5 %&NB2AB-/&B%d.%OE6 M6&B%d%2 4@0-2%  &%03^ Y.%Y31%0|* ! B-IJ@0  AB&@EAJ3B@0.@0 @0-H%-H %    3%0-  2$ &$ A-e*
}xy| "=5 4 w %% xy Yz j) /
9 {w:xBu|

5 %&NB2AB-/&B%d3B@0.@0 @E-%W- %    %2 4ANBIJ %$= X  M6$  @0AAB  %"3%.%2IJ$A%03+*


6=5 w CM

6=5 w %% w5z M|4w

, )

{Mw5xBu| 6=5 w -M

w5| 2z

)%&-&B%"%022 4%]NB@0#. (E&k*


<w}

"=: w %% FzF|1|lY@Fz z |

{w5xBu| :| }xB~

)%&-&B%"3B@0.@0 @E-%"%2 4&%OE6& P.%"1@0#$N%c M.]0kkQm,[H*

M|4MYFz z |Z9->} |B@?

>)=ByHtCufFH &IIuIQI
<w}

p

"=: w %% FzF|1 }z z |

{w5xBu| :| }xB~

 }z 4 z |Z9->} |B@?

)%&-&B%"3B2$1%4%2 4&%0O06. ^.%"1@0#$N%c M P m,[H*


<w}

"=: w %% FzF| az j) }xy|xy az

9J>}

|1BM@?

)%&-&B%"3B@0.@0 @E-%W- %    %2 +ANBIJ %X& P.%"1@0#$N%c MP0x*


<w}

"=: w %% FzF| :z

}xy|`|1`zR9J>} |1BM@?

)%&-&B%"%022 4.  %"& ^&B%Y1@0#$N%Y M


Fj6e*
}xy| "=5 4 w %% |:z

) 9o{Mw5xBu|

5 %&NB2AB-/&B%d%022 4.  %= +  M6.%"& 0 %  @0ABA  %"3%0&%IJAB%3+*


)%%Y@0#$- (>9)]# ; 2  k ! 0 % . +* K0*

! B%Y>9)]# $%#$3  #$@0-H-IJ@EA$ N#$@0.%-.%a?%#3B-/$AD)> 8 3B@0.@0 @E-%"&@E #%0-@0AB3J1$%bY-,*


! B-  #$@0-H-$- @E26 M6.%"}?BIJ 3BN#$%B*
#include <qsqlfield.h>

J _ .:: , 0# _ 0d5X
BBp]p]po  A-H>9)&AB?%#3BSU@0IJ%o>9)&ABk AN#$#$=?>!?@0@EA"k !  %Y& 0 %o>@!Z@02$@0ABZ TWAB1@0#$3#
BBp]p]po   A-H>9)#  $%#$3 &B%F 
>9)]#  %0#$3 BZ] BX z  A-H>9)]#  %0#$3 &B% 
#?Z ?X zRz  AB->)]#  $%#$$3 .%   A-H
1$2.N@E# BBp]p]po [
1$2.N@E#1 $3J}]$ p6#   A-H@> !Z@0@EA: 1@0#$N% 
1$2.N@E#@> !Z@02$@0AB6E p6` [  A-H
1$2.N@E#1 $3J}] V~ a   AB->)&AB AB@0IJ% 
>9).2$AG6 ` [  A-H
1$2.N@E#1 $3J}] V~6pF [
#p V~6p [  AB-
1$2.N@E#1 $3J}]+  d6p# E # 2%@E3 7 AB# 
#pk ]  6pY [  A-H
1 $3Jep] @ E # ANB##$$MW/ !65 R ; 
> !Z@02$@0AB Z !  %"Za [  A-H
@
U

d ] 1.10"

Q 0

Q 0aX

L61D:(

! B%Y>9)]# $%#$3  #$@0-H-IJ@EA$ N#$@0.%-.%a?%#3B-/$AD)> 8 3B@0.@0 @E-%"&@E #%0-@0AB3J1$%bY-,*


>)]#  $%#$3% %-%0A.-Q.%  B@02@  .%2$-H&  -U M4@^-H$A#%  #$NIJAa$A@(3@0.@0 @E-%^&@E #%^ U1%0b+=6-HN  @0-~.%P3@0.@P&  %G@0AB3
 #NBIJADA@EIJ%B* 'B%#$3J@0#$-H  A.@0$A-.%"1@E#NB%c M?.%Y3B@0.@0 @0-H%  #$NIJA=BbY    @EAJ %Y1%0b"%03J   @EA%3+*
 $%#$3J3@E&@c1@E#NB%-@E2%Y-H& %3(@0-/>@!Z@0@EA.-,*RL-HABG@EAJA  IJ @E&$ #%Y.  %"-LA  %2IJ$&.%34*le +%0O0@0IJ #%M
QSqlField f( "myfield", QVariant::Int );
f.setValue( QPixmap() ); // will not work

< b"%01%$=&B%#?%#$3JbY#$#@E&.%IJ 6.  @0-H  %02.@0$AP3B@0.@c& 0 %-/. G.%Y?%#3J3B@0.@c& 0 %dbYB%2%"  -H-$ #%t
QSqlField f( "myfield", QVariant::Int );
f.setValue( QString("123") ); // casts QString to int

>)=ByHIHJELFH &IQ&III



>)]# $%#$3 u|%  .-"@02%F2@0%#$  %@0.%3`%O0 #$  $&#$ F$A`@E  #$  @0. A  3B%B* ! %0 D@0%DN-HN@E##$ @ } %-H-%3 $A3$2%  .# C&B2 N
>)]# 5 %  23J 4>9)#$
NB2-H /bY  J@E#%@03B  A.@0$AJ@c#$-H
MB%0#3B-,*e +%0O0@0IJ #%M
QSqlCursor cur( "Employee" );
QSqlField* f = cur.field( "name" );
f->setValue( "Dave" );
...

// create cursor using the Employee table


// use the name field
// set field value

T&AD @  .  %"b"%Y@02%0# YA%0%3(& P%O0.2@  6@c  $A.%4. ^@`?%#$3J@0@E##* ! B%d %1$ N-/%0O0@0IJ #%YbY N#$3JA IJ@0#$# c %"bY2$&.%A
QSqlCursor cur( "Employee" );
cur.setValue( "name", "Dave" );
...

)%%Y@0#$- Q@0.@0 @0-H%"


#$@0-H-%-e*
,

0#

"('CF:(

_ 0

PL%0dC ] :(
Q

6=5Jy}JzF 
%% "=5Jy}JzF C) {w:xBu| 5| }xB~
F J} xy| %&% [xyM} 9

M H#zF N

zO,

5| }xB~

%&% xyyJ@0 F

}JMxy| %%i :z|1:z^,

 A-H&N  &-L@0AJ%IJ . aB%#$3  @E##$%3 "e$ eYPX M6.  %c Fj6e*
6=5Jy}JzF %% "=5Jy}JzF C) {w:xBu| "=:J }Jz }M

w5|@2`z

 A-H&N  &-L@   Y M0.x*


6=5Jy}JzF %%< 6=5Jy}JzF C)

9->J<}

|1BM@?

Q%-H& -/.%" u.%  6@0AB3JMW2%0%-/@0AB Y@0#$#  @0.%3J2%-H N  %-e*


<w}

"=:J }Jz %&% {z #) aww5xyyJ} ~,

A

 # %0@02-U.%10@0#$N%G M
&B%B%0#34*6TWM &B%?%#3C-Q2%0@03W A#$ =?AB &BAB(@0  %A-e*6T&M+ee$ 7$ $- !65 R ; . .%c3B%MW@EN#$i=?.%?%#$3F$-H%. PSQR 88 *
Yww: "=:J }Jz 1%% }J yJ

) 9o{w:xBu|

5 %&NB2AB- !65 R ; $M6&B%#?%#$3J-  N2%AB&#$ YANB##$=B .%02bY-H%"2%.NA-}' 8 ) ; *


Yww: "=:J }Jz 1%% }JFaz xyJ

) 9%{w5xBu|

5 %&NB2AB- !65 R ; $M6&B%#?%#$3 -/1@0#$N%Y$-%@03( A#$ = .%02bY-H%a}' 8 ) ; *


:| }xB~ 6=5Jy}JzF %% xB
z

) 9%{w:xBu|

5 %&NB2AB-/&B%dAB@0IJ%Y M6.%aB%#$3+*
; O0@EIJ #$M% ?-]# [ 1%1%0b[.@0 #$% K,[IJ@EA4*   *

>)=ByHIHJELFH &IQ&III
6=5Jy}JzF }M

"=:J }Jz 1%% w5z M|4w

, )

{Mw5xBu| 6=5Jy}JzF }M

w:| 2z

)%&-&B%a?%#$3J%]N@E#& J0.x*
Yww: "=:J }Jz 1%% w5z M|4w

,, )

{w:xBu| "=:J }Jz 4M

w:| 2z %
9 {Mw5xBu|

5 %&NB2AB- !65 R ; MB&B%yB%0#3$-+%]N@0#]. 0.= .%b"$-H%Q%.N2AB-Nk' 8 ) ; *" $%#$3-+@02%  A-H3B%2%03G%]N@E#EbYB%A.%~MW #$#$ b"$A
?%#$3J 2 %2.%0-X@02%".%Y-@EIJ%M
% [
A@EIJM
$-SUN#$#J[
% [
1@E#NBM
$- 5 %0@03 7 A#$ M[
<w}

"=:J }Jz %&% Fz|

)
z

{w5xBu| :| }xB~

xB

zR9C>J<} |1BM@?

)%&-&B%"AB@0IJ%Y MZ&B%YB%#$3J. P]Pe*


<w}

"=:J }Jz %&% Fz| yJ

) 9->J<}

|1BM@?

)%&-&B%a?%#$3J& ^SUR 88 @0AB3  #$%@E2-/.%"1@0#$N%cNB-$A  #$%@0[0*]TWM6.%a?%#3J$-%@03B A#$ =AB &BAB@E  %AB-,*
)%%Y@0#$- ($- 5 %0@03 7 A#$ M[a. *  Q@0A3  #$%@0[a. *  0*
<w}

"=:J }Jz %&% Fz|4#zN xyJ

Yww5 z xyJK9J>} |B@?

)%&-&B%"%@03( AB# `?@0 M6.%a?%#3B -/10@0#$N%c. PHGUe *


)%%Y@0#$- (-H% !Z@0#$NM% [Y. *  0*
<w}

"=:J }Jz %&% Fz|

MJBz

{w:xBu|

}JMxy|

MJBzR9->} |B@?

)%&-U.%10@0#$N%G M &B%?%#3. `P]e$e*T&M .%BB%#$3F$-U2%@E3 AB# .- 5 %@E3 7 AB# t[~2%.NA- !65 R ; =A .$A(B@0  %0A-e*
T&M
.%
3B@0.@^.  %^ M P  e~3$MWMW%02-QMW2 I.%BB%#$3 -  N2%AB43@0.@G.  %0=6@0A@0.&%IJ  $-UIJ@03%^&  @0-H44. D.%  %/.  %?* ! $ 2%-H%210%-X&B%Y3@0.@c.  %" M6&B%#?%#$3JAJ.%  @E-%Y MZ@0-H-HAIJ%AB&=B%B* Z*@>9).2$A. G@EAD$A.%E%0+3B@0.@c& 0 %B*e 4%OE@0IJ #$%M
QSqlCursor cur( "Employee" );
QSqlField* f = cur.field( "student_count" );
...
f->setValue( myLineEdit->text() );

)%%Y@0#$- ($- 5 %0@03 7 A#$ M[a. *  0*

}JMxy| %%i :z 6=5Jy}JzF %% |:z

5 %&NB2AB-/&B%#?%#$3 -/& 0 %B*

) 9o{Mw5xBu|

// Employee table
// an integer field
// cast the line edit text to an integer

,

>)=ByHIHJELFH &IQ&III

}JMxy| "=:J }Jz %&% MJBz

) 9o{Mw5xBu|->}

|B@?

5 %&NB2AB-/&B%d$A.%A@0#B1@0#$N%Y M6.%aB%0#3J@E-/@c>@!?@E2$@0AB *
; O0@EIJ #$M% ?-]# [ 1%1%0b[.@0 #$% K,[IJ@EA4*   *

6 4?+.BUJ 6p9ep k9p66Z]U?]]pBZ]6 6pk632]e F6 5[


5
_J%Y3 PA 62%  IJIJ%AB3J&B%dNB-%Y M6.$-  #$@0-H-M& + 2 3N  . A(bY 2KG@0.$-/.IJ%B*
! B%Y>9)]# $%#$3T&AMW  #$@0-H--H& %-/IJ%.@c3@E&@Y@E--H  $@0.%3DbY$&(@)> 8 B%0#34*
! B-  #$@0-H-$- @E26 M6.%"}?BIJ 3BN#$%B*
#include <qsqlfield.h>

J _ .:: , 0# _ 0d5X
BBp]p]pZ|6&o  A-H>9)&ABB AB@0IJ%o>9)&ABk AN#$#$=?>!?@0@EA"k !  %Y& 0 9 >@!?@E2$@0ABk TWA10@0#$3B=B$A%]N$2%3
 =$A#$%
A  =BAB 2%   =  A-H>@!Z@0@EA: 3%M!?@0#$N%o >@!?@E2$@0A<=$A
&  %TZc  = # %A%02@0.%3
!65 R ; = #.2$
I c}' 8 ) ; = #  @0#  NB#@E&%3V}' 8 ) ; 
BBp]p]pZ|6&o   A-H>9)#  $%#3BTWABMWT .%
BBp]p]pZ|6&o   A-H>9)#  $%#%3 &B%$= #E%0A%@0.%3 !65 R ; 
1$2.N@E# BBp]p]pZ.6.o [
>9)]#  %0#3BTWAM& BZ] BX z   A-H>9)]#  %0#3BTWAM& &B%F 
#?Z ?X zRz  AB->)]#  $%#$3TWABMW M   A-H
>9)]#  %0#3J?]ppo [  A-H
$Apk ]?6p [  A-H
> !Z@02$@0AB Z !  %"Za [  A-H
@
$Ap]5 J $[  A-H
$AZ]ep}p?o [  AB-
> !Z@02$@0ABZ]& 6p$ p6a [  AB-
@
>9).2$AG6 ` [  A-H
$AZ|q [  A-H
#p Q]6] ]T [  A-H
#pkp
[  A-H
#pk pe6p ]$ [  AB-
1$2.N@E#1 $3J}]]p 0 #.2$I 
1$2.N@E#1 $3J}]J U]6 ] 0 #%A 
0 #  @0#  
1$2.N@E#1 $3J}]+ pe6p T
U

d ] 1.10"

Q 0

Q 0aX

L61D:(

! B%Y>9)]# $%#$3T&AMW  #$@0-H--H& %-/IJ%.@c3@E&@Y@E--H  $@0.%3DbY$&(@)> 8 B%0#34*


>)]#  $%#$3TWABMW P u .%  &- A#$ "-H. 2%"IJ%&@c3B@0.@ s ?%#3J10@0#$N%-L@02%Y-H& %3(AJ>)]# $%#$3D u.%  &-e*
, 

,

>)=ByHIHJEh&CFH &<I&III

'+#$#+10@0#$N%-"IJN-H %J-H%$A .%  A-H&N  . $= @EA3 IJ@E D %J2%.2$%1%03aN-HABC$- 5 %]N$2%3@[= .  %M[=+#$%A&@[= 2%  -H A@[=
3B%MW@EN#$ !Z@0#$NM% [=A@0IJt% [=-&Q%A%@0.%3[@0A3J.  %0TZ`[0*
)%%Y@0#$- Q@0.@0 @0-H%"
#$@0-H-%-e*
,

0#

"('CF:(

_ 0

PL%0dC ] :(
Q

6=5Jy}JzF [x w %% "=:J }Jz [x w ) {w:xBu| 5


| }xB~ M xB z^, :| }xB~ %% xyyJ@0 F }JMxy| %%i :
z9|1
, F }JMxy| %% [xyM} 0y}xy| z!=:B} z , Nb!0}xy|`zx, cb0<}xy|` z{(, cb0
{w:xBu| F }JMxy| M z F MJBz4, F J} xy| ) 9G0<}xy|`|1:z[,_.60:aww5~zxBz M|4z , 
A 0
aww5| } ,F 0aww:B{M{yM|4z ,F 9

 A-H&N  &-L@c>9)]# $%#$3T&AMW PbY.J.%"MW #$# bY$AG @02@EIJ%.%2-


% ?%#34*
]P/.%"A@EIJ%" M6.a
jF&B#% ?%#$3 -&  %"$AJ@c@> !Z@02$@0AB *
F
HEH2%@E&%Y.@EA  $MU&B%/?%#$3 -G2%]N$2%03=  $M~$&-10@0#$N%  @EA %SUR 8E8 @0A3 #$%-H-.@0A  $MU  @0ABA 9 %
3%0&%IJAB%3(bY%.%4.a% B%0#3J$-/2%0NB%3J XA *
% ?%#34*]SU &%".@06M& 4A A  @E2@  .%X& 0 %-X-H IJ%"3B@0.@0 @E-%-X%.N2A(%$.%4.%"#%ABE.D$AJ .% e$G.%"#$%A&J M6.a
X.%"ANIJ %0X M?3B$&-e*  -H$EAB ?%-.@E.%"#%ABE.  @EAAB  %Y3%.%2IJ$A%03+*
% B%#$3= X  M6.Y% ?%#3(B@0-AB ^ 2%  -H AJ 4$  @EAAB  %Y3%.%2IJ$A%03+*
j64.%" %  $-$ AJ M6.a
> !?@E2$@0AB [QM
&B%2%Y$  7@0l e$Q.%Y3%0MW@0NB# 1@0#$N%G&B@0
$-$A-H%&%3FAB& (.%Y&@E #%c$MAB A%c$-L-H %   ?%3J c.%cN-H%*?@
A P3%0MW@0NB#
1@0#$N%Y X$  @EAA 
%"3B%.%2IJ$A%34*
j6..%"AB&%A@E#.  %iT M6.%"3@E&@E @0-H%Y- -H.%I . AB# YNB-%M&N#BMW 4# bY#$%1%0#  E@0IJIJ$Al 0*  M6NBAKA bYA+*
F
H]& !65 R ; AB3  @E&%-d&B@0X.$-?%#3a-H NB#3a %($A  #NB3%3 $Aa@0NB& WE%AB%2@E&%03a)> 8 -H&@E&IJ%0A.-= %B* 6*~$Aa>9)]#$

NB2-H |*
 ?%#3B-,* ! $-c3 %-AB 
. !65 R ; $A3B  @0.%-.@0~bY$3%.--B N#$3 2%IJ 10%C.2@E#$AB bY$.%- @  %MW I  @0@  &%a
@0M&MW%  6&B#% ?%#$3J1@0#$N%c NB A#$ Y.-/% 2%0-%AB&@E&$ A(AB-$3%cbY$3%.-,*
e]. !65 R ; $A3B  @0.%-P&B@09.%a1@E#NB% M~.$B- ?%#3-  @E#  N#$@0.%3+* ! B%a1@0#$N%a M  @0#  NB#@E&%3 B%0#3B-  @EA
Hl e$H
IJ 3 ?%3( "-HN  #@E--H$AP>9)]# N- /@EA3J 1%022$3$AG>9)]# N-  k  @E#  N#$@0.%  $%#@3 [0*
6=5Jy}JzF [x w

%% " =:J }Jz

[x w

{w:xBu| "=5Jy}JzF [x w

[x w

{w:xBu| "=5Jy}JzF }M

w:| 2z

 A-H&N  &-L@   Y M0.x*


6=5Jy}JzF [x w

%% " =:J }Jz

w5| 2z N
0 aww:~zFxBz M|4z

A

 2 %@E&%0-~@J>9)]# $%#$3T&AMW F u.%  Xb"$..%^& 0 %G@EA3a.%GAB@0IJ%P M4&B%G>9)]# %0#3 E&x*TWM H.P$- !65 R ; &B-)B%#$3
bY$##? %"A  #$N3%03DAJ@EN. %A%@0.%3J)> 8 -.@0.IJ%A.-H=%B* Z*AJ>9)#$
NB2-H |*
6=5Jy}JzF [x w

%%<

6=5Jy}JzF [x w

) 9J>}

|1BM@?

Q%-H& -/.%" u.%  6@0AB3JMW2%0%-/@0AB Y@0#$#  @0.%3J2%-H N  %-e*

}JMxy| "=:J }Jz [x w

%%&

z M
yJ|

MJBz

) 9o{w:xBu|

5 %&NB2AB-+.%d3%M&@0NB#Z1@E#NB%d M?&B-?%#$3^ +@0AP%IJ . >!?@0@EAZ$M?.%)B%#$3(@E-+AB G3B%MW@EN#$?10@0#$N%"  .%910@0#$N%  N#$3AB 6 %


3B%.%2IJ$A%34* ! %d3%M&@0NB#61@E#NB%d$-/.%d1@0#$N%Y$A-H%2.%3(A(.%d3@0.@0 @E-%"bY%A($6bY@0-/AB ?%0O0 #$  .#$ "-H %  ?%3P d.%"N-H%*

,

>)=ByHIHJEh&CFH &<I&III
Yww: "=:J }Jz [x w

%&% }JFvYM{yM|4z ) 9o{Mw5xBu|

5 %&NB2AB- !65 R ; $M6&B%#?%#$3J-  @0#  NB#@E&%03+*


)%%Y@0#$- (-H%& @0#  NB#@E&%3@[Y. +* , K0*
Yww: "=:J }Jz [x w

%&% }JozxBz

9 {w5xBu|
|lz C) %

5 %&NB2AB- !65 R ; $MU&B-?%#$3 - B N#$3 %A  #$N3%03 A @EN. %A%@0.%3 )> 8 -.@0.IJ%A.-H=L%B* 6*a$A >9)]# N-  s &B%2bY$-%
%.N2AB- }' 8 ) ; *
)%%Y@0#$- (-H%iQ%AB%2@E&%3@[). * ,  K0*
}xy| "=5Jy}JzF [x w

%% }JFaz!=5B} z C) 9o{w:xBu|

5 %&NB2AB-~@J1@0#$N%(2%@E&%U.@EA  $M4&B%?%#$3-d2%]N$2%03q.SUR 8E8 10@0#$N%-9@E2%(A X@E##$ bY%3=  M4$/-HA X2%]NB%3.SUR 88


10@0#$N%-L@02%Y@E##$ bY%3 Q 4#%-H-.@EA  M6$  @EAAB  %Y3%.%2IJ$A%03PbYB%&B%4&B%#?%#$3J-2%]N$2%03J +AB  *
Yww: "=:J }Jz [x w

%&% }J  } ) 9%{w5xBu|

5 %&NB2AB- !65 R ; $M6&@0$#$A^bY$&%-H @  %"-B N#$3D %d%IJ 1%3(M&2 I  @E2@  &%0?%#$3-e*


)%%Y@0#$- (-H% ! I[#. +* , K0*
}xy| "=5Jy}JzF [x w

%% zFxB~t|@2 ) 9%{Mw5xBu|

5 %&NB2AB-Q.%^#%0A& M+&B-y?%#$3+*e <?%#3B-U-. 2$AJ.%O04.%^2%.NAC1@E#NB%^$-~.%GIJ@EO0$IJNI ANIJ %0L M  B@02@  .%2-U.%


?%#$3  @0A #$3+N
* e AB A  @E2@  &%0 ?%#3B-L-H IJ%G3B@0.@0 @E-%-H -H&%0IJ-Q%.N2AC&B%ANBIJ % M .%-UA%%3B%3F L&B%ANBIJ %
M63B$&-L@0#$# bY%34* TWMZ.%Y#$%A&  @0ABA  %Y3%0&%IJAB%3(  -L2%.NA%34*
:| }xB~ 6=5Jy}JzF [x w

%% xB

) 9%{Mw5xBu|
z

5 %&NB2AB-/&B%dAB@0IJ%Y M6.%aB%#$3J$AD&B%d)> 8 .@0 #$%B*


; O0@EIJ #$%- ?-H]# [ 10%21$%bL[-HN  #$@0-H-  [IJ@0$A+*   J@EA3D-H]# [ 10%21$%bL[-HN  #$@0-H-&K,[IJ@0$A+*   +*
6=5Jy}JzF [x w

6=5Jy}JzF [x w

%% w5z

|lw

, )

{Mw5xBu| "=:J }Jz [x w

w5| 2z

'+-H-$EAB-UE&+& P&B-B%#$3J$AMW P@0AB3J2%.NA-/@c%MW%02%A  %. P*


Yww: "=:J }Jz [x w

%&% w:`z

M|4w

,, )

{Mw5xBu| 6=5Jy}JzF [x w
9 {Mw5xBu|
M o

5 %&NB2AB- !65 R ; $M6&B-B%#$3$AM& G$-%]NB@0#. 7 s .%bY-H%d%.N2AB-}' 8 ) ; *


! bYT B%#$3J$AMW -@02%  AB-$3%02%3J%]NB@0#bY%0AJ@0#$#.%$X@0.& NB&%0-XIJ@0  +*
}xy| "=5Jy}JzF [x w

%%

zN{}JF}Jw5x

) 9o{Mw5xBu|

5 %&NB2AB-/&B%d 2%  -H AJ M6.$-?%#$3J +  M6.%aB%0#3JB@0-/AB ^ %  $-H AJ X$  @EAAB  %d3B%.%2IJ$A%34*

, K

>)=ByHIHJEh&CFH &<I&III
<w}

"=:J }Jz [x w

%% Fz|4vYM{yM|4z )

aww5{M{

9->J<}

|1BM@?

H e-H%L. !65 R ; $A3  @E&%0-".@EL.$-YB%0#3`-Y@  @0#  NB#@E&%03?%#$3+* ! %F1@0#$N%C M  @E#  N#$@0.%3B%#$3-  @0A FIJ 3?%3
-HN  #@E--H$AP>9)]# N- /@EA3J 1%022$3$AG>9)]# N- k  @E#  N#$@0.% $%#3@[0*
)%%Y@0#$- ($- @0#  N#$@0.%3@[`. +* , 0*
<w}

"=:J }Jz [x w

%% Fz|
ozxBz

M|4z J) Yww5T~zFx9->J<} |1BM@?

 -H%d& }' 8 ) ; AB3  @E&%-P.@0&B-?%#$3 -H N#$3 AB 9@0  %@0c$A @0NB& WE%AB%2@E&%03 )> 8 -H.@0.%IJ%A.-/.M& c%O0@EIJ #%$A
>)]# N2-H 0*
)%%Y@0#$- ($-LQ%A%02@0.%3@[#. * , 0*

<w}

"=:J }Jz [x w

%% Fz|  } w)

Yww5)| }

9C>J<}

|1BM@?

T&M?. - !65 R ; bY3BE%0&-4-H N#$3P2%IJ 1%~.2@E#$$AcbY$&%0- @  %9M&2 I  B@0@  .%NB%#$3-e* ! B-+3 %-+A ?@0M&MW%  B.%)B%#$3G10@0#$N%
NB A#$ c$&-/% %-%0A.@0. A($A-H3B%"bY$3%.-,*
)%%Y@0#$- ($- ! 2$I[a. +* , 0*
6=5Jy}JzF

6=5Jy}JzF [x w

%% |4w5y}JzF C) 9o{w:xBu|

5 %&NB2AB-/@0AJ%IJ & Y>9)]# %0#3J @E-%3J AJ.%"$AMW IJ@0. AJ$AJ.$-/>9)]# %#$3T&AM&


*
F

}JMxy| %%i :z 6=5Jy}JzF [x w

%% |1:z ) 9o{w:xBu|

5 %&NB2AB-/&B%d.  %Y MZ.$-B%0#3J X>@!Z@0@EA"k TWAB1@0#$$3DM6.%Y.  %"-LNABKEAB b"A4*


}xy| "=5Jy}JzF [x w

%% |1:zN[ ) 9o{Mw5xBu|

5 %&NB2AB-G.%AB&%02A@E#.  %$3%AB&B%0c@0-G%.N2AB%3 MW I.%3@E&@E @0-H%a- 0-.%I * ! %2%.NA 1@E#NB%a-  M9.%.  %$NBAKA bYA+*
C 6p5
$ ! B-ABMW 2IJ@E&$ AJ$-/ A#$ cN-H%MWNB#MW 4#$ bY#%01%#3B@0.@0 @E-%Y  E@0IJIJ$A@EA3D$-LEZ3@E&@E @0-H%"$A3B% %AB3%AB *

! B%Y>9)]#e I  #@E--  2%0@0.%-X@0AB3JIJ@0A@EE%0-3@E&@c%0A.2 YMW IJ-X&$%3J. G)> 8 3@0.@0 @E-%0-,*


! B-  #$@0-H-$- @E26 M6.%"}?BIJ 3BN#$%B*
T&AB%2$&-> 7 u.%  .'+33$. AB@0# NBA  .$ A@0#$$& cbY$&J>9[0*
#include <qsqlform.h>

J _ .:: , 0# _ 0d5X
BBpEBE> 7 u|%  5Y @E2%AB  =  A-H  @0YAB@0IJ%o  
[
BBpEB
1$2.N@E#1 $3Jp6}]50>_a3BE%cb"$3%.=  AB-
>9).2$A?%#$3
1$2.N@E#1 $3J]?#   A-H>9).2$AB ?%#)3 
N$A
eB665 [  A-H
>9_a$3%: cp ]: 0N$A
   A-H
>9)]#  %0#$3 cp ]EB]p]po >9_a$3%: cbY$3%   AB-
>9_a$3%: pZEM p ]5 >)]#  $%#$o3 YB%#$3   A-H
1 $3Jp6} ppZ??]C $ 0>9)]# 2 %& 0\F@0T c IJ@E< 
1$2.N@E#1 $3J}]+e? 0>9)]# 5 %  3 c NM 
U

J _ .:: ' .:(lX


1$2.N@E#1 $3J] ?]p]p$0>_a3BE%cb"$3%
1$2.N@E#1 $3Jp]]pp$ 0>9_a3BE%0 YbY3BE%4 
1$2.N@E#1 $3J] ?]p]pZ [
1$2.N@E#1 $3Jp]]ppZ [
1$2.N@E#1 $3Jep] @ [
1$2.N@E#1 $3Jep] .6 p6] E # ANB##$M&/ Vk' 8 ) ;
U

J6(l0dL40" , 0a _ 0"5X
1$2.N@E#1 $3Jp6}]50>_a3BE%cb"$3%.=>9)]# %0#3$`?%#$3y
1$2.N@E#1 $3J]?# >_a3BE%N Yb"$3%4 
U

,

>)=ByHCuuH4LI&I"uII

d ] 1.10"

Q 0

Q 0aX

,p

L61D:(

! B%Y>9)]#e I  #@E--  2%0@0.%-X@0AB3JIJ@0A@EE%0-3@E&@c%0A.2 YMW IJ-X&$%3J. G)> 8 3@0.@0 @E-%0-,*


!    @E#N-H%Y M6@c>9)]#e 2I  A-H-H.- MZ&B%dM& ##$ bYABG-H&%0 -
 *Q
%@0.%Y&B%dbY$3%.-/  NDbY@0AB. G@0  %@04$AD.%"MW 2I *
 *Q
%@0.%Y@  NB2-H X@0A3JAB@01$@0.%". P&B%d%  3P. P %d%3B.%34*
 *Q
%@0.%Y&B%d>)]# e I *
K *Q)%
&B%dM& 2IJ -X%  3( NMWM&%4& P.%  N-  -/NB 3@E&%" NM&MW%*
 *QTWAB-%02%@  (bY3BE%0@0AB3D&B#
% ?%#$3J
-L& ^%3$$A. ^.%"MW I *
p *QRQ-%Y2%0@0
3  $%#$3- [. GNB 3@E&%Y.%"%3$& 4bY$3%&-LbY.J1@0#$N%0-/MW I .%Y3@E&@E @0-H% -?%#$3-e*
n<
* Q-H #$@0 Y&B%YMW 2I@0AB3J#%
&B%"NB-%0X%3$61@0#$N%0-%  *
 *QRQ-%YbY2$&%  %#$3- [. GNB 3@E&%Y.%"3@E&@E @0-H%
- ?%#$3(1@0#$N%-LbY.J&B%Y1@0#$N%-AD.%"%3B. 4b"$3%.-,*
SU .%C.@E~@a>9)]# e 2I3B %-cA ~@ } %0--.%3@E&@E @0-H%C3B%  .#$ =L NB~IJ -~ M&&%A 1$@a>9)]#  %#$3-Gb"B   @0%C @E2U MU@
>)]# N2-H *'>9)]#$
N-  k $A-H%2" [=Q>9)]# N-  k N 3@0.M% [P Y>9)]# N-  k 3%0S# [  @E##L-AB%%3B%3`. @  .N@E##$ abY2$&%
10@0#$N%-L& P&B%d3B@0.@0 @E-%B*
) IJ%"-H@0IJ #%  3B%Y& PAB.$@0#$ r,%c@cMW I -HN k %-H-M&N#$#t 
QLineEdit myEditor( this );
QSqlForm
myForm( this );
QSqlCursor myCursor( "mytable" );
// Execute a query to make the cursor valid
myCursor.select();
// Move the cursor to a valid record (the first record)
myCursor.next();
// Set the forms record pointer to the cursors edit buffer (which
// contains the current records values)
myForm.setRecord( myCursor.primeUpdate() );
// Insert a field into the form that uses myEditor to edit the
// field somefield in mytable
myForm.insert( &myEditor, "somefield" );
// Update myEditor with the value from the mapped database field
myForm.readFields();
...
// Let the user edit the form
...
// Update the database
myForm.writeFields(); // Update the cursors edit buffer from the form
myCursor.update();
// Update the database from the cursors buffer

T&MB 0 N^bY@0ABZ& cNB-%  N-H. I%3$. 2-+MW 


3B-H #$@0 $A}[%3B.AB3@E&@#B%0#3B-=  NPA%0%3G. cAB-.@0#$#@  NB-. I >9)]#2 %02. \F@E *
! B%YMW 2IN-H%-/.$-/ u.%  . G% X-H%6.%Y1@0#$N%Y M6@cbY$3% *
SU .%Y&B@0
U]d.k X 2 1$3%0-X@c1-HN@E#BIJ%0@0A- M  2%@E&$A^3@E&@E@0bY@0%YMW 2IJ-e*
)%%Y@0#$- ($A-H&@E## 2 %2. \F@EN [a. +* , n=>9)]# 2 %& 0\F@09 . * , U@0AB$3 L@E&@E @0-H%d #@E--H%-e*

,

>)=ByHCuuH4LI&I"uII
,

0#

"('CF:(

_ 0

PL%0dC ] :(
Q

6=5Jw t4%% 6=5Jw tw) 9 lz{|*% zxy|-,/.10{Mw5xBu|/{32` %


* xB

z^,_.`9

 A-H&N  &-L@c>9)]#e I bY$&J @E2%ABFjZ]HZ@EA3JA@EIJ%]^e*


6=5Jw t4%%&< "=:Jw w)

Q%-H& -/.%" u.%  6@0AB3JMW2%0%-/@0AB Y@0#$#  @0.%3J2%-H N  %-e*


<w}

"=:Jw O%% {zN )

9J>}

|1BMBuw5|
?

5 %IJ 1%-/%01%2 "bY3BE%0&=@EA3J.%Y?%#3B-/.%  2%"IJ@0  %3(& = M&2 I &B%dM& 2I *


<w}

"=:Jw O%% {zN XF MJBzN

aww5xyyJ} ~,

9C>J<}

|1BMuw5|
?

 # %0@02-U.%c1@E#NB%-UAC@0#$#Z&B%cb"$3%.-=Z@EA3F.%`?%#$3-Q&B% @E2%cIJ@0  %3D. =B$A&B%cMW 2I *6TWM+ee$ 7a$- !65 R ; . .%c3B%MW@EN#$


$- k' 8 ) ; = %@  $B%0#3J$-@E#-H ^-H%. GABN#$#|*
B}xy| "=5Jw t4%% {w5yxy|

) 9%{w:xBu|

5 %&NB2AB-/&B%dABNIJ %X MZbY$3%&-LAJ.%YM& 2I *


} ~z|+* "=5Jw t4%% )


H zF N w

} ~z|

"=:J }Jz

*-H#zF 9/{w:xBu|

5 %&NB2AB-/&B%dbY$3%.@E:B%0#3<"ec-/IJ@E  %3J.
*
<w}

"=:Jw O%% }xBFz |

} ~zF|8*%c} ~z|
0{Mw5xBu| :| }xB~

M H)zF 9->}

|B@?

T&A-H%2.-+@g$ W=@EA3^&B%~A@0IJ%~ M&B%t9"e$9$$-+& Y %~IJ@0  %3. =E$A. Y&B%~MW I * ! Y@  &NB@0#$# 9@E--H  $@0.%9$A-H%2.%3bY$3%.bY$&J@EAD%3B6 NBMWMW%0= NB-%Y-H% 5 %  3 [0*
)%%Y@0#$- (-H% 5 %  3 [). * e  0*
; O0@EIJ #$%- ?-H]# [ 10%21$%bL[MW I  [IJ@0$A+*   ^@EA3D-H]# [ 1%021$%bL[MW I  [IJ@0$A+*   +*
<w}

"=:Jw O%% }xBFz |

} ~zF|8*%c} ~z|
0 6=5Jy}JzF

*CH)z 9J>}

|1BMy w5|4zN{|4z

! B--L@0AJ 1%# @E3%3(IJ%IJ %0+M&NA  . AB=  13B%3(MW   AB1%AB%A  %B* TW %B@01%0-X%--H%AB&$@0#$# G#$KE%Y.%"@0 1%YM&NA  &$ A+*
T&A-H%2.-/y@ g1 W=@EA3J.% 9" e$c$$-/. ^ %"IJ@0  %3J& = $A. P&B%"M& 2I *
<w}

"=:Jw O%% }xBu|4MJ w5z |1:M

6=5 w5z |1:Mi*%

Mq9

T&A-H&@E##$-Q@  N-H. I>9)# %2. \C@0 * ! B-/$-NB-%0MWN#M6  NF #@EAJ&  %@0.%"  NX bYA  NB-. I %3$& 4bY$3%&-e*
>)]# e I.@0K%-X bYA%-B ( Mj6^j?= @0A3BjZPjJ-/.%02%M& 2%3B%#$%&%03PbYB%AJ>9)]#e 2I  %-/ NB M6-  %B*
)%%Y@0#$- (> Q@0.@ ! @0 #$M% k $A-H&@E## ; 3$& L k@  . 2M [Y. *  K0*
; O0@EIJ #$M% ?-]# [ 1%1%0b[  N-H& I  [IJ@0$A+*   *

,

>)=ByHCuuH4LI&I"uII
<w}

"=:Jw O%%i zN y}JzF -)

} ~zF|+*/c} ~zF|9J>} |BBuw:|


?

RQ 3B@0.%-~&B%GbY$3%:g1 +bY$&.%P1@0#$N%PMW I .%G)> 8 B %0#3$X-9IJ@E  %3.


*/SU .$ADB@0  %A-U$MXA F)> 8 B %0#3$IJ@E  %3J. G. % g1 H*
<w}

"=:Jw O%%i zN y}JzF

) 9J>}

|1BMuw5|G?

RQ 3B@0.%-/.%"b"$3%.-/$AD&B%dM& 2Ib"$.  N2%AB1@E#NB%-M&2 I .%")> 8 B%#$3-&B% Y@02%"IJ@0  %3J.


*
; O0@EIJ #$%- ?-H]# [ 10%21$%bL[MW I  [IJ@0$A+*   ^@EA3D-H]# [ 1%021$%bL[MW I  [ IJ@0$A+*   +*
<w}

"=:Jw O%%i z

} ~zF|+*/c} ~zF|9->} |1BMy w5|4zN{|4z

w5z

5 %IJ 1%-/@yg =@EA3JB%A  %".%a?%#3J$. -/IJ@E  %3(. =MW I .%YMW I *


<w}

"=:Jw O%%i z

w5z

{w:xBu| 5| }xB~

M H#zF 9C>J<}

|1BM@?

! B--L@0AJ 1%# @E3%3(IJ%IJ %0+M&NA  . AB=  13B%3(MW   AB1%AB%A  %B* TW %B@01%0-X%--H%AB&$@0#$# G#$KE%Y.%"@0 1%YM&NA  &$ A+*
5 %IJ 1%- " e$YMW I .%"MW 2I *
<w}

"=:Jw O%% FzF|l#zN{w I) "=:#zN{w t

*/ C
9 >J<}

|1BM@?

)%&-Q0L7~@0-/.%"2%  23( NBMWMW%0+M& 4&B%"M& 2I * ! GM&   %".%"3$- #$@0 c M6.%"3@E&@cM&2 I 0L7:=NB-%c%@03M %#$3-[0*
)%%Y@0#$- (2%0@03  $%#$3-[a. * , Q@0AB3Jb".% $%#$3-[a. * e 0*
; O0@EIJ #$%- ?-H]# [ 10%21$%bL[  NB-. I  [IJ@EA4*   =-H]# [ 1%021$%bL[MW I  [IJ@0$A+*   (@EA3J-H# [ 1%1$%bL[MW 2I  [IJ@0$A+*   *

} ~z|+* "=5Jw t4%% c} ~z|

B}xy|%}9o{w:xBu|

5 %&NB2AB-/&B%Y.JbY3BE%0AF&B%dM& 2I *]RQ-%0MWN#MW 4&@01%02-HAB&B%Yb"$3%.-/$AD&B%dM& 2I *


6=5Jy}JzF

"=:Jw O%% c} ~zF| w: }Jz J)

} ~zF|8*%c} ~z|9/{w5xBu|

5 %&NB2AB-/&B%d)> 8 ? %#3J.@EbY3BE%0g$ Z$-IJ@E  %3(.


*
<w}

"=:Jw O%% }|lzFy}JzF I)

} ~zF|8*%c} ~z|9J>} |1BMBuw5|


?

RQ 3B@0.%-L.%c)> 8 B %#$3FbY$&C&B%c1@0#$N%^MW I .%)gc $4-QIJ@0  %3F.


*6SU .$A(@E  %AB-L$M
AB J)> 8 B %0#3C-UIJ@0  %3
. P&B% g1 H*
<w}

"=:Jw O%% }|lzFy}JzF

) 9J>}

|1BM`uw:|
?

RQ 3B@0.%-X&B%d)> 8 ?%#3B-XbY.(1@0#$N%-LMW I&B%dbY$3%.-/&B% "@02%"IJ@0  %3(&


* ! G@  .N@E##$ YN 3B@0.%".%d3@E&@E @0-H%"bY$&(.%
 A.%A.-/ M6.%"2%  23( NM&MW%$= N-H%Y>9)]#$
N- k $A-H%2"[=>9)#$
NB2-H uk N 3B@0.%M[U +>)]# N2-H uZ 3%#J[U@0-/@E   2$@0.%B*
; O0@EIJ #$M% ?-]# [ 1%1%0b[M& 2I  [IJ@EA4*   *

! B%Y>9)]#T&A3B%O  #$@0-H-  1$3%-XM&NA  &$ A-& PIJ@0AB NB#@E&%Y@EA3D3B%-  2$ %d>)]# N2-H /@EA3J>9)]#L@E&@E @0-H%d$A3B%O0%0-,*
! B-  #$@0-H-$- @E26 M6.%"}?BIJ 3BN#$%B*
T&AB%2$&->9)]# 5 %  39. +* , 0*
#include <qsqlindex.h>

J _ .:: , 0# _ 0d5X
BBp|6Z]  A-H6>9).2$A  NB2-H 2A@EIJ%o>9).2$A5k ABN#$#=  A-H>9).2$AA@0IJ%o >9).2$A5k ABN#$#u
BBp|6Z]   A-H6>9)]#$TWA3B%O` .%0F
[
BBp|6Z]`
>9)]#$TWAB3%`O ?Z] BX z   A-H>9)]#$TWA3B%`O .%0l 
1$2.N@E#1 $3J}]+6}?Q V~ a   A-H>9).2$AB  NB2-H 2SU@0IJ@% 
>9).2$AGe6}?Q V~ Y [  A-H
1$2.N@E#1 $3J}] V~ a   AB->)&AB AB@0IJ% 
>9).2$AG6 ` [  A-H
1$2.N@E#1 $3J Z?]6$   A-H>9)]#  %0#o3 B%#$3 
1$2.N@E#1 $3J Z?]6$   A-H>9)]#  %0#o3 B%#$3= #3%-  
#pkQ]ke6Zp5 BE$A   A-H
1$2.N@E#1 $3J}]U]}e]6Zp5 `0$A$= #3B%-  
U

'

] E: UJ _ .:: , 0a _ 0"5X
>9)]#$TWAB3%Oc.BBp5 p}:  AB->)&AB 8 $-: #=  A-H>9)#$
NB2-H   NB2-H 
d ] 1.10"

Q 0

Q 0aX

L61D:(

! B%Y>9)]#T&A3B%O  #$@0-H-  1$3%-XM&NA  &$ A-& PIJ@0AB NB#@E&%Y@EA3D3B%-  2$ %d>)]# N2-H /@EA3J>9)]#L@E&@E @0-H%d$A3B%O0%0-,*
! B-  #$@0-H-$-9N-H%3a. F3%0-  2$ %^@EA3aIJ@0AB N#$@0.%J>9)]# N- ~@EA3a>9)]#L@E&@E @0-H%^$A3B%O0%0-,*U'+Aa$A3%0OP%MW%02-~. F@J-HABE#$%
.@0 #$%F d1$%bA @3@0.@0 @E-%?*GT&AM& 2IJ@0.$ A @0 NBU&B%oB%0#3B-".@E  IJ 2$-H%D&B%D$A3%0O  @0A %DN-H%3 & a%A%02@0.%D)> 8
-H.@0.%IJ%A.-H= X& ^@0M&MW%  6&B%d %B@01$ X MZ@c>9)]#$
N-  u .%   *
SU IJ@0#$# =B>9)]#T&A3B%Oc u .%  &-X@E2%  %@0.%3( Y>9)]# L@E&@E @0-H%" 4>9)#$
NB2-H |*
)%%Y@0#$- Q@0.@0 @0-H%"
#$@0-H-%-e*
,

,

>)=ByHEIQFH &IQ&III
,

0#

"('CF:(

_ 0

PL%0dC ] :(
Q

6=5[x z %% "=5[x z ) 


{ w:xBu| 5| } xB~
{w:xBu| 5| }xB~ M B
x ^
z , :
| }B
x ~

M { Fw
%% xyyJ9

xB

z4,

5| }xB~

%% xyyJ@0

 A-H&N  &-L@0AJ%IJ . "AB3%OcNB-$AP&B%  N- XAB@0IJ%kEPX@EA3J$A3B%OcA@EIJ%cPe*


6=5[x z

%% " =5[x

{w:xBu| "=:[x z

w5| 2z

 A-H&N  &-L@   Y M0.x*


6=5[x z

%%<

6=5[x z

)9

Q%-H& -/.%" u.%  6@0AB3JMW2%0%-/@0AB Y@0#$#  @0.%3J2%-H N  %-e*


<w}

"=:[x z

%&% M zFx I
)

{Mw5xBu| 6=5Jy}JzF 4M

H#zF 9C>}

|1BM@?

'+  %0A3-&B%#?%#$3<9"e$Y. ^.%"#$-H


M6$A3%0O0%3?%#3B-,* ! %aB%0#3J$-/@0  %A3B%3(bY.J@0AD@E-  %A3BABG-H 26 3%*
5 %IJ #%IJ%0A.%3(MW2 I>9)]# 5 %  3 . * ,  0*
<w}

"=:[x z

%&% M zFx I
)

{Mw5xBu| 6=5Jy}JzF 4M

H#zF 0aww:

zF{9->} |1BM@?

! B--L@0AJ 1%# @E3%3(IJ%IJ %0+M&NA  . AB=  13B%3(MW   AB1%AB%A  %B* TW %B@01%0-X%--H%AB&$@0#$# G#$KE%Y.%"@0 1%YM&NA  &$ A+*
'+  %0A3-L&B`% B%0# 3 " e$c. P.%c#$$-+ M6AB3%OE%o3 ?%#$3-e* ! %`?%#3F-Q@0  %A3B%3JbY.D@0AC@0-  %AB3$AP- 
3%$=NAB#%0--~E.x
$- !65 R ; *
:| }xB~ 6=5[x z

%% {

Fw

) 9%{w:xBu|

5 %&NB2AB-/&B%dAB@0IJ%Y M6.%  N - XbYB  J&B%d$A3B%Oc-L@0-H-  @E&%03Jb"$.+*


6=5[x z 6
=5[x z %%&i w 5
| }xB~ }Ju| ) {w:xBu| 5| }xB~ }Ju|
{w:xBu| "=:v F
w *{ Fw 9->u|4M|4}J{?

M @ 0

5 %&NB2AB-L@EAF$A3%0O @0-H%3F AF&B%`B%#$3F3B%-  2$ . AB-$Ame@0AB3F.%  NB2-H LHx0x* ! %`?%#$3D3%-   &$ A-Q-B N#$3F %c$AF.%
-H@0IJ%"MW IJ@0Z.@0Z. ).2$A 8 $-" [/  3N  %-H=]MW +%O0@EIJ #%0=@Y-HNA@0IJ%a?%#3P$AP.%d % #$%.@0 #$%"IJZ %"A( A%d MB.%0-%
M& 2IJ-  -HNA@0IJ% = -NB2AB@0IJ`% ; )  %0 #%?* -HNA@0IJ%Y'+) *
)%%Y@0#$- (. )&AB 8 $-" [a. * , p 0*
Yww: "=:[x z

%% }JuzNF{zFx

}xB~

}xy|%}h9/{w:xBu|

5 %&NB2AB-/&N%"M5?%#$3F $AD.%"AB3%Oc$-/-H 2.%3JAJ3B%-  %AB3$AG 3%$=] &B%2bY$-%Y%&NB2AB-}' 8 ) ; *


:| }xB~ 6=5[x z

%% xB

5 %&NB2AB-/&B%dAB@0IJ%Y M6.%"AB3%OZ*

) 9o{w:xBu|



>)=ByHEIQFH &IQ&III
6=5[x z

"=5[x z

%% w5z

M|4w

, )

{Mw5xBu| 6=5[x z

w:| 2z

)%&-&B%"$A3B%Oc%]N@E#. (E&x*
<w}

"=:[x z

%&% Fz|4v

Fw 4

)
z

{Mw5xBu| :| }xB~

{ Fw

zR9->} |1BM@?

)%&-&B%"AB@0IJ%Y MZ&B%  N- 4.@E&B%d$A3B%Oc$-@0-H-H  $@0.%3JbY.J& (kEeY]^e*


<w}

"=:[x z

%&% Fz|1zF{MzFx

}xB~

}xy|%}0:Yww5 zNF{9->} |B@?

T&M
E.xX$- !65 R ; =FB%0#3F-L- &%3($AD3%0-  %A3BABG 23B%* 7 .%b"$-H%=FB%0#3F-L- &%3($AD@0-  %0A3$A^ 23B%.&B%d3B%MW@EN#$i0*TWM
.Y% ?%#$3J3 %-XAB %O0$-H&=AB &BAB@E  %AB-,*
<w}

"=:[x z

%&% Fz|

{w5xBu| :| }xB~

)%&-&B%"AB@0IJ%Y MZ&B%YAB3%Oc. P]Pe*

xB

z9J>} |1BM@?

! B%Y>9)]#2 %& 0\F@0  #$@0-H-$-/NB-%3J. PIJ@0 (bY3BE%.-/. ^)> 8 ? %#3B-,*


! B-  #$@0-H-$- @E26 M6.%"}?BIJ 3BN#$%B*
#include <qsqlpropertymap.h>

J _ .:: , 0# _ 0d5X
BBpZ?Z [
1$2.N@E# BBpZ??]C [
> !Z@02$@0ABZBZ]# 0>9_a$3%:cbY3BE%0 
@
1$2.N@E#1 $3J}]ZBZ] E>9_a3BE%0: cbY3BE%.=  A-H>@!?@E2$@0AB: 1@E#NB%
1 $3Jp6}]:   A-H>9).2$AB  #$@0-H-HA@0IJ%0=  AB-
>9).2$A 2 %02. N
1 $3J]?#   A-H>9)&AB  #$@0-H-HA@0IJ% 
U

'

] E: UJ _ .:: , 0a _ 0"5X
>9)]#2 %2. \F@E cZ]. 6pC $[
1 $3Jp6} ppU]& 6p % 0>9)]# 2 %& 0\F@0 TcIJ@0 
d ] 1.10"

Q 0

Q 0aX

L61D:(

! B%Y>9)]#2 %& 0\F@0  #$@0-H-$-/NB-%3J. PIJ@0 (bY3BE%.-/. ^)> 8 ?%#3B-,*


! B%Y)> 8 IJ 3BN#$%"NB-%0-/>9 u|%  6  %&$%-X. G$A-H%2@EA3J%OE&@  61@0#$N%-LMW I %3B. 4b"$3%.-,*
! B-  #$@0-H-Q-QN-H%3F. (IJ@0 J%3B. 2-L& ()> 8 ?%#3B-,* ! $-LbY 2K- c@E--H  $@0.$A()> 8 %3$&   #$@0-H-LAB@0IJ%-Q& (.%c  %&$%NB-%03D& ^AB-%02@EA3J%OE&@  610@0#$N%-L& x[M&2 I .%"%3B. |*
e Z%OE@0IJ #$%=E@9> 8 AB% ; 3B  @0AG %QNB-%03c& "%3$.%O0 -H.2$A-
@0AB3 .%Z3@E&@~.  %0-AG>L@E&@ ! @E #%-6 6>)]#e IJ-,*E)%10%2@E#
2 %&$%-L@02%c3B% ?A%3CAC> 8 $A% ; 3B.=B NB AB# ^&B%G&[  2 %2. Y-UN-H%3C& ($A-H%2+@0AB3F%OE&@   &%0O0
M&2 I @G> 8 $A% ; 3$*
6 .a
> Q@0.@ ! @0 #$%G@0AB3a>9)]# e 2INB-%(.%PE#$ @0#>)]#  %& \C@0 MW U$A-H%2.ABD@0AB3a%O0.2@  .ABJ1@0#$N%0-9& C@0AB3aMW2 I
@EA %3B. ~bY3BE%0 * ! B%(E#$ @0#+ 2 %2. (IJ@0 a3% BAB%-9-H%1%@0#  IJIJ AabY3BE%0&-"@0AB3 2 %2.%0-9&B@0L@02%(-HN$&@E #%FMW 
IJ@EA c@E  #$  @0. AB-,* N  @EAJ@033J@EA3J%IJ 1%"b"$3% 2 %&$%-X. G-HN$
 NBX- %     AB%%3B-,*
T&MX  NbY@0A& CN-H%  N-H& I %3$. 2-~bY.  NU> Q@0.@ ! @0 #$%G U>9)]# e 2IJ= 0 Na@010%^. F$A-H&@E##  NU bYA>9)]# 2 %02
. \C@0 (MW 4.@0
&@E #%Y 4MW I * ; OE@0IJ #$M% 
QSqlPropertyMap *myMap = new QSqlPropertyMap();
QSqlForm
*myForm = new QSqlForm( this );
MyEditor
myEditor( this );

,



>)=ByHCNNIc ACQ`FH &<I&III

// Set the QSqlForms record buffer to the update buffer of


// a pre-existing QSqlCursor called cur.
myForm->setRecord( cur->primeUpdate() );
// Install the customized map
myMap->insert( "MyEditor", "content" );
myForm->installPropertyMap( myMap ); // myForm now owns myMap
...
// Insert a field into the form that uses a myEditor to edit the
// field somefield
myForm->insert( &myEditor, "somefield" );
// Update myEditor with the value from the mapped database field
myForm->readFields();
...
// Let the user edit the form
...
// Update the database fields with the values in the form
myForm->writeFields();
...

0 N  @0A @0#$- % #$@  %D&B%D# @E#+>)]# %& \C@0 .@EL$-YN-H%3 D3%M&@0NB#*[6%@0dA IJAB3`.@EL>)]# %& \C@0
.@0K%-/ bYAB%2-H$ ( M?.%YAB%b 3B%MW@EN#$6IJ@0 * 
QSqlPropertyMap *myMap = new QSqlPropertyMap;
myMap->insert( "MyEditor", "content" );
QSqlPropertyMap::installDefaultMap( myMap );
...

)%%Y@0#$- (>Q@0.@ ! @0 #$%T. *Kn=>9)#e 2I . * , =>9)]# ; 3B. x@  &  . +*  Q@0AB3oL@E&@E @0-H%d #@E--H%-e*
,

0#

"('CF:(

_ 0

6=5 w:`z |1M

PL%0dC ] :(

%% 6 =5

w:`z |1M

)9

 A-H&N  &-L@c>9)]#2 %& 0\F@0 +*


! B%Y3%M&@0N#$  %& dIJ@0  $A-NB-%03J ">6b"$3%.-@E2%M
> 6NB&. A  .%O0

O   %  KE%03
>9 %  4K 6 
6 SO   N2%AB&T&&%0I
>9 IJ F
>Q@0.% ; 3$ 3@E&%
> Q@0.% ! IJ% ; 3$  3B@0.% ! $IJ%

> Q@EB#  1@E#NB%

> 8 @0 %#h &%0O0
 QSUNIJ %k  10@0#$N%
> 8 
  .%O0
> 8 AB% ; 3$
> 8 -H[6 O   NB22%0A.TW.%I
 &%OE
>9\CN#$& 8 $A% ; 3B

 K

>)=ByHCNNIc ACQ`FH &<I&III

> NB-M6N.& A&%OE


> 5 @03B F6NB&. AR .%O0
>9)  2 #$# 6@Ek  1@E#NB%
>9)#$$3%k  10@0#$N%
>9) MA 6 O  1@0#$N%
> ! %O0[62 bY-H%$- NB  %
> ! %O0 ; 3B  .%OE
> ! %O0 !/%b  &%0O0
> ! IJ% ; 3B &$IJ%



6=5 w:`z |1M

%%&<

"=: w5z |1:M

) 9J>}

|B@?

Q%-H& -/.%">9)]#2 %02. \F@E *


SU .%J&B@0/$M/.%(>9)]#2 %2. \F@E -dAB-.@0#$#%03 bY. $A-H&@E## %2. \C@0 N[d&B%J u.%  /b"@E-d$A-H.@0#$#%3 AB& =4%B* Z*d.%
>)]#e IJ=&@EKE%0-X b"AB%2-H$ (@0AB3Jb"$#$#3%0#%.%Y&B%d>)]# %& \C@0 PbY%AJAB%  %-H-H@02 }*
6=5 w:`z |1Mi* "=5 w:z |:M

%%

z yJ|M

) 9J>u|4M|4}J{?

5 %&NB2AB-/&B%d@E  #$  @0. AFE#$ @0#B>9)]#2 %& 0\F@0 +*


<w}

"=: w5z |1:M

%% }xBFz

{Mw5xBu| :| }xB~

{@FuxB

z$0<{Mw5xBu| :| }xB~

w5z |1:9

T&A-H%24@PA%b  #@E--HA@EIJ% [  %2. G @0$=ZbY  -~NB-%03CM&   NB-. I )> 8 B %#$3%3$& -,* ! B%2%P^,x %@(>4 547  ?; 5!
 #@EN-H%cAF&B%Y&ekx]^  #@E--L3%  #@E2@E&$ AJMW X.%<jZH"j6H L*
; O0@EIJ #$M% ?-]# [ 1%1%0b[  N-H& I  [IJ@0$A+*   *
<w}

"=: w5z |1:M

%% }xBu|4MJJz

MyJ|1M

"=: w5z |1:M*

M9J>u|4M|4}J{?

5 % #$@  %0-/&B%YE#$ @0#B3%M&@0N#$6  %2. "IJ@0 (bY.F^jX*]'+##B>L@E&@ ! @E #%d@0A3F>9)]#e I $A-H&@EA.@E&$ A-LbY#$#NB-%Y.$-/A%b
IJ@E GM& AB-%02.ABc@0A3^%O0.2@  .ABd10@0#$N%-X. c@0AB3GMW I %3$. 2-eF*
Q l e O
1 jZH B j^.[ gE.L1gx j(S7PjB=@0AB3^3B%-H& $bY%0AJ$-AB ^#$ A%XAB%%3%03+*

}JMxy| "=: w5z |1:M

%%

w:`z |1

} ~zF|+*/c} ~zF|9

5 %&NB2AB-/&B%dIJ@E  %3J 2 %& d Mgc 6@E-/@c>@!?@E2$@0AB *


<w}

"=: w5z |1:M

%%i

w5z

{w:xBu| 5| }xB~

{FuxB

zR9

5 %IJ 1%-L&e$}2k]^XMW2 I&B%dIJ@E *


<w}

"=: w5z |1:M

%% FzF|

)%&-&B%" 2 %& d MFg$ Z. )P ee*

w5z |1

} ~z|+*/c} ~z|
0{Mw5xBu|

}JMxy|

<JBz9->J<} |1BM@?

! B%Y>9)]#>N%  #@E--L 2 103B%-X@cIJ%@0AB-/ M6%OE%  NB&$A@EA3JIJ@EA$ N#$@0.AB^)> 8 -H&@E&%IJ%0A.-,*


! B-  #$@0-H-$- @E26 M6.%"}?BIJ 3BN#$%B*
T&AB%2$&%03J d>9)#$
NB2-H #. * p n0*
#include <qsqlquery.h>

J _ .:: , 0# _ 0d5X
BBpd6]a0>9)]# 5 %-NB#NY
BBpd6]a   A-H>9)&AB]N%02 o>9)&ABk AN#$#$=?>)]#Q@0.@0 @E-%ac39 
BBpd6]a   A-H>9)#$>9NB%2 Y .%0l
>9)]#$>9N%02Y ??] ?X z  AB->)]#>9NB%2Y &B% 
1$2.N@E# BBpd6Y [
#p6 ppo [  A-H
#p +epa [  AB-
#p V~6p $A: ?%#$3   A-H
$A : [  A-H
>9).2$AGp }6]Y [  AB-
$A66+B 
.&]e]$ [  AB-
>9)]# ; 2 4p }Z? [  A-H
#pk]p]e [  A-H
$Ak] \Y [  AB-
 AB-
>9)]# Q2$1%@ cZp [  A-H
 AB-
>9)]# 5 %-NB# ck6p [  AB-
1$2.N@E# # ]0]y   A-H>9).2$AB ]N% 
1$2.N@E#@> !Z@02$@0AB6E p6` 0AB   AB-
1$2.N@E# # }] EAB= #2%#$@0.$1o% V}' 8 ) ; 
1$2.N@E# # 6]]5 [
1$2.N@E# # Z]# [
#
k: [
1$2.N@E# 
1 $2.N@E# # p }: [
U

J6(l0dL40" , 0a _ 0"5X
1$2.N@E#1 $3JB].B]BY[
1$2.N@E#1 $3J &]B `[
U



p

>)=ByHS>GMILH4L!IIuII

d ] 1.10"

Q 0

Q 0aX

L61D:(

! B%Y>9)]#>N%  #@E--L 2 103B%-X@cIJ%@0AB-/ M6%OE%  NB&$A@EA3JIJ@EA$ N#$@0.AB^)> 8 -H&@E&%IJ%0A.-,*


>)]#>9NB%2 C%A  @0 -HN#$@0.%-Y.%DM&NA  &$ A@E#$. F$A1 #$1%3`A  %@0.ABE=A@010@0.ABa@0AB3`%&%01ABC3B@0.@FM&2 I )> 8 ]N%%0bYB  F@0%%OE%  NB&%3J AC@G>9)#Q@0.@0 @0-H%B*ZT&  @0AC %cN-H%3F. J%O0%  N.%YL\ 8 .3B@0.@IJ@0AB N#$@0. A#@EAN@EE%-.@0.%IJ%AB&-H=
%?* 6* SELECT= INSERT= UPDATE @0A3 DELETE=6@EA3F@E#-H$ < 8 .3@0.@3B% BAB.$ AD#@EAN@EE%-.@0.%IJ%AB&-H=%B* 6* CREATE TABLE*
T&  @0A@0#$-H F %NB-%3. D%O0%  N.%3B@0.@0 @0-H%-H %     IJIJ@0AB3-~bY  C@02%^A 4-H&@EA3@E23C)> 8 .%B* Z* SET DATESTYLE=ISO
M&  0 -H&2%0)> 8 0*
)N } %-H-M&N#$# d%O0%  N.%3c)> 8 -H&@E&%IJ%0A.--%0.%~]N% ~& Y@EA@  &$1%~-H&@E&B% .$-'  .$1M% [+2%.NA- !65 R ; + .%b"$-H%Q.%U]N%02
$-4-%0. "@EAG$A@  .1%-.@0.%B*TWAG%.%0  @E-%=]bY%0A%O0%  N.$A"@9A%b)> 8 -H&@E&%0IJ%A.=0.%~]N%02 9$-  -$&$ A%03 A@0A^AB1@0#$$3
%  3 s @0A@  &$1%G]NB%2 ^IJN-H+ %^A@E1@0.%3& J@P1@E#$32%  23 .-H J.@04$k- !Z@0#$@3 [92%0&NB2A- !65 R ; ~ %M& 2%c1@E#NB%-  @EAC %
%.2$%1%34*
SU@E1@0.$AP2%  23-X$- %2M& 2IJ%3PbY.J&B%dM& ##$ bYABGM&NA  &$ A- 
A%0O0"[
1 [
%M
?2-H [
#$@0-H [
K .ABi 
-H%%5
! B%-H%MWNBA  .$ A-U@0#$# b .%G 2 2@EIJIJ%/. JIJ 1%MW bY@023B=B @  KbY@023C @E2 $&@02$#$ G.2 NBEC&B%c2%  23B-L%&NB2AB%3D
.%J]NB%2 }* 7 A  %J@0A @  .$1%J]N% J-"  -H. AB%3a A @D10@0#$3`2%  23=+3@E&@  @0A %J2%.2$%1%3NB-$A1@E#NBM% [0*d' #$# 3B@0.@D$.2@EA-HMW%2%3(M&2 I .%Y)> 8 @  KE%AB3(N-HAB^@> !Z@0@EA.-,*
e 4%OE@0IJ #$M
%
QSqlQuery query( "select name from customer;" );
while ( query.next() ) {
QString name = query.value(0).toString();
doSomething( name );
}

! `@ } %--G&B%C3B@0.@a2%.NA%3 @aNB%2 =QN-H%&B%1@0#$N%M[^IJ%. 3+* ; @  qB%0#3 $A &B%C3B@0.@a2%.NA%3 @a) ;?8E;  !
-H.@0.%IJ%A4$-~@ k %-H-%03 P @E--HABJ&B%G$A3B%O(ANIJ %0L M+&B%G3B%-$2%0/3 ?%#$3=-H&@E2.ABJbY.  * ! B%2%@E2%^A FIJ%0&B 3-U&
@ } %--~T@ ?%#3C GAB@0IJ%G. JIJ@0K%G-HN%G.%NB-@EE%^ M >)]#>9NB%2 G-~@E-Q &$IJ@0#Z@0-U  -H-H #$%m.-H%%>9)#$
NB2-H LM& @PIJ 2%
?%OE #$%YAB&%MW@  %"MW X-H%#%  .AB3@E&@cM&2 I @c&@E #%Y 41$%b $AD.%"3@0.@0 @E-% 0*
)%%Y@0#$- (>9)]# L@E&@E @0-H% . +*  =B>9)]# N- ) . * p n=> !?@0@EA [Q@0.@0-H&N  &NB2%-X@EA3D).2$AG<9@0AB3#$AB^bY$&J>9[ @EA3
Q@0.@0 @E-%Y #@E--H%-e*
,

0#

"('CF:(

_ 0

6=5 Bz

%% " =:

PL%0dC ] :(
Q

"=:#zNuyJ|*

Bz

 2%@E&%0-/@c>9)]#$>9N% Y u.%  bY  JN-H%-/.%">9)]# 5 %-HN#$+4.  IJIJNAB  @0.%cb"$.P@G3@0.@0 @E-%?*


6=5 Bz

%% " =:

Bz

{w:xBu| 5| }xB~

M =5Bz ~,

5| }xB~

%% xyyJ@0

"=:JM|4Ma@Fz* |,_.`9

 2 %@E&%0-d@D>)]#>9NB%2 J u|%  LN-HAB&B%P)> 8  @EA3`&B%P3B@0.@0 @E-%C*cTWMLJ$-  =)..%(3B%MW@EN#$i=+&B%J@0  #  @E&$ A 3B%MW@EN#$3@E&@E @0-H%Y-LN-H%3+*
)%%Y@0#$- (>9)]#L@E&@E @0-H%. +*  0*

 n

>)=ByHS>GMILH4L!IIuII
6=5 Bz

%% " =:

Bz

{w:xBu| "=: Bz

w5|@2`z

 A-H&N  &-L@   Y M0.x*


6=5 Bz

%%<

6=5 Bz

) 9J>}

|1BM@?

Q%-H& -/.%" u.%  6@0AB3JMW2%0%-/@0AB Y@0#$#  @0.%3J2%-H N  %-e*


<w}

"=: Bz

|4z zNzD

%%

) 9->}

|1BM w5|4zN{|4z

2 .%  .%3P1&NB@0# M&NA  &$ A  @E##$%3(@0M&&%+.%$A.%A@0# %  3G  $A.%+-XIJ 10%3(& @YAB%b2%  234* ! %3B%MW@EN#$6IJ #%IJ%0A
.@0.$ AJ3 %-/AB &BABZ*


}xy| "=5 Bz

%% M| ) 9o{w:xBu|

5 %&NB2AB-~&B%  NB2%A4$A.%2AB@0#  -H$&$ AC M4.%^NB%2 }* ! %B-X%  3C$-~@0X  -$&$ Ar,%2


*/TWM4&B%G  -H$&$ A-~$A1@E#$3= @
>)]S# k 8  @0. ACb"$#$# %"2%.NA%3J$A3B  @0.ABG.%"AB1@0#$3F  -$. A4*
)%%Y@0#$- ($k- !Z@0#$3@[Y. *  0*
; O0@EIJ #$M% ?-]# [ 1%1%0b[AB@01$@0.AB:[IJ@EA4*   *
<w}

"=: Bz

%% Yz

w zzzD

) 9J>}

|1BM w:|4z{|4z

2 .%  .%31&NB@0#M&NA  . A  @E##$%3 %M& 2%G.%^AB&%02A@E#62%  23  $A.%U-~IJ 1%03. D@(A%0b2%  234* ! B%G3%0MW@0NB#X$IJ #$%
IJ%0A.@0. AJ3B %-/A .$A6*


{Mw5xBu| 6=5J }z

"=5 Bz

%%N

}z j) o
9 {Mw5xBu|

5 %&NB2AB-/@c  $A.%4& P&B%d3B@0.@0 @E-%Y310%4@0-H-  @E&%3JbY$&J.%Y]N%02 }*


Yww: "=: Bz

%&% z

z{

{w:xBu| 5| }xB~

M =:Bz `9J>}

|1BM@?

; O0%  N.%-/.%Y)> 8  L* 5 %.NA- !65 R ; M.%Y]N%02 YbY@0--HN k %-H-HMWN#?-H%&-&B%"]NB%2 Y-H&@E&%Y. P@  .10%= .%b"$-H%"%.N2ABk' 8 ) ; @0AB3C.%^]N% G %  IJ%-L$A@  .10%B* ! %(E -H&ABPIJNB-4NB-%P- 0A.@0OP@0   2$@0.%cMW L&B%)> 8 3B@0.@0 @0-H%G %0AB
]NB%2$%3=MW X%OE@0IJ #$%= -H&@EA3@E23J)> 8 *
'
MW.%L.%GNB%2 G-U%OE%  NB&%3B=Z&B%]N% G$-Q  -$&$ A%03F A@0AAB1@0#$32%  23B=Z@0A3IJN-H4 %A@E1$E@E&%3. J@^1@E#$32%  23
%0MW 2%"3@E&@c10@0#$N%-  @0AJ %Y%&%01%3+*
)%%Y@0#$- ($-'  .10M% [a. *   =BZ- !?@E#$3 [`. *   =AB%O0" [#. *   = 2%M1 [a. *  = ?2-H [Y. *  n=B#@E-" [`. *  
@EA3D-H%%5K [a. +* , 0*
; O0@EIJ #$%- ?-H]# [ 10%21$%bL[ @0-H  2 bY-HAB:[IJ@EA4*   =B-]# [ 1%210%bL[ @E-   b"-H$A  [IJ@0$A+*   J@EA3
-H]# [ 10%21$%bL[ @0-H  3@E&@EIJ@0AB ,[IJ@EA4*   *
Yww: "=: Bz

%&% H

u|

) 9J>}

|1BM@?

5 %&%01%-Q&B%B?2-H %  3F$AC.%^2%-HN#$&=6$M


@E1@0$#$@0 #$%=@0AB3C  -$&$ A-U.%^NB%2 ^ AC.%G2%.2$%1%3C2%  234*
SU .%G.@E .%
%-HN#$ IJNB-+ %$AF@0AC@  &$1%-H&@E&%c@EA3C-H)%#$%  "[~IJN-H+2%.NA !65 R ; %MW %  @0#$#$AJ.$-M&NA  . AC $ bY$##?3 JAB &BAB
@EA32%0&NB2mA }' 8 ) ; * 5 %.NA- !65 R ; $M+-HN k %-H-HMWN#*TWM+NA-HN k %-H-HMWN#
&B%G]N% ^  -$&$ A-~-H%X. D@0A$A1@E#$3a  -H. A@0AB3
k' 8 ) ; $-%.N2AB%3+*



>)=ByHS>GMILH4L!IIuII

; O0@EIJ #$%M?-]# [ 1%1%0b[AB@01$@0.AB:[IJ@EA4*   *


Yww: "=: Bz

%&% }Ju%{|4}z ) 9/{w:xBu|

5 %&NB2AB- !65 R ; $M6&B%d]NB%2 Y$-  NB22%0A.# Y@  &$1%= &B%2bY$-%Y2%0&NB2A-k' 8 ) ; *


; O0@EIJ #$%-?-H]# [ 10%21$%bL[ @0-H  2 bY-HAB:[IJ@EA4*   =B-]# [ 1%210%bL[ @E-   b"-H$A  [IJ@0$A+*   =
-H]# [ 10%21$%bL[ @0-H  3@E&@EIJ@0AB ,[IJ@EA4*   =B-]# [ 1%210%bL[AB@01$E@E&$A}[IJ@0$A+*   J@0A3
-H]# [ 10%21$%bL[2%0&%10%  [IJ@0$A+*   *
Yww: "=: Bz

%&% }J

yJ

}xy|H)z %
9 {Mw5xBu|

5 %&NB2AB- !65 R ; $Ml9"e$J$-  N2%A.#$ JSQR 88 = .%02bY-H%(2%.NA-yk' 8 ) ; * ! %P]N% (IJN-H %(@  &$1%(@0AB3a  -$. AB%3a Aa@
10@0#$3 %  3C %0MW 2%  @E##$$AF.$-9M&NA  &$ Aa .%b"$-H%G$/2%.NA-yk' 8 ) ; *]SU &%P&B@0.=MW U-H IJ%(32$1%-=
-HSUN#$#S[YbY#$#
AB 
%.N2AJ@ } N2@E&%Y$AM& 2IJ@0.$ APNBA.#B@0M&&%4@EAJ@0.&%IJ 6-LIJ@03%Y. G%&%01%d3B@0.@?*
)%%Y@0#$- ($-'  .10M% [a. *   =BZ- !?@E#$3 [`. *   U@0A3J10@0#$NM% [`. * , 0*
Yww: "=: Bz

%&% }JFzFz{| ) 9o{Mw5xBu|

5 %&NB2AB- 6! 5 R ; $M6&B%  N2%AB6NB%2 Y$-@


Yww: "=: Bz

%&% }J F

SELECT

-.@0.%IJ%AB&= .%02bY-H%"2%.NA-}' 8 ) ; *

} J) %
9 {w5xBu|

5 %&NB2AB- !65 R ; $M6&B%d]NB%2 Y$-  NB22%0A.# Y  -H.$ A%3J AJ@c1@E#$3D%  3= .%b"$-H%d%&NB2AB-}' 8 ) ; *
Yww: "=: Bz

%&% @u| ) 9->}

|1BM@?

5 %&%01%-U&B%G#$@0-HX2%  23A.%^2%-HN#$&=6$M4@01@E#$@0 #$%=@EA3  -H.$ A-~.%G]NB%2 P AC.%^2%.2$%1%03F2%  234*XSU .%G.@04.%


%-HN#$ IJNB-+ %$AF@0AC@  &$1%-H&@E&%c@EA3C-H)%#$%  "[~IJN-H+2%.NA !65 R ; %MW %  @0#$#$AJ.$-M&NA  . AC $ bY$##?3 JAB &BAB
@EA32%0&NB2mA }' 8 ) ; * 5 %.NA- !65 R ; $M+-HN k %-H-HMWN#*TWM+NA-HN k %-H-HMWN#
&B%G]N% ^  -$&$ A-~-H%X. D@0A$A1@E#$3a  -H. A@0AB3
k' 8 ) ; $-%.N2AB%3+*
; O0@EIJ #$M% ?-]# [ 1%1%0b[AB@01$@0.AB:[IJ@EA4*   *
6=5 w "=5 Bz

%% @u|

9 {w5xBu|
w j) %

5 %&NB2AB-/%2 4ABMW 2IJ@E&$ A(@0 NB&B%d#$@0-H


%022 y.$M6@0A L.@E } N2%3+*
)%%Y@0#$- (>9)]# ; 2  . * K0*
:| }xB~ 6=5 Bz

%% u|

Bz

) 9/{w:xBu|

5 %&NB2AB-/&B%d.%OE6 M6&B%  N 2%A


NB%2 Y %$AGN-H%3= X>)&ABZ ANB##?M6.%02%"-LA  N2%AB6]N% ".%OE *
Yww: "=: Bz

%&% xBz

) 9->J<}

|1BM@?

5 %&%01%-.%GA%OE %  3DAC&B%2%0-NB#.=ZM @01@E#$@0 #$%=6@0AB3F  -H$&$ A-Q&B%]N% AF.%G2%.2$%1%3F2%  23+*SU &%c.@E .%
%-HN#$ IJNB-+ %$AF@0AC@  &$1%-H&@E&%c@EA3C-H)%#$%  "[~IJN-H+2%.NA !65 R ; %MW %  @0#$#$AJ.$-M&NA  . AC $ bY$##?3 JAB &BAB
@EA3D%.N2A k' 8 ) ; *



>)=ByHS>GMILH4L!IIuII

! B%YMW #$# bY$AGN#$%-/@E  #$ M


TWM?.%%-HN#$6-  N2%A.#$ #$  @0.%3( %M& 2%9.%#B-Z2%  23B=E%?* 6* $IJIJ%3$@0.%#$ d@EMW.%
@Y]N%02 "-X%OE%  NB&%03=]@0A(@0..%IJ 
$-IJ@03B%d. P2%.2$%1%"&B#% ?2-H62%  234*
3 k' 8 ) ; $-%.N2AB%3+*
TWM6.%"2%0-NB#$-  N2%AB&#$ Y#  @0.%3(@0MW.%4.%Y#@E-
2%  23= .%02%"-LA  @EA%Y@0A$
TWM6.%"2%0-NB#$-#$  @E&%03P-H IJ%bY%02%"AD.%"IJ$33#$%=B@0AJ@0..%IJ 6$-/IJ@03B%". P2%.2$%1%d&B%"AB%O06%  3+*
T&M.%~%  3  NB#3^A  %2%.2$%1%3B=0.%~%-NB#?$-  -H$&$ A%3^@0M&&%6.%~#$@0-HZ2%  23c@EAB3 k' 8 ) ; -+2%0&NB2A%03+*TWM&B%~2%  23
$--HN k %-H-HMWN#$#$ 2%.2$%1%03= !65 R ; $-%&NB2AB%3+*
)%%Y@0#$- (@0" [a. +*  nQ@0AB3JZ- !?@E#$3 [. *   0*
; O0@EIJ #$%- ?-H]# [ 10%21$%bL[ @0-H  2 bY-HAB:[IJ@EA4*   =B-]# [ 1%210%bL[ @E-   b"-H$A  [IJ@0$A+*   =
-H]# [ 10%21$%bL[2%0&%10%  [IJ@0$A+*   = -]# [ 1%1%0b[-HN  #@E--  [IJ@EA4*   =?-]# [ 1%210%bL[-HN  #@E-&- K,[IJ@0$A+*   =
-H]# [ 10%21$%bL[-HN  #$@0-H-  [IJ@0$A+*   F@0A3J-H]# [-H]#.@0 #$% [IJ@EA4*   *
}xy| "=5 Bz

%% xy

#w:cu z{|4z I) o
9 {Mw5xBu|

5 %&NB2AB-.%cANBIJ %/ M bY-@0M&MW%  &%03D c&B%c2%-HN#$. -)> 8 -H.@0.%IJ%A.=   $M  @EAAB 
%c3%0&%IJAB%3+*?SU .%c&B@0 MW 
) ;B8;  ! -H.@0.%IJ%A.-H=&B-1@0#$N%YbY#$# %Y.%"-@EIJ%Y@0--H rxt% [0*]TWMZ.%"NB%2 Y$-AB 6@  .$1%o.-H'  &$1%M[L2%.NA-k' 8 ) ; =  $%.N2AB%3+*
)%%Y@0#$- (-H r,M% [Y. * , L@EA3D>9)# Q2$1%u Z @EL- e%@E&NB2M% [a. *  0*
; O0@EIJ #$%- ?-H]# [ 10%21$%bL[ @0-H  2 bY-HAB  [IJ@0$A+*   J@EA3J-H# [ 1%1$%bL[ @0-H  3@0.@0IJ@EA$ ,[IJ@0$A+*   *
6=5 Bz

"=5 Bz

%% w5z

M|4w

, )

{Mw5xBu| 6=5 Bz

w:| 2z

'+-H-$EAB-UE&+& P&B%d]NB%2 }*
Yww: "=: Bz

%&%

z

) 9J>}

|1BM@?

5 %&%01%-.%c 2%1$ N-L2%  23D$AF.%c%-HN#$&=Z$M@01@E#$@0 #$%=6@EA3D  -H$&$ A-Q&B%c]N% AF.%c%&%01%3J2%  234*ZSU &%c.@E
.%%-NB#IJN-H9 %A @EA @  &$1%-.@0.%@0AB3 -H)%#$%  " [PIJN-H92%.NA !65 R ; %M& 2%  @0#$#$AB`.$-MWNBA  &$ A Y9bY$##Q3
AB &BABG@EA3J2%0&NB2A }' 8 ) ; *
! B%YMW #$# bY$AGN#$%-/@E  #$M 
% B-
2%  23= .%02%"-/AB  @EA%"@EAo3 k' 8 ) ; $-%&NB2AB%3+*
TWM6.%"2%0-NB#$-  N2%AB&#$ Y#  @0.%3( %MW %d.a
TWM6.%"2%0-NB#$-  N2%AB&#$ Y#  @0.%3(@0MW.%4.%Y#@E-
2%  23= @EAD@0..%IJ 6$-/IJ@03B%". G%.2$%1%"&B%"#$@0-H%  3+*
TWM6.%"2%0-NB#$--H IJ%bY%02%"AJ.%"IJ3B3#$%=@EAJ@0.&%0IJ 6-LIJ@03B%d. ^%.2$%1%"&B%d %1$ N-/%  3+*
T&MX&B%(2%  23  NB#3 AB / %(2%.2$%1%03=.%P2%-HN#$$-  -$&$ A%03 %0MW 2%P.% B-X%  3a@0AB93 }' 8 ) ; -d2%.NA%34*UTWMX.%
%  3(-L-N } %0--HMWNB##$ c2%.2$%1%03= !65 R ; $-%.N2AB%3+*
)%%Y@0#$- (@0" [a. +*  n0*
{Mw5xBu| 6=5azuyJ|L* "=: Bz

%&%i

zuyJ|

) 9%{Mw5xBu|

5 %&NB2AB-/@c  $A.%4& P&B%d%-HN#$@0-H-  @E&%03Jb"$.J&B%"]NB%2 }*

,

>)=ByHS>GMILH4L!IIuII
Yww: "=: Bz

%&% FzNzD )

}xy|%}0aww5 zFM|4}z4,F

9C>}

|1BM@?

5 %&%01%-/.%Y2%  23J@E
 -H$&$ A. X MWM&-%0iU=BM
@01@E#$@0 #$%=Z@0AB3D  -H. AB-.%Y]N% c AD.%Y2%.2$%1%03J2%  23+* ! %Y?2-H
%  3C$-~@04  -H$&$ /A r,%
*4SU &%^&B@04.%G]NB%2 ^IJN-HX %G$A@EAC@  .10%^-H&@E&%^@0AB3C$-)%#%  " [9IJN-HX2%.NA !65 R ; %0MW 2%
 @0#$#$AP.$-/MWNBA  .$ A+*
! B%YMW #$# bY$AGN#$%-/@E  #$M 
T&M
" e$]& P X$- k' 8 ) ; ..%"3%M&@0NB#[ = &B%dM& ##$ bYABGN#$%-@E  #$M 
% ?2-H62%  23(@EA$3 }' 8 ) ; $-2%0&NB2A%03+*
TWM
-A%@0.10%=.%Y2%-HN#$$-/  -H.$ A%3J %M& 2%"&B#
7 .%bY-H%=
@EA @0..%IJ /$-IJ@E3%(& IJ 1%J. C.%(%  3@E  -H$&$ A`|*9T&MX&B%(2%  23a@0  -$. A`  NB#3 AB  %
2%0&%10%3=4.%D%-NB#U$-Y  -$. AB%3 @EMW.%.%D#$@0-HU2%  23 @EA3 }' 8 ) ; $-Y2%.NA%34*T&M.%D%  3 $-Y-N } %0--HMWNB##$
2%0&%10%3= !65 R ; $-%.N2AB%3+*
T&M
" e$]& P X$- !65 R ; =].%YMW #$# bY$A^2N#$%-/@E  #$M 
% B- 2%  23J / AF&B`% B-%  3=B@0A3$-QA%@0.10%=.%%c-LA
TWM
&B%c2%-HN#$
$-  N2%AB&#$ c  -H. AB%3D %M& 2%Y.Y
 B@0ABE%=@0A%3 }' 8 ) ; $-%.N2AB%3+*
3 }' 8 ) ; $ TWM~.%a%-HN#$9-  NB2%A.# #$  @E&%3@0MW.%c.%#$@0-H2%  23B=U@0A3X$-G  -H.$1%=~.%%C$-^AB  @EA%=~@0AB
2%0&NB2A%03+*
TWMX.%J%-HN#$$-  NB2%A.# J#$  @E&%03a- IJ%bYB%2%($A &B%(IJ3B3#$%=4@0A3 &B%P%#$@0.1%J M&MW-H%
IJ 1%-.%(%-NB#L %#$ b
r,%2 = .%Y%-NB#
-/  -$&$ A%03J %MW %.Y
% B-6%  3(@0A$3 k' 8 ) ; $-%.N2AB%3+*
3 . %  3- %0$A3
7 .%bY-H%=0@EA@0..%IJ  $-
IJ@03B%~& "IJ 1%U. d.%U2%  23G02%  23B-6@0B%@03 M .%  N2%A2%  2%
.%  N2%AZ%  3G$MZ$-XA%@0.$1% 0*TWM?.%9%  3^@EB M&MW-H%Z  N#$3(A Z %92%0&%10%3=&B%%-NB#Z$-X  -H. AB%3G@EMW.%
.%G#$@0-HX2%  23$MX T  = . Q %MW %&BB% ?2-H42%  23M/Z$-~A%@0.$1% =@EA3 }' 8 ) ; $-9%&NB2AB%3+*/TWM+&B%G2%  23$-HN } %-H-M&N#$# %.2$%1%3B= !65 R ; -L2%.NA%34*
; O0@EIJ #$M% ?-]# [ 1%1%0b[AB@01$@0.AB:[IJ@EA4*   *
}xy| "=5 Bz

%% F}oz ) 9o{Mw5xBu|

5 %&NB2AB-~&B%^-Hr,%P M4&B%G2%0-NB#.=<.ABNIJ %Q M42 bY-~2%.NA%3M=6 U  M4.%P-r,%  @0AAB X %^3B%.%2IJ$A%3 U&B%^3B@0.@0 @E-%
3B %-4A Z-HN   Z2%  &$A"$AMW IJ@0. AP@0 NBZNB%2 d- r,%-e* SU &%&B@0ZMW +A AB) ;?8E;  ! -.@0.%IJ%AB&-y.-H)%#$%  [/%.N2ABk' 8 ) ; =-H r,M
% [Lb"$#$#2%0&NB2AJ  *TWM6.%"]N% "$-AB 6@  &$1o% .-H'  .1t% [L%&NB2AB-}' 8 ) ; =  $-%&NB2AB%3+*
! ^3B%.%2IJ$A%"&B%dABNIJ %X MZ b"-@0MWM&%  .%3( Y@cA AB) ;?8E;  ! -H&@E&%IJ%0A.= N-H%"ABNI 5 bY-H'MWM&%  .%3@[0*
)%%Y@0#$- ($-'  .10M% [a. *   =BANI 5 b"-H'M&MW%  &%@3 [#. *  Q@0A3F>9)]# Q2$1% k B@0&- e%@0.NM% [#. *  0*
; O0@EIJ #$M% ?-]# [ 1%1%0b[AB@01$@0.AB:[IJ@EA4*   *

}JMxy| "=: Bz

%% <JBz )

}xy|%}9%{w:xBu|->} |1BM@?

5 %&NB2AB-/&B%d10@0#$N%c MB%0#3FN[rx%02 G @E-%030*


! B)% ?%#$3-+@02%dANBIJ %2%3^MW I #%M&B. ZN-H$Ac.%9.%O0? M.% SELECT -.@0.%IJ%AB&=]%B* Z* A -H%#$%  ZM& 2%AB@0IJ%=-NB2AB@0IJ%
M&2 I %0 #% s 5= ?%#$3  $-UMW %A@EIJ%c@0Am3 ?%#3  $-U-NB2A@EIJ%B* RL-H$A SELECT * -UAB  %  IJIJ%AB3%3F %  @EN-H%G.%c 23B%
M6.a% ?%#3B-/$AD&B%d]NB%2 Y$-NAB3% ?A%03+*
'+AAB1@0#$$3> !?@0@EA+-~%.N2AB%3F$M B%#$3?3B %-UA +%O0$-H&=6$M
.%^NB%2 ^-U$A@  .1%0=6 $M .%^NB%2 G-~  -H$&$ A%3C AC@EA
$A10@0#$3C2%  23+*
)%%Y@0#$- ( %M1 [#. *  =BA%OE [#. +*   M= B-" [a. +*  n=B#@E-" [Y. +*   =-%%0K [Y. * , =$-'  .10%M[a. *  U@0AB3
$Z- !?@0#$$3 [. *   0*

>)=ByHS>GMILH4L!IIuII

; O0@EIJ #$%-?-H]# [ 10%21$%bL[ @0-H  2 bY-HAB:[IJ@EA4*   =B-]# [ 1%210%bL[ @E-   b"-H$A  [IJ@0$A+*   =
-H]# [ 10%21$%bL[2%0&%10%  [IJ@0$A+*   = -]# [ 1%1%0b[-HN  #@E--  [IJ@EA4*   =?-]# [ 1%210%bL[-HN  #@E--&K,[IJ@0$A+*   =
-H]# [ 10%21$%bL[-HN  #$@0-H-  [IJ@0$A+*   F@0A3J-H]# [-H]#.@0 #$% [IJ@EA4*   *

, 

! B%Y>9)]# 5 %  3  #@E--L%A  @0 -HN#$@0.%-/@G3@0.@0 @E-%"2%  23B= |* %B*@c-%


M?3B@0.@0 @E-%Y?%#3B-,*
! B-  #$@0-H-$- @E26 M6.%"}?BIJ 3BN#$%B*
T&AB%2$&%03J d>9)#$
NB2-H #. * p nL@EA3J>9)#$TWAB3%O%. +* , 0*
#include <qsqlrecord.h>

J _ .:: , 0# _ 0d5X
BBp+]eB[
BBp+]eB   A-H>9)# 5 %  23 .%F
>9)]# 5 %  23 ?Z ?Xz  AB-6>)]# 5 %  23$ &B%F
1$2.N@E# BBp+]eB [
1$2.N@E#@> !Z@02$@0AB6E p6` 0AB   AB-
1$2.N@E#@> !Z@02$@0AB6E p6`   A-H>9)&AB AB@0IJ%   A-H
1$2.N@E#1 $3J}]$ p6# 0AB
$=  AB-> !?@0@EA: 1@0u# 
1$2.N@E#1 $3J}]$ p6#   A-H>9)&ABB AB@0IJ%=  A-H@> !Z@02$@0AB:10@0#
#p Q]6] ]T 0AB
   AB-
#p Q]6] ]T   AB->)&ABB AB@0IJ%   AB-
1$2.N@E#1 $3J}]J U]6 ]   AB-
>9).2$A A@0IJ%0= #%A%@0.%y3 
1$2.N@E#1 $3J}]J U]6 ] 0$A$= # %A%02@0.%3 
1$2.N@E#1 $3J}] V~6pF 0$A
 
1$2.N@E#1 $3J}] V~6pF   A-H>9).2$AB A@EIJ% 
#p V~6p $A 
#p V~6p   A-H>9).2$A A@EIJ% 
$AZ?}pp?%   A-H>9).2$A A@EIJ%   AB-
>9).2$A
]p V~ ` 0AB
   AB-
>9)]#  %0#$3 p$ 0AB 
>9)]#  %0#$3 p$   A-H>9)&AB AB@0IJ% 
 AB-
>9)]#  $%#$$3
]p$ $A   A-H
 AB-
>9)]#  $%#$$3
]p$   A-H>9).2$A A@EIJ%   AB-
1$2.N@E#1 $3J Z?]6$   A-H>9)]#  %0#o3 B%#$3 
1$2.N@E#1 $3Jp6}]5 0$A
 -=  A-H>9)#  $%#$3 B%0#y3 
1$2.N@E#1 $3J]?# $A  - 
#pk?Za [  AB-
#e?6 p6   A-H>9)&AB AB@0IJ%   A-H
1$2.N@E#1 $3Jep] @ [
1$2.N@E#1 $3Jep] .6 p6] E # ANB##$M&/ Vk' 8 ) ; 
N$A
eB665 [  A-H
1$2.N@E#>9).2$AGBBp5 `  A-H>9).2$A 2% ?oO >9)&AB k AN#$#$=  A-H>9).2$AB -%0 9 =   AB-
 pk5   AB-
>9).2$A 2% ?oO >9)&AB k AN#$#   A-H
1$2.N@E#>9).2$A 8 -H?p5
,
U

,

>)=ByHIXCuuEH4LIIuII

d ] 1.10"

Q 0

Q 0aX

L61D:(

! B%Y>9)]# 5 %  3  #@E--L%A  @0 -HN#$@0.%-/@G3@0.@0 @E-%"2%  23B= |* %B*@c-%


M?3B@0.@0 @E-%Y?%#3B-,*
! B%D>9)]# 5 %  23  #@E--c%0A  @E -HN#$@0.%-Y&B%DMWNBA  .$ A@0#$$& C@0A3  B@0@  .%-H&  -Y ML@C3B@0.@0 @0-H%D%  3.N-HN@E##$ @F.@0 #$%F 
10%bbY$&BAD.%Y3B@0.@0 @0-H%0*B>9)]# 5 %  23-L-NB   @03B3$AP@0A3F2%IJ 1$AB%0#3B-@0-QbY%#$#B@E--H%&.$AG@EA3C2%.2$%1$AB%#$3
10@0#$N%-e*
>)]# 5 %  23c$-
$IJ #$  .#$ 9-B@0%3+* ! $-
IJ%0@0A-
 N  @EAIJ@0K%  $%- M .%U%  3cA.$IJ% 7   0*ETWM IJN#$. #$%~>9)]# 5 %  23
$A-H.@0A  %--H@E2%P&B%^-H@0IJ%(3B@0.@J@0A3a AB%^$-IJ 3BM& $AD.%P2%  23B -~3@E&@(.%Aa.$-~IJ 3$MW 0ABF$A-H&@EA  %(IJ@EKE%-@  
@EA3DIJ 3B ?%-X$&-L 2$1@E&%   YZ.N-3B %-/AB @0M&MW%  6 &B%4AB-.@0A  %-e*
)%%Y@0#$- Q@0.@0 @0-H%"
#$@0-H-%-e*
,

0#

"('CF:(

_ 0

PL%0dC ] :(

6=5az{Mw t%% "=:#zN{w C)

 A-H&N  &-L@0AJ%IJ . "2%  23+*


6=5az{Mw t%% "=:#zN{w C) {Mw5xBu| 6=5az{Mw t4M

w5| 2z

 A-H&N  &-L@   Y M0.x*


6=5az{Mw t%%< 6=5az{Mw tC)

9J>}

|B@?

Q%-H& -/.%" u.%  6@0AB3JMW2%0%-/@0AB Y@0#$#  @0.%3J2%-H N  %-e*


<w}

"=:#zN{w t%% M zFx -) {w5xBu| 6=5Jy}JzF }M

H)zF 9->}

|1BM@?

'+  %0A3J@   " M?%#$3<9"e$Y. ^.%"%A3J M6.%"2%  234*


5 %IJ #%IJ%0A.%3(AD>)]#T&A3%0O?*
<w}

"=:#zN{w t%% {z #)

9J>}

|B@?

5 %IJ 1%-/@E##MB%0#3B-/MW I .%"2%  23+*


)%%Y@0#$-  #$%@E !?@E#NB%- [Y. * , 0*
5 %IJ #%IJ%0A.%3(AD>)]# N2-H *
<w}

"=:#zN{w t%% {z XF MJBz

aww:xyyJ} ~,F

9->}

|1BM@?

 #%0@02-L&B%Y1@0#$N%Y M6@0#$#?%#$3-/$AJ.%Y2%  234*TWM


ee$ 7- !65 R ; =5.$. -/3B%MW@EN#$-}' 8 ) ; =%@  $?%#$3P$--H%. GABN#$#|*
Yww: "=:#zN{w %&% {Mw5xy|4@}xB

{w:xBu| 5| }xB~

xB

z9%{w5xBu|

5 %&NB2AB- !65 R ; $M6&B%2%d-L@`B%0#3J$AJ&B%Y2%  23  E@ ##$%3F]PH= &B%2bY$-%"2%0&NB2A-}' 8 ) ; *

, K

>)=ByHIXCuuEH4LIIuII
B}xy| "=5az{Mw 1%% {w:yxy|

) 9o{Mw5xBu|

5 %&NB2AB-/&B%dABNIJ %X M?%#$3-/$AD.%"2%  23+*


6=5Jy}JzF

"=:#zN{w t%% #
H zF -) }xy|%}h9

5 %&NB2AB-/@c  $A.%4& P&B%#?%#$3J@0  -$&$ AF bY$&BAJ.%"2%  23B=   M6$  @EAAB  %YMW NAB3+*
6=5Jy}JzF

"=:#zN{w t%% #
H zF -) {w5xBu| :| }xB~

zR9

xB

! B--L@0AJ 1%# @E3%3(IJ%IJ %0+M&NA  . AB=  13B%3(MW   AB1%AB%A  %B* TW %B@01%0-X%--H%AB&$@0#$# G#$KE%Y.%"@0 1%YM&NA  &$ A+*
5 %&NB2AB-~@P  AB&%Q. F.B% ?%#$3b"$.AB@0IJ%J]^9bY.$A&B%^%  3=6   $M4  @0ABA X %GM& NAB3+* %0#3A@EIJ%-~@0%^AB 
 @0-H%-H%A-H$&$1%B*
{Mw5xBu| 6=5Jy}JzF

"=:#zN{w %&% #
H zF -) }xy|%}9%{Mw5xBu|

! B--L@0AJ 1%# @E3%3(IJ%IJ %0+M&NA  . AB=  13B%3(MW   AB1%AB%A  %B* TW %B@01%0-X%--H%AB&$@0#$# G#$KE%Y.%"@0 1%YM&NA  &$ A+*
{Mw5xBu| 6=5Jy}JzF

"=:#zN{w %&% #
H zF -) {Mw5xBu| :| }xB~

xB

zR9%{Mw5xBu|

! B--L@0AJ 1%# @E3%3(IJ%IJ %0+M&NA  . AB=  13B%3(MW   AB1%AB%A  %B* TW %B@01%0-X%--H%AB&$@0#$# G#$KE%Y.%"@0 1%YM&NA  &$ A+*
5 %&NB2AB-~@P  AB&%Q. F.B% ?%#$3b"$.AB@0IJ%J]^9bY.$A&B%^%  3=6   $M4  @0ABA X %GM& NAB3+* %0#3A@EIJ%-~@0%^AB 
 @0-H%-H%A-H$&$1%B*
:| }xB~ 6=5az{w t%% )
H zF N
z

}xy|%}9%{Mw5xBu|

5 %&NB2AB-/&B%dAB@0IJ%Y M6.%aB%#$3J@0
 -$. AF|*]T&M6&B%#?%#$3J3 %-/AB %OE-H&= >)&ABZ ANB##Z$-/2%.NA%34*
<w}

"=:#zN{w t%% }xBFz |

}xy|`w0<{w5xBu| 6=5Jy}JzF }M

H)z 9->}

|1BM@?

T&A-H%2
@   Y M9"e$c@E6  -H. A`j6*]TWM6@`?%#$3J@0#$2%@E3 Y%O0$-H&-/@Ej6:= $$-2%0IJ 1%3+*
Yww: "=:#zN{w %&% }J  |1

) 9o{Mw5xBu|

5 %&NB2AB- !65 R ; $M6&B%2%d@0%"AB ?%#$3-/$AD.%"2%  23B= &B%2bY$-%"2%.NA-k' 8 ) ; *


Yww: "=:#zN{w %&% }JozxBz |lz -) {Mw5xBu| :| }xB~

xB

zR9%{Mw5xBu|

5 %&NB2AB- !65 R ; $M?&B%)?%#3J]P4-X. %9%AB%2@E&%39..%93B%MW@EN#$i= .%bY-H%92%0&NB2A-@k' 8 ) ; *}T&MB.%)B%#$3(3 %-4AB ?%0O0$-.=


k' 8 ) ; $-%.N2AB%3+*
)%%Y@0#$- (-H%iQ%AB%2@E&%3@[). * , 0*
Yww: "=:#zN{w %&% }JozxBz |lz -) }xy|%}9%{Mw5xBu|

! B--L@0AJ 1%# @E3%3(IJ%IJ %0+M&NA  . AB=  13B%3(MW   AB1%AB%A  %B* TW %B@01%0-X%--H%AB&$@0#$# G#$KE%Y.%"@0 1%YM&NA  &$ A+*

,

>)=ByHIXCuuEH4LIIuII

5 %&NB2AB- !65 R ; M&B%$B%#$3 bY$&`&B%JAB3%OC $-d.  %JE%0A%@0.%3..%J3%0MW@0NB#[=+ &B%2bY$-%J%&NB2AB-)}' 8 ) ; *TWML&B%$B%#$3


3B %-/AB %O0$-H&=k' 8 ) ; $-/%&NB2AB%3+*
)%%Y@0#$- (-H%iQ%AB%2@E&%3@[). * , 0*
Yww: "=:#zN{w %&% }J yJ

{Mw5xBu| 5| }xB~

xB

zR9

5 %&NB2AB- !65 R ; $M6&B%#?%#$3JP-  N2%AB&#$ YAN#$#$= .%b"$-H%d%&NB2AB-}' 8 ) ; *,T&M?.%a?%#3FPX3B %-HA 6%0O0$-.%"2%0&NB2A


10@0#$N%c$- !65 R ; *
)%%Y@0#$- (  -H.$ A[a. +* , 0*
Yww: "=:#zN{w %&% }J yJ

}xy|%}9

! B--L@0AJ 1%# @E3%3(IJ%IJ %0+M&NA  . AB=  13B%3(MW   AB1%AB%A  %B* TW %B@01%0-X%--H%AB&$@0#$# G#$KE%Y.%"@0 1%YM&NA  &$ A+*
5 %&NB2AB- !65 R ; $M6&B#% ?%#$3J-  N2%AB&#$ YANB##$= .%bY-H%d%.N2AB-}' 8 ) ; *,T&MZ&B%d$A3B%OG 3B %-AB 6%OE-H6.%"2%.NAJ1@0#$N%Y$!65 R ; *
)%%Y@0#$- ?%#3BSU@0IJM% [Y. * , K0*
6=5az{Mw t}M

"=:#zN{w t%% w:z M|4w

, )

{w:xBu| "=:#zN{w 4M

w:| 2z

)%&-&B%"%  3(%]N@0#& J0.x*


}xy| "=5az{Mw 1%% wF}|4}Jw:x

{Mw5xBu| :
| }xB~

xB

zR9%{Mw5xBu|

5 %&NB2AB-9&B%^  -$&$ A M4&B%?%#$3aA@0IJ%03aPb"$.$Aa&B%^%  3= U  $MX  @0ABA X %PMW NAB3+*  $%#$3A@0IJ%0-9@0%PAB 


 @0-H%-H%A-H$&$1%B*TWM6IJ %d.@EAJ AY% B%0#3(IJ@0  B%-H=&BY% B-6 AB%"$-/%&NB2AB%3+*
<w}

"=:#zN{w t%%Z z

w5<z

}xy|``wf9J>} |1BM@?

5 %IJ 1%-/.%a?%#3J@Ej6E*]T&MjZ:L3B %-/A 


%O0$-.=AB &BAB@E  %AB-,*
5 %IJ #%IJ%0A.%3(AD>)]# N2-H *
<w}

"=:#zN{w t%% Fz|


ozxBz M|4z I) {w:xBu| 5| }xB~

xB

z!0aww5~zxBz M|4z

9J>}

|1BM@?

)%&-X.%"%A%@0.%3TB@EMW +&B%#?%#$3D]^4. ) ].B*TWM?&B%#?%#$3P3B %-4A 6%OE-H.= A .$AB@0  %0A-e* 7 A#$ YB%#$3-X.@E


B@01 % H]&-%06& !65 R ; @E2%"A  #$N3%03DAF&B%d)> 8 &B@0$-/%A%02@0.%3B=%B* Z*] Y>9)#$
NB2-H |*
)%%Y@0#$- ($L- Q%A%02@0.%@3 [#. * , K0*
5 %IJ #%IJ%0A.%3(AD>)]# N2-H *
<w}

"=:#zN{w t%% Fz|


ozxBz M|4z I) }xy|/}0aww5B~zFxBz M|4z

9->}

|1BM@?

! B--L@0AJ 1%# @E3%3(IJ%IJ %0+M&NA  . AB=  13B%3(MW   AB1%AB%A  %B* TW %B@01%0-X%--H%AB&$@0#$# G#$KE%Y.%"@0 1%YM&NA  &$ A+*
)%&-&B%"%AB%2@E&%3 ?@0^MW 4&B#% ?%#$3F .# ].B*
)%%Y@0#$- ($L- Q%A%02@0.%@3 [#. * , K0*
5 %IJ #%IJ%0A.%3(AD>)]# N2-H *

,p

>)=ByHIXCuuEH4LIIuII
<w}

"=:#zN{w t%% Fz| yJ

}xy|/}h9->J<} |1BM@?

)%&-&B%"10@0#$N%Y M5B%0#3F& ^SQR 8 8 ,* T&M6&B%#?%#$3J3 %-A %OE-H.=A .$AB@0  %A-e*


<w}

"=:#zN{w t%% Fz| yJ

{w:xBu| 5| }xB~

xB

z9C>} |1BM@?

! B--L@0AJ 1%# @E3%3(IJ%IJ %0+M&NA  . AB=  13B%3(MW   AB1%AB%A  %B* TW %B@01%0-X%--H%AB&$@0#$# G#$KE%Y.%"@0 1%YM&NA  &$ A+*
)%&-&B%"10@0#$N%Y 5M B%0#3F]PX. ^SUR 8E8 *,T&M6&B#% ?%#$3J3 %-/AB 6%O0$-H&=AB &BABGB@0  %0A-e*
<w}

"=:#zN{w t%% Fz|

}xy|%}0 {w:xBu|

MJBz

}JMxy|

M9J>} |1BM@?

)%&-&B%"10@0#$N%Y M6&B%#?%#$3J@0  -$&$ AF . )P e&* TWM6.%aB%#$3J3 %0-/A 6%OE-H.=A .$A^@0  %A-e*


; O0@EIJ #$%- ?-H]# [ 10%21$%bL[%OE&@  [IJ@0$A+*   = -]# [ 1%1%0b[$A-H%o[IJ@EA4*   =-H]# [ 1%021$%bL[AB-%02  [IJ@0$A+*   =
-H]# [ 10%21$%bL[ 23B%  [IJ@0$A+*   = -H]# [ 10%21$%bL[-HN  #$@0-H-  [IJ@0$A+*   =B-H]# [ 1%021$%bL[N 3B@0.% [IJ@0$A+*   ^@EA3
-H]# [-H]#.@0 #$% [IJ@EA4*   *
<w}

"=:#zN{w t%% Fz|

MJBz

{w:xBu| 5| }xB~

xB

z!0<{w:xBu|

}JMxy|

M9C>J<} |1BM@?

! B--L@0AJ 1%# @E3%3(IJ%IJ %0+M&NA  . AB=  13B%3(MW   AB1%AB%A  %B* TW %B@01%0-X%--H%AB&$@0#$# G#$KE%Y.%"@0 1%YM&NA  &$ A+*
)%&-&B%"10@0#$N%Y 5M B%0#3F]PX.# P  e&* TWMZ&BY% B%#$3(3 %-A %OE-H.=A .$AB@0  %A-e*
:| } xB~ 6
=5az{w t%% |4w:| }xB~ ) {w5xBu| 5| }xB~
{w:xBu| 5| }xB~ M Fz|,/09%{Mw5xBu|->} |1BM@?

z!H

5| }xB~

%&% xyyJ@0

5 %&NB2AB-/@c#$-H
MZ@0#$#.%Y2%  23B -@?%#3JAB@0IJ%-L@0-/@c-H.2$AG-H% @E2@E&%3( Uk[jX*
SU .%c&B@0: ?%#$3-Lb"B  D@0%YA 
%AB%2@E&%3J@E2%GEZ$A  #$N3B%3 .-H%%Y$L- Q%A%02@0.%3@[0* ! %Y2%0&NB2A%03J-.2$A^-Q-NB.@0 #$%=BMW 
%0O0@0IJ #%=MW +E%AB%2@E&$AG)> 8 ) ;?8;  ! -H&@E&%0IJ%A.-,*T&M6 @ jZH @^-- %   B%3B= %B* Z*@c&@E #%"A@EIJ%=@0#$#?%#$3-/@E2%" 2%?O0%03^$A
.%YM& 2I 
jZH
!
* #B%0#3BA@0IJt%
:| } xB~ }Ju| 6=5az{w t%% |4w:| }xB~ }Ju|
{w:xBu|->} |1BM@?

{w5xBu| :| }xB~

z!H

:| }xB~

%% xyyJ9

5 %&NB2AB-/@c#$-H
MZ@0#$#.%Y2%  23B -@?%#3JAB@0IJ%-H=%0@  (B@01$A^&B%" 2%?Oj6H@
*
SU .%.@Et ?%#$3-4bY  (@E1%%AB%2@E&%3^-%0?. k' 8 ) ; @0%"E$A  #NB3%34* .)%0%9-&Q%A%@0.%3[0* TWM j6H@$-X-HN  #$$%3= %B* 6*
@G&@E #%"A@EIJ%=@E#M# B%#$3-@02%" % BOE%3(AJ.%YM& 2I 
jZH
!
* #B%0#3BA@0IJt%

}JMxy| "=:#zN{w t%% <JBz

}xy|%}9%{Mw5xBu|->} |B@?

5 %&NB2AB-L.%10@0#$N%G M &B%`B%0#3#  @0.%3F@E  -$&$ AB$AC.%G2%  23+*TWMNB%#$3?3B %-QA +%O0$-+.%%-NB#.@0AB %0@010 NB$NBA3B% BAB%3+*
! B-(M&NA  &$ A-B N#$3 %`N-H%3 bY$&>9)]#$>9N%02 -e*_ B%A bY KE$AbY.@`>9)#$
NB2-H ^.% 1@0#$N%M  A-HY>9).2$Al
10%2#$ @03JbY  JNB-%0- B%0#3JAB@0IJ%-L-/IJ %d@E   2$@0.%B*
; O0@EIJ #$M% ?-]# [ 1%1%0b[NB 3@E&%[IJ@0$A+*   *

,

>)=ByHIXCuuEH4LIIuII

}JMxy| "=:#zN{w t%% <JBz

{Mw5xBu| :| }xB~

xB

zR9%{Mw5xBu|->} |1BM@?

! B--L@0AJ 1%# @E3%3(IJ%IJ %0+M&NA  . AB=  13B%3(MW   AB1%AB%A  %B* TW %B@01%0-X%--H%AB&$@0#$# G#$KE%Y.%"@0 1%YM&NA  &$ A+*
5 %&NB2AB-.%J1@E#NB%D M/.$% ?%#3 A@0IJ%03`]^d$A .%J%  3+*dTWM?%#$3`]P"3 %-dA %0O0$-L&B%J2%-HN#$&@EAL %@E1 NB9$NBA3B% BAB%3+*

6 4?+.BUJ 6p9ep k9p66Z]U?]]pBZ]6 6pk632]e F6 5[


5
_J%Y3 PA 62%  IJIJ%AB3J&B%dNB-%Y M6.$-  #$@0-H-M& + 2 3N  . A(bY 2KG@0.$-/.IJ%B*
! B%Y>9)]# 5 %  3TWABMW  #@E--L%A  @0 -HN#$@0.%-L@c-%
M?3B@0.@0 @E-Y% ?%#3JIJ%0&@Y3@E&@Z*
! B-  #$@0-H-$- @E26 M6.%"}?BIJ 3BN#$%B*
#include <qsqlrecord.h>

J _ .:: , 0# _ 0d5X
BBp+]eBZ|6.T[
BBp+]eBZ|6.T   AB->)]# $%#$3TWABMW 8 -H: .%0F
BBp+]eBZ|6.T   AB->)]# 5 %  23 .%0F
-H r,% E&  %de?6 p6   A-H>9)&ABB ?%#$3SU@0IJ%  A-H
>9)]#  %0#3BTWAM&# 6   AB-
>9).2$AB B%#$3SU@EIJ%   AB-
>9)]# 5 %  23(B+]eB [  A-H
U

d ] 1.10"

Q 0

Q 0aX

L61D:(

! B%Y>9)]# 5 %  3TWABMW  #@E--L%A  @0 -HN#$@0.%-L@c-%


M?3B@0.@0 @E-%Y?%#3JIJ%0&@Y3@E&@Z*
! B-  #@E--~$-~@(@> !?@E#NB% 8 -HX&B@04 #$3-~@(-H%4 M 3B@0.@0 @E-%B%#$3IJ%.@^3B@0.@?*XRQ-H%  AB&@EAB-[& D-H%%PM+@(E$1%A?%#$3CAB@0IJ%
%0O0$-.-/$AD&B%d%  3= @EA3DNB-%Y?A3[L& ^E%0@>9)]# %0#3BTWAM& G%  3PM& X@cA@EIJ%3$B%0#34*
)%%Y@0#$- (@> !Z@0#$N% 8 -H [Q@0.@0-H&N  &NB2%-/@EA3J).2$AG<9@0AB3#$AB^bY$&J>9[ = >9)]#  %0#3BTWAM& . +* ,  U@EA3$Q@0.@0 @0-H%"
#$@0-H-%-e*
,

0#

"('CF:(

_ 0

6=5az{Mw t [x w

PL%0dC ] :(

%% " =:#zN{w

)9

t [x w

 A-H&N  &-L@0AJ%IJ . "2%  23$AM& G u|%  


6=5az{Mw t [x w

%% " =:#zN{w

t [x w

{Mw5xBu| 6=5Jy}JzF [x w }Ju|

 A-H&N  &-L@   Y M0.x*


,

w5| 2z

,

>)=ByHIXCuuE&CH4L!IIuIQI
6=5az{Mw t [x w

%% " =:#zN{w

t [x w

{Mw5xBu| 6=5az{w t4M

w5| 2z

 A-H&N  &-L@c>9)]# 5 %  3TWABMW ^ u.%  6 @0-H%3( AJ&B%a?%#$3-/$AJ.%Y>9)]# 5 %  3D0.k*


F}ozB5|1:z 6=5az{w t [x w

%% {w:xy|4@}xB )

{Mw5xBu| :| }xB~

M H)zF N

z9/{w5xBu|

5 %&NB2AB-X&B%ANBIJ %+ M?.$IJ%-4@a?%#$3(A@0IJ%03"e$ eYP4 k N-4AJ.%d2%  23+* 5 %&NB2AB-  $M?AB B?%#$3^ "&B@0ZA@EIJ%  N#$3
%YM& NA34*
6=5Jy}JzF [x w

"=5az{Mw [x w

%&% Hx J
)

{Mw5xBu| 5| }xB~

M H#zF N

z9o{Mw5xBu|

5 %&NB2AB-L@^>9)]# $%#$3T&AMW J u|%  +MW &B%B-NB%0#3CA&B%c2%  23DbYB  F@E-U&B%`B%#$3FAB@0IJ%9"e$ eY]^e*TWM


AB JIJ@0  BAB
?%#$3J-LMW NBA3J.%A(@0AJ%0IJ & Y>9)#  $%#3BTWABMW P u .%  6-/%.N2AB%3+*
6=5az{Mw t

6=5az{Mw t [x w

%% |4w#zN{w d) 9%{w5xBu|

5 %&NB2AB-/@0AJ%IJ & Y>9)]# 5 %  23( @0-H%3J AJ.%aB%#$3J$AMW IJ@0. A($AD.$-/>9)]# 5 %  3T&AMW


*

! B%Y>9)]# 5 %-NB#  #$@0-H-  13B%-X@0AF@0 -H&@  6$A.%MW@  %dM& X@ k %-H-$A^3@E&@cM&2 I )> 8 3@E&@E @0-H%-e*
! B-  #$@0-H-$- @E26 M6.%"}?BIJ 3BN#$%B*
#include <qsqlresult.h>

J _ .:: , 0# _ 0d5X
1$2.N@E# BBp+]}6p5[
U

J6(l0dL40" , 0a _ 0"5X
BBp+]}6p5  A-H>9)#Q2$1%@c3<
$A : [  A-H
>9).2$AGp }6]Y [  AB-
>9)]# ; 2 4p }Z? [  A-H
#p6 ppo [  A-H
#p +epa [  AB-
#pk]p]e [  A-H
#pk0?  6p` [  A-H
 AB-
>9)]# Q2$1%@ cZp [  A-H
1$2.N@E#1 $3J}] 
5 0AB
@0 
1$2.N@E#1 $3J}] 4epE) E #@ 
1$2.N@E#1 $3J}] kZB   A-H>9)]# ; 2 @%@
1$2.N@E#1 $3J}]6])   AB-
>9).2$A ]NB%2 
1$2.N@E#1 $3J}]]p]eM E #M- 
1$2.N@E#1 $3J}]0?  6pY E # MW 2bY@E2y3 
1$2.N@E#@> !Z@02$@0AB6Z B $Au 
1$2.N@E# # p@ V~6p E$A 
1$2.N@E# # ]}]5   A-H>9).2$A ]N% 
1$2.N@E# # . $0AB 
1$2.N@E# # . V~]]t [
1$2.N@E# # . 6Z] [
1$2.N@E# # . 6]pk [
1$2.N@E# # . 6B } [
[
1$2.N@E#$Ak] \Y
[
1$2.N@E#$A66+B 
.&]e]T
U



 

>)=ByHI LGH $FH &IIuIQI

d ] 1.10"

Q 0

Q 0aX

L61D:(

! B%Y>9)]# 5 %-NB#  #$@0-H-  13B%-X@0AF@0 -H&@  6$A.%MW@  %dM& X@ k %-H-$A^3@E&@cM&2 I )> 8 3@E&@E @0-H%-e*
SU IJ@0#$#  NbY N#$3 N-H%>9)]#$>9N% AB-.%@03 M(>9)]# 5 %-HN#$D-HA  %>9)]#$>9N% 2 1$3%0-@%AB%2  bY2@0  %MW 
3B@0.@0 @E-%W- %     $IJ #$%IJ%A.@0.$ A-/ M6>9)# 5 %-HN#$*
)%%Y@0#$- (>9)]N# . +* p Q@0ABo3 L@E&@E @0-H%d #@E--H%-e*
,

0#

"('CF:(

_ 0

6=5azuyJ|

PL%0dC ] :(
Q

%% " =:#zNuyJ| )

{w:xBu| "=:J }<z

* 9->

w:|4z{|4z

2 .%  .%3  AB-.2N  . +bYB    2%0@0.%-/@c>9)]# 5 %-HN#$N-H$AP3@0.@0 @E-%c* ! B%Y u.%  6-/$A$.@E#r,%3D. ^@EAJAB@  .$1%c-.@0.%B*


6=5azuyJ|

%%<

"=5azuyJ|

) 9->J<}

|1BM@?

Q%-H& -/.%" u.%  6@0AB3JMW2%0%-/@0AB Y@0#$#  @0.%3J2%-H N  %-e*


}xy| "=5azuyJ|

%&% M| ) 9o{Mw5xBu|->

w5|lz{|lz

5 %&NB2AB-/&B%  N2%AB[r,%2  @E-%03/  -H$&$ AJ M6&B%d%-HN#$ *


F

}JMxy| "=:#zNuyJ| %% M|4

}xy|%}9->} |1BM< w5|4zN{|4z

5 %&NB2AB-c&B%C3B@0.@M& #?%#$3 [r,%2  @E-%03@E-@>@!?@E2$@0A* ! $-cMWNBA  .$ A $- AB#  @E##$%3$M~&B%F2%0-NB#9$-c$A @0A@  &$1%
-H.@0.%d@EA3(-  -$. AB%3( AP@Y1@E#$3J2%  23P@0AB3D]-A AWA%@0.10%B*FQ%2$1%3  #$@0-H-H%-/IJN-H62%0IJ #$%IJ%AB6&B-XM&NA  . A(@0AB3
%.N2AJ.%"1@E#NB%c tM ?%#$3F= X>@!?@E2$@0AB[LM6$  @EAAB  %d3B%.%2IJ$A%34*
{Mw5xBu| 6=5J }z

"=5azuyJ| %&%N }<z j) %


9 {w5xBu|-> w:|4z{|4z

5 %&NB2AB-/&B%d3B2$1%X@E--H  $@0.%3JbY.J.%"2%-HN#$ *
Yww: "=:#zNuyJ| %%& z|4{E2

}xy|/}9J>} |By w5|4zN{|4z

E -$. AB-".%F2%-HN#$U& a@EA`@E2 $&@02 [rx%02  @E-%3MYAB3%Oa|* ! B-"MWNBA  &$ A`$-Y A#$  @0#$#%3 $ML.%D%-HN#$L$-YA@0A`@  &$1%
-H.@0.%B*Q%2$1%3  #$@0-H-%0-~IJN-HX2%$IJ #$%IJ%A4.$-UMWNA  . A@EA3  -$. A&B%G%-NB#X. D.%$A3B%OD=6@0A3  @0#$#6-%.'"[~bY.
@EAD@0  2 @E&%d1@0#$N%?* 5 %.NA !65 R ; . ^$A3B  @0.%"-HN k %-H-H=}' 8 ) ; MW 4M&@0$#NB2%B*


Yww: "=:#zNuyJ| %%& z|4{E2 y} u|

) 9J>}

|1BM w5|4zN{|4z

E -$. AB-d.%(2%0-NB#/. &B%B-/%  3A`&B%P%-HN#$ * ! $-M&NA  &$ A $- AB#  @0#$#%3 M/.%(%-NB#L-dA @0A @  .1%J-H.@0.%B*
Q%1%03  #$@0-H-%0-QIJNB-+2%0IJ #$%IJ%AB
.$-M&NA  &$ AF@EA3C  -$. AD.%c%-HN#$ . (&B%`B- 2%  23=B@0AB3  @E##Z-H%.'[UbY$&D@EA
@E   2$@0.%d10@0#$N%B* 5 %.N2A !65 R ; & PAB3  @E&%Y-HN } %-H-=M}' 8 ) ; M& XMW@E#$N%B*




>)=ByHI LGH $FH &IIuIQI


Yww: "=:#zNuyJ| %%& z|4{E2 @u|

) 9->}

|1BM w5|4zN{|4z

E -$. AB-d.%J%-NB#L& .%J#$@0-H%  3 A &B%J2%-HN#$ * ! B-dMWNBA  .$ A $-d AB#  @0#$#%3`M&B%J2%-HN#$$-d$A @EA @  .1%J-H.@0.%B*
Q%1%03  #$@0-H-H%-UIJN-H+%$IJ #%0IJ%A+&B-QMWNBA  &$ AF@EA3  -$. AC&B%2%-HN#$4& J.%c#$@0-H42%  23B=B@EA3  @0#$#Z-%0&'"[~bY.F@EA
@E   2$@0.%d10@0#$N%B* 5 %.N2A !65 R ; & PAB3  @E&%Y-HN } %-H-=M}' 8 ) ; M& XMW@E#$N%B*


Yww: "=:#zNuyJ| %%& z|4{E2 z |

) 9J>}

|1BMy w:|4z{|4z

E -$. AB-/&B%d%-HN#$& ^&B%dAB%O06@E1@0$#$@0 #$%c2%  23PAJ.%"2%-HN#$* ! $-XMWNBA  &$ AJ- A#$  @0#$#%03JM6.%"2%-HN#$6$-$AJ@0A(@  &$1%
-H.@0.%B* ! B%d3B%MW@EN#$
$IJ #$%IJ%A.@0.$ A  @0#$#$-MW%0  [bY$&J.%YAB%O0$A3B%O?*Q%2$1%3  #$@0-H-H%-  @0AD%IJ #%IJ%0A.$-/MWNBA  &$ A
@EA3  -$&$ Aa.%P2%-HN#$. F.%(A%0O0X2%  23a$Aa-H IJ%P .%0QbY@E = @EA3  @E## -%0&'"["b"$.a@0Aa@0  2 @E&%P1@E#NB%B* 5 %0&NB2A
!65 R ; & P$A3  @E&%Y-HN k %-H-M= }' 8 ) ; MW 4MW@E#$N%B*


Yww: "=:#zNuyJ| %%& z|4{E2 zF

) 9J>}

|B w:|4z{|4z

E -$. AB-~&B%G2%0-NB#4. D&B%G %1$ N-U@010@0$#@E #%P2%  23CA.%G%-HN#$ * ! B-UM&NA  &$ A-U AB#  @E##$%3M+.%G%-HN#$+$-~$A@EA
@  .10%J-.@0.%B* ! %(3%M&@0NB#/$IJ #$%IJ%AB&@E&$ A  @E##$-dM&%  [dbY. .%( 2%01 NB-9$A3%0O?*)L%10%3  #$@0-H-%0-  @EA 2%0IJ #$%IJ%AB
.$-YMWNBA  .$ A`@EA3  -$&$ A &B%D2%-HN#$U& a.%FA%OEL%  3 A -H IJ%D &B%bY@E =/@0AB3  @E##X-H%.'"[cb"$. @0A @0  2 @E&%
10@0#$N%B* 5 %.NA !65 R ; & ^AB3  @E&%Y-HN } %-H-M= }' 8 ) ; MW 4MW@E#$N%B*


Yww: "=:#zNuyJ|

%% }Ju%{|4}z ) 9o{w:xBu|->J

w5|4zN{|4z

5 %&NB2AB- !65 R ; $M6&B%d%-HN#$@E-/2%  23B-X& P %Y2%.2$%1%3B=] &B%2bY$-%"2%.NA-k' 8 ) ; *


Yww: "=:#zNuyJ|

%% }Juw

c t xyJ

) 9o{w:xBu|C>

w5|4zN{|4z

5 %&NB2AB- !65 R ; bY%0AP 0 N  @EAJ A#$ "-   ##BMW b"@E23(.2 NBEJ@c%-HN#$-%0 &B%2bY$-%a}' 8 ) ;
Yww: "=:#zNuyJ|

%% }J

yJ

}xy|%}h9C>} |1BMy w:|4z{|4z

5 %&NB2AB- !65 R ; $M6&B%#?%#$3J@0  -$&$ AF]$-SUR 8E8 = .%b"$-H%d%&NB2AB-}' 8 ) ; *


Yww: "=:#zNuyJ|

%% }JFzFzN{| ) 9o{Mw5xBu|->

w:|4z{|4z

5 %&NB2AB- !65 R ; $M6&B%  N2%AB62%-HN#$


$-/MW I @c) ;?8;  ! -H.@0.%IJ%A.= .%b"$-H%d%&NB2AB-}' 8 ) ; *
Yww: "=:#zNuyJ|

%% }J F

M} I) o
9 {w:xBu|->J w5|4zN{|4z

5 %&NB2AB- !65 R ; $M/.%(2%0-NB#L-d  -$. AB%3 Aa@D1@E#$3 %  3.&B@0/$-=4.%(2%0-NB#L-dA   -$&$ A%03a %MW %P.%?2-H/ 
@EMW.%4&B%Y#@E-%  3 s &B%2bY$-%Y%&NB2AB-}' 8 ) ; *
6=5 w "=5azuyJ|

%&% @u|

9 {w:xBu|->J w5|4zN{|4z
w j) o

5 %&NB2AB-/&B%d#$@0-H
%022 4@E--H  $@0.%3JbY.J.%"2%-HN#$ *
:
| }xB~ 6=5azuyJ|

%% @u|

Bz

) 9o{w:xBu|C>

w5|4zN{|4z

5 %&NB2AB-/&B%  N2%AB)> 8 ]NB%2 Y.%O0.= 4>9).2$A5k ANB##Z$M6&B%2%"$-/A AB%B*



>)=ByHI LGH $FH &IIuIQI


}xy| "=5azuyJ|

%&% xy

aw5cu & zN{|4z `)

9C>J<}

|1BM w5|lz{|lz

5 %&NB2AB-/&B%dABNIJ %X MZ b"-@0MWM&%  .%3( Y&B%d#$@0-H


]NB%2 Y%OE%  NB&%34*
Yww: "=:#zNuyJ| %%Z zFz|

{w:xBu| 5| }xB~

M =5Bz `9->}

|1BM< w5|4zN{|4z

)%&-4.%d2%-HN#$Z& NB-%d&B%9)> 8 -H&@E&%0IJ%A FM& 


-HN -H%]N%ABZ3@0.@"2%.2$%1@E#|*Q%1%03  #$@0-H-H%-XIJN-HZ2%$IJ #$%IJ%A?.$M&NA  . AC@0A3F@0  #$ c.%E . ^.%c3B@0.@0 @0-H%B* ! $-M&NA  . AD$-  @0#$#$%3F AB# c@EMW.%X&B%c2%-HN#$
$-Q-%
& (@0AFAB@  .$1%-H&@E&%
@EA3`-d  -$. AB%3 %M& 2%P&B%T?2-H%  3 M/&B%(A%b 2%-HN#$*aL%10%3  #$@0-H-%0-d-H NB#3 %.N2A !65 R ; $M/&B%(NB%2 JbY@E-HN k %-H-HMWN#?@0AB3J2%@E3 "& P %YN-H%3= }' 8 ) ; &B%2bY$-%B*
<w}

"=:#zNuyJ|

%% FzF|1%{|4}z )

Yww:L9J>} |1BMy w5|4zN{|4z

2 .%  .%3(MWNBA  .$ AJ 2 1$3%03PM& X3%10%3  #$@0-H-%-L& P-H%6&B%YAB&%A@E#@  &$1%Y-.@0.%Y& ^&B%Y1@0#$N%Y M
Z*
)%%Y@0#$- ($-'  .10%M[a. *  0*


<w}

"=:#zNuyJ|

%% FzF|1a| )

}xy|%M|9C>J<} |1BM w5|lz{|lz

2 .%  .%3(MWNBA  .$ AJ 2 1$3%03PM& X3%10%3  #$@0-H-%-L& P-H%6&B%YAB&%A@E#N[r,%2  @E-%03%-HN#$AB3%Oc. P]H*
)%%Y@0#$- (@0"[a. +*   0*


<w}

"=:#zNuyJ|

%% FzF|1w

c t xyJ

Yww: w c

9->}

|1BM< w5|4zN{|4z

)%&-GMW 2bY@E23 A#$ IJ 3%& B7k0Zgc]HB*aTWMUMW b"@E23$- !65 R ; AB# MW%0  SU%O0"[$-@0#$#$ b"%03 MW YA@E1@0.$A &B%C%-NB#.-e*
e bY@023 A#$ DIJ 3%JAB%%3-"MW@E9#$%--YIJ%IJ  J-$A  %D2%0-NB#.-Y3 A Q@E1%J& a %  @  %34*cMW bY@023 A#$ DIJ 3%J$-Y MWMX
3B%MW@EN#$ *
)%%Y@0#$- (MW%0  SU%O0" [#. *   0*
<w}

"=:#zNuyJ|

%% FzF|

@u| 4 w ) {w:xBu| "=5 4 w CM

zR9->} |1BM w5|4zN{|4z

2 .%  .%3(MWNBA  .$ AJ 2 1$3%03PM& X3%10%3  #$@0-H-%-L& P-H%6&B%Y#@E-%022 4. G.%Y1@E#NB%" M
e*
)%%Y@0#$- (#$@0-H ; 2 u[#. *  0*


<w}

"=:#zNuyJ|

%% FzF|

Bz

{Mw5xBu| 5| }xB~

M =:Bz K9J>}

|1BMy w5|lz{|lz

)%&-c.%  NB2%AU]N% CM& Y&B%F2%0-NB#~.  * ! B%F2%0-NB#~IJNB-~ %2%-H%"[cA 3%". % O0%  N.%&B%F]N% C A.%
3B@0.@0 @E-%B*
<w}

"=:#zNuyJ|

%% FzF|4zFz{| )

aww5f9J>} |1BMy w:|4z{|4z

2 .%  .%3PMWNA  . A(  1$3%3(MW +3%02$1%3  #$@0-H-%-L& GAB3  @0.%"b"B%.%+ 4A 6.%  N2%AB6-.@0.%IJ%AB?$-/@EAP)> 8 ) ;?8E;  !
-H.@0.%IJ%A* ! B%LU @E2@0IJ%0&%4-H NB#3J$A3B  @0.% !65 R ; M6.%Y-H&@E&%0IJ%A6$-/@) ;?8;  ! -H&@E&%0IJ%A.= &B%2bY$-%a}' 8 ) ; *


}xy| "=5azuyJ|

%&% F}oz ) 9C>J<}

|1BM w5|lz{|lz

5 %&NB2AB-/&B%d-Hrx%Y M6.%"2%-HN#$ X  $M6$  @EAA 


%d3B%&%02IJ$A%34*

wxi0i
seouv"l
rX
wxnpwkfxwkeh}EX
wxi0iE
wxnpwkewxyGh ]
kr Xeo wknpwxewkyhkE X
wxnph}{ 0hk@h B
kr XeorXuh}{Hc
X
wxzzhkl0i
kr Xe BuE{|yse{oE

kr Xe l0iE@h x3 X

kr Xe hktse{|i0X XX
wxn
kr XeorXuh}{Hc
X
kr Xe hkyuEonpX XX
wxunpse
h}h}npGh ]
rX
wxnpwkfxwkeh}E X
wxunpEs EiEmon
rX
wxnpw {|sHcyh}{oE

rX
wxnpwkfxwkeh}E X
wxunpEs EiEmon
rX
wxnpw {|sHcyh}{oE

rX
wxnpwkfxwkeh}E X
ehkse{.hk
hkoh}np[h
rX
wxnpw {|sHcyh}{oE

rX
wxnpwkfxwkeh}E X
ehkse{.h l0yh}{|n
rX
wxnpw {|sHcyh}{oE

rX
wxnpwkfxwkeh}E X
ehkse{.h 0hk@h B
kr XeorXuh}{Hc
X
ehkse{.h
ziEwknp[h
rX
wxnpw {|sHcyh}{oE

rX
wxnpwkfxwkeh}E X
ehk,moXl l0yhk{|n
rX
wxnpwkfxwkeh}E X
ehk,mol0f,{|wklEywktHnpmosel
kr Xeo {.m qh}{N

ehk,moXl zi0wxnpGh
rX
wxnpwkfxwkeh}E X
seul0iEwk{
rX
wxnpw {|sHcyh}{oE

eseul0iEwk{
rX
wxnpw {|sHcyh}{oE

eseul0iEwk{[ g0hkt ,molE


rX
wxnpw {|sHcyh}{oE

eseul0iEwk{[ g0hkt ,molEB


rX
wxnpw {|sHcyh}{oE

tHwxotuowxnph}emohkoi ]
kr Xe BuE{|yse{oE

tHwxl0
hkoh}np[h

kr Xe BuE{|yse{oc

twxlXl0yhk{|n
kr Xe BuE{|yse{oc

twxXl zi0wxnpGh
kr Xe BuE{|yse{oc

tohkwk {
kr Xe BuE{|yse{oc

kr Xeoemh}oiE3 X
kr Xeose{|v"3 X

kr Xe hktse{|iE3 X

tohkwk{ wkuEhk@y
rX
wxnpw {|sHcyh}{oc

rX
wxnpw moh/E X
kr Xeose{|v"3 X

kr Xe hktse{|iE3 X

tosey[h
kr Xeo wknpwxewxyh}E X
kr Xeo {|m qhk{oc X
tsev"vdmn
kr Xeo wknpwxewxyh}E X
tsev"vdmnpfx{|wxl0ywxtnpmsel
kr Xeo {|m qhk{oc X
sel0j{|v
kr XeoX X
tselEjE{|Sv wxl0tHh}
rX
wxnpw {|sHcyh}{oc

rX
wxnpwkfxwxeoh}E

tselEjE{|Sv wxl0tHh}oy
rX
wxnpw {|sHcyh}{oc

rX
wxnpwkfxwxeoh}E

tselEjE{|Sv wxl0tHh}o@y
rX
wxnpw {|sHcyh}{oc

rX
wxnpwkfxwxeoh}E

tselEjE{|v"
h}h}nph
rX
wxnpw {|sHcyh}{oc

rX
wxnpwkfxwxeoh}E

tselEjE{|v"
h}h}npGh ]
rX
wxnpw {|sHcyh}{oc

rX
wxnpwkfxwxeoh}E

tselEjE{|Sv EiEmon
rX
wxnpw {|sHcyh}{oc

rX
wxnpwkfxwxeoh}E

tselEjE{|Sv EiEmonpy
rX
wxnpw {|sHcyh}{oc

rX
wxnpwkfxwxeoh}E

tselEjE{|Sv EiEmonp@y
rX
wxnpw {|sHcyh}{oc

rX
wxnpwkfxwxeoh}E

tselEjE{|Sv $lEyh}{|n
rX
wxnpw {|sHcyh}{oc

 K

rX
wxnpwxfkwxeoh}E

tselEjE{|vSl0yh}{|n
rX
wxnpNw {.sHcyh}{N

rX
wxnpwxfkwxeoh}E

tselEjE{|Sv
ziEwknph
rX
wxnpNw {.sHcyh}{N

rX
wxnpwxfkwxeoh}E

tselEjE{|Sv
ziEwknp[h
rX
wxnpNw {.sHcyh}{N

rX
wxnpwxfkwxeoh}E

tselEnpwkml0@y
kr Xe
wxnpwkewxyh}c X
kr Xe h}tHse{.iE3 X

kr Xe h}tHse{.
i l0seX
X
tseul0n ]
kr Xese{.v"E X

kr Xe h}tHse{.iE3 X

t{|hkwknph EiEmonpse {
kr Xe EiEmonpse{|HwxtHnpse{ E X
t{|hkwknphkrXuEhk{
kr Xe
{|m qhk{oN X
tu{|{|h}l0]n Bg0wxl0,h}i
rX
wxnpNw {.sHcyh}{N

rX
wxnpwxfkwxeoh}E

tu{|{|h}l0]n i0mnph}i ]
rX
wxnpNw {.sHcyh}{N

tu{|{|h}l0]n hktse{|i
rX
wxnpwxfkwxeoh}E

tu{|yse{ g0wxl0,hki
rX
wxnpNw {.sHcyh}{N

rX
wxnpwxfkwxeoh}E

tu{|yse{ wxvd[h
kr Xe $lEi0h kE
X
i0wxnp[w ]
kr Xe h}yuonpE X

i0wxnpwkewxyGh ]
kr Xe
wxnpwkewxyh}c X
i0wxnpwkewxy@h +wxvdh
kr Xe
wxnpwkewxyh}c X
i0wxnpwkewxy@h +wxvd[h
kr Xe
wxnpwkewxyh}c X
i0wxnpwkewxyh}fx@h xn
kr Xe E{|{|se{oc X
i0wxnph}se{|v"wkn
rX
wxnpwxfkwxeoh}E

i0wxnph}se{|v"wkn
rX
wxnpwxfkwxeoh}E

i0hk$wxuonp wktHnpse{
kr Xe EiEmonpse{|HwxtHnpse{ E X
i0hk$wxuonpcwkz



EMI
kr XeoE{.sez0h}{|n cwxzEX

iEh}wxuEon wxouEh[
kr XeoemohkoXi lE$se
X

iEh} ]
rX
wxnpw {|sHcyh}{oE

kr Xe BuE{|yse{oE

iEh}ohknp@h BuE{|{|h}lEn
rX
wxnpw {|sHcyh}{oE

rX
wxnpwkfxwkeh}E X
iE{|m qhkQ{ ]
kr Xeo wknpwxewkyhkE X
kr XeorXuh}{Hc
X
kr Xe hkyuEonpX XX
{|m qhk{.hkwknpu{|h
kr Xeo {.m qh}{N

iE{|m qhks{ +wxvd[h


kr Xeo wknpwxewkyhkE X
iE{|m qhk{.@y ]
kr Xeo wknpwxewkyhkE X
iE{|m qhk{.fx@h xn
kr Xe {|{.se{E X
hki0mo]n uh} {
kr Xe BuE{|yse{oE

hkhkct ]
kr Xeo wknpwxewkyhkE X
kr XeorXuh}{Hc
X
wxoyh}fx@h xn
rX
wxnpwkfxwkeh}E X
wxoyh}fx@h xn
rX
wxnpwkfxwkeh}E X
hknptg
kr Xe hkyuEonpX XX
hknptgEemo{|yn
kr Xe hkyuEonpX XX
hknptgExwxyn
kr Xe hkyuEonpX XX
hknpt
g h kn
kr Xe hkyuEonpX XX
hknptgE0{|hq
kr Xe hkyuEonpX XX
jh}i
kr Xe hktse{|i0X XX
jh}Qi Xomo,l0v"h}lEn
rX
wxnpwkfxwkeh}E X
jh}Xi +wkv"Gh
kr Xe hktse{|i0X XX
jh}i0fx&s moiE,h}n
kr Xeose{|v"3 X

jonphk{
rX
wxnpw {|sHcyh}{oE

rX
wxnpwkfxwkeh}E X
jonphkQ{ ]
rX
wxnpw {|sHcyh}{oE

rX
wxnpwkfxwkeh}E X
kr Xe BuE{|yse{oE

jl0i
rX
wxnpwkfxwkeh}E X
kr Xe hktse{|Xi lE$se
X

j{|yn
rX
wxnpw {|sHcyh}{oE

kr XeorXuh}{Hc
X

jE{|yn] h}tHse{|iQq]wkmowkehG
rX
wxnpw {|sHcyh}{oc

$se{|v
rX
wxnpw {|sHcyh}{oc

rX
wxnpw moh/E X
$se{|v"wkn wxouE[h
kr Xeo {|m qhk{oc X
${|seSv 0np{|molEx,moyn ]
kr Xe lEi0@h x3
X
g0wxl0i0@h {.{|se {
rX
wxnpw {|sHcyh}{oc

rX
wxnpwkfxwxeoh}E

g0wxyh}wxnpuE{|Gh ]
kr Xeo {|m qhk{oc X
g0sey]n +wkv"h
kr Xeo wknpwxewxyh}E X
g0sey]n +wkv"Gh
kr Xeo wknpwxewxyh}E X
mol0iE@h 
kr Xe BuE{|yse{oc

mol0iE@h NX ]
rX
wxnpwkfxwxeoh}E

mol0yhk{.n ]
rX
wxnpw {|sHcyh}{oc

kr Xe BuE{|yse{oc

kr Xeose{|v"3 X

kr XeoE{|sezh}{|n cwxzcX

kr Xe hktse{|iE3 X

mol0yhk{.]n BuE{|{|h}lEn
rX
wxnpw {|sHcyh}{oc

rX
wxnpwkfxwxeoh}E

mol0ynpwxoo h}wkuonp wxtnpse{ ]


kr Xe i0mnpse{. wxtnpse{ 3 X
mol0ynpwxoo h}wkuonpcwxz
kr XeoE{|sezh}{|n cwxzc X

mol0ynpwxo i0monpse{| wxtnpse{ ]


rX
wxnpwkfxwxeoh}E

mol0ynpwxooE{.sez0h}{|n cwxz
rX
wxnpwkfxwxeoh}E

kr Xeose{|v"3 X

mony 4tHnpm q]Gh


kr XeorXuh}{ N
X
kr Xe hkyuEnpE XX
moy wxotHuEowxnph}i
kr Xe BuE{|yse{oc

kr Xeoemh}o
i $lEse3 X

moy
hkythkl0i0ml0B
kr Xe lEi0@h x3
X
moy Ev"zn 
kr Xe hktse{|iE3 X

moyse{Ywx{|Xi Xl0 
kr Xe hkyuEnpE XX
moy
hkl0h}{|wxnph}i
kr Xeoemh}o
i $lEse3 X

kr Xe hktse{|iE3 X

moy uo ]
kr Xeoemh}oiE3 X
kr XeorXuh}{ N
X
kr Xe hktse{|iE3 X

kr Xe hkyuEnpE XX
moy Xzh}l

kr Xe
wxnpwkewxyh}cX
rkXe
{|m qhk{oNX
moyXzhklX{.{|se{
kr Xe
wxnpwkewxyh}c X
kr Xe
{|m qhk{oN X
moy h}wxXi XlE  ]
rX
wxnpNw {.sHcyh}{N

kr Xe u{.yse{N

kr Xeemoh}oiEE X
moy @h eumo{|h}i
kr Xeemoh}o
i l0se3 X

moy 0hkoh}tHn
kr XerXuEhk{ c XX
kr Xe h}yuonpE X

moyf,{|moRv ]
kr Xeemoh}o
i l0se3 X

moyf,{|movdv"h}i
kr Xe u{.yse{N

mony wkomi
kr XerXuEhk{ c XX
kr Xe h}yuonpE X

owxyn
rX
wxnpNw {.sHcyh}{N

kr XerXuEhk{ c XX
owxy]n E{|{|se {
kr Xe
wxnpwkewxyh}c X
kr Xe
{|m qhk{oN X
kr XerXuEhk{ c XX
kr Xe h}yuonpE X

owxynprXuEhk{
kr XerXuEhk{ c XX
kr Xe h}yuonpE X

owxy]n h}tHse{. i qwxmoowxeo[h


rX
wxnpNw {.sHcyh}{N

oh}lE,npg
kr Xeemoh}o
i l0se3 X

,setwxnpmosel
kr XeE X
csei0h
kr Xe u{.yse{N

vdseiEGh
kr Xe u{.yse{N

l0wxvd[h
kr Xe u{.yse{N

kr Xeemoh}oiEE X
kr Xeemoh}o
i l0se3 X

kr Xe $lEi0h kE
X
l0h kn
rX
wxnpNw {.sHcyh}{N

kr XerXuEhk{ c XX
l0h k]n hktse{|Qi qwxmoowxeoGh
rX
wxnpNw {.sHcyh}{N

l0uoofx@h xn
rX
wxnpwxfkwxeoh}E

l0uoofx@h xn
rX
wxnpwxfkwxeoh}E

kr Xe
{|m qhk{oN X
l0uvdehk {
kr Xe E{|{|se{oc X
l0u{v Bseoy
rX
wxnpwxfkwxeoh}E

p

EMI

lEuEvSsey@
rX
wxnpwkfxwkeh}EX
lEuESv sHcy
rX
wxnpwkfxwkeh}E X
lEuESv sHc@y
rX
wxnpwkfxwkeh}E X
lEuESv sHcny +h}tHnph}i ]
kr XeorXuh}{Hc
X
kr Xe hkyuEonpX XX
Xz
kr Xeo3

sez0h}l ]
kr Xeo wknpwxewkyhkE XE3X
kr Xeo {.m qh}{N

sez0h}{|wknpse { {
kr Xe BuE{|yse{oE

kr Xe {|{.se{E X
kr Xeoemohkoi0X X
kr XeoemohkoXi lE$se
X

kr Xe l0iE@h x3 X

kr XeorXuh}{Hc
X
kr Xe hktse{|i0X XX
sez0h}{|wknpse { {f
kr Xeoemohkoi0X X
kr XeoemohkoXi lE$se
X

z0wkmolEnpemoh}i
rX
wxnpwkfxwkeh}E X
z0wkyy$cse{|i
kr Xeo wknpwxewkyhkE X
z0wkyy$cse{|i
kr Xeo wknpwxewkyhkE X
z0se{.n
kr Xeo wknpwxewkyhkE X
z0se{.n ]
kr Xeo wknpwxewkyhkE X
z0seymonpmosel ]
kr Xe hktse{|i0X XX
z0{.hktmymosel
kr XeoemohkoXi lE$se
X

z0{.hq
rX
wxnpw {|sHcyh}{oE

kr XeorXuh}{Hc
X
z0{.hGq hktse{|Qi qwxmoowxeoGh
rX
wxnpw {|sHcyh}{oE

z0{.mvdwx{G l0iE@h 
kr Xe BuE{|yse{oE

kr Xeo wknpwxewkyhkE X
kr Xeo {.m qh}{N

z0{.mvdhk
h}h}npGh ]
rX
wxnpw {|sHcyh}{oE

rX
wxnpwkfxwkeh}E X
kr Xe BuE{|yse{oE

z0{.mvdh $lEyh}{|n
rX
wxnpw {|sHcyh}{oE

rX
wxnpwkfxwkeh}E X
kr Xe BuE{|yse{oE

z0{.mvdh
ziEwknp[h
rX
wxnpw {|sHcyh}{oE

rX
wxnpwkfxwkeh}E X
kr Xe BuE{|yse{oE

z0{.sez0h}{|n 

kr XeoE{|sezh}{|n cwxzcX

rX1ErXc0cX
rkkh03

rkX! B03

rXX 0rXc EN

rXf ! XEE X
{.hkwkiEemoh}i
kr Xeose{|v"3 X

{.hkwkiEemoh}i0@y
rX
wxnpw {|sHcyh}{oc

rX
wxnpw moh/E X
kr Xeose{|v"3 X

{.hkwk
i Xl0
rX
wxnpw {|sHcyh}{oc

{.hktse{|i
rX
wxnpw moh/E X
kr Xeo wknpwxewxyh}E X
kr Xeo {|m qhk{oc X
{.hktse{|
i $lEhs
kr Xeo wknpwxewxyh}E X
kr Xeo {|m qhk{oc X
h}{|h}yg
rX
wxnpwkfxwxeoh}E

{.hk{.hkyg
rX
wxnpw {|sHcyh}{oc

rX
wxnpwkfxwxeoh}E
03

rX
wxnpw moh/E X
{.hkvdsHq]Gh
kr Xe BuE{|yse{oc

kr Xeose{|v"3 X

kr XeoE{|sezh}{|n cwxzc X

kr Xe hktse{|iE3 X

{.hkvdsHq]@h BseouEv"l ]
rX
wxnpwkfxwxeoh}E

{.hkvdsHq]h} wknpwxewky[h
kr Xeo wknpwxewxyh}E X
{.hkyh}n
rX
wxnpwkfxwxeoh}E

kr Xe hkyuEnpE XX
{.hkyuEn
kr XeorXuh}{ N
X
{.seoewk&t B
kr Xeo wknpwxewxyh}E X
{.seoewk&t ,f,{.wxl0ywxtHnpmosel
kr Xeo {|m qhk{oc X
yh}@h B
rX
wxnpw {|sHcyh}{oc

kr XeorXuh}{ N
X
yh}ohktn
kr Xe BuE{|yse{oc
03

yh}n Xtnpm q]Gh


kr Xe hkyuEnpE XX
yh}n +n ]
kr Xe hkyuEnpE XX
yh}n XuEnpse h}ohknpGh
rX
wxnpwkfxwxeoh}E

yh}n XuEnpEs i0mon ]


rX
wxnpw {|sHcyh}{oc

rX
wxnpwkfxwxeoh}E

yh}]n seul0i0wx{G Bg0h}&t ,mol0B

rX
wxnpNw {.sHcyh}{N

yh}n]BwkotHuowknphki
kr Xe u{.yse{N

kr Xeemoh}o
i l0se3X

yh}]n BseouEv"l ]
rX
wxnpwxfkwxeoh}E

yh}]n Bsel0j{.Sv wxl0tHh}@y


rX
wxnpNw {.sHcyh}{N

rX
wxnpwxfkwxeoh}E

yh}]n Bsel0j{.v"
hkoh}np[h
rX
wxnpNw {.sHcyh}{N

rX
wxnpwxfkwxeoh}E

yh}]n Bsel0j{.Sv i0monp@y


rX
wxnpNw {.sHcyh}{N

rX
wxnpwxfkwxeoh}E

yh}]n Bsel0j{.Sv l0yhk{.n ]


rX
wxnpNw {.sHcyh}{N

rX
wxnpwxfkwxeoh}E

yh}]n Bsel0j{.Sv
z0i0wxnpGh
rX
wxnpNw {.sHcyh}{N

rX
wxnpwxfkwxeoh}E

yh}]n BuE{|yse{ wxv"Gh


kr Xe $lEi0h kE
X
yh}np wknpwxewkyh wxv"Gh
kr Xe
wxnpwkewxyh}c X
yh}np wknpwxewkyhkfkh kn ]
kr Xe E{|{|se{oc X
yh}np wknphkse{.v"wxn
rX
wxnpwxfkwxeoh}E

yh}np h}ytHh}l0iEmol0B
kr Xe $lEi0h kE
X
yh}np {.m qh}{|fx@h xn
kr Xe E{|{|se{oc X
yh}np wxoyh}fx@h xn
rX
wxnpwxfkwxeoh}E

yh}npemonph} {
rX
wxnpNw {.sHcyh}{N

rX
wxnpwxfkwxeoh}E

kr Xe u{.yse{N

yh}npse{|v
rX
wxnpNw {.sHcyh}{N

rX
wxnpw 6mh/E X
yh}npse{cwk{|Xi XlE  ]
kr Xe h}yuonpE X

yh}]n h}l0hk{|wknphki
kr Xe u{.yse{N

kr Xeemoh}o
i l0se3 X

kr Xe h}tHse{.iE3 X

yh}npXsey]n +wkv"Gh ]
kr Xe
wxnpwkewxyh}c X
yh}np,wxy]n E{|{|se {
kr Xe
{|m qhk{oN X
kr Xe h}yuonpE X

yh}npcseiEGh
kr Xe u{.yse{N

yh}]n +wkv"Gh ]
kr Xe u{.yse{N

kr Xeemoh}oiEE X
kr Xe $lEi0h kE
X
yh}]n +uE
kr Xeemoh}oiEE X
kr Xe h}tHse{.iE3 X

yh}]n +uEofkh kn ]



EMI

rX
wxnpwkfxwkeh}EX
yhkn] uv"eh}{
rkXe{|{.se{EX
yhk]n Xzh}l
kr Xeo {.m qh}{N

yhk]n Xzh}
l E{|{|se{
kr Xeo {.m qh}{N

yhknpkwxyy$cse{.i
kr Xeo wknpwxewkyhkE X
yhknpkse{|n
kr Xeo wknpwxewkyhkE X
yhknp0{|mov"wk{[ $lEi0h [
kr Xe BuE{|yse{oE

yhknp0{|sezhk{.n 
kr XeoE{.sez0h}{|n cwxzEX

yhknprXuEhk{
kr Xe hkyuEonpX XX
yhk]n h}wxXi XlE 
rX
wxnpw {|sHcyh}{oE

kr Xeoemohkoi0X X
yhk]n h}tHse{|i
rX
wxnpw mohXE

kr Xeose{|v"3 X

yhk]n 0hkoh}tHn
kr Xe hkyuEonpX XX
yhk]n 0m [h
rX
wxnpwkfxwkeh}E X
yhk]n 0se{|n
rX
wxnpw {|sHcyh}{oE

rX
wxnpwkfxwkeh}E X
kr Xe BuE{|yse{oE

yhk]n Xe BuE{|yse {
rX
wxnpw {|sHcyh}{oE

rX
wxnpwkfxwkeh}E X
yhknpf,{.mRv
kr XeoemohkoXi lE$se
X

yhknpf,{.mvdv"h}i
kr Xe BuE{|yse{oE

yhknpf,{.uh}fx@h xn
rX
wxnpwkfxwkeh}E X
yhknpf]zGh ]

kr Xe{|{|se{ocX
yh}n]
yhk{ wxvdh[
kr Xeo wknpwxewxyh}EX
yh}n wkouGh ]
kr Xeoemh}oiE3 X
kr Xe hktse{|iE3 X

ym Gh
kr XeorXuh}{ N
X
kr Xe hkyuEnpE XX
yse{.n
rX
wxnpw {|sHcyh}{oc

rX
wxnpwkfxwxeoh}E

yse{.n ]
rX
wxnpw {|sHcyh}{oc

rX
wxnpwkfxwxeoh}E

kr Xe BuE{|yse{oc

yse{.n XytHh}l0iEmol0B
rX
wxnpwkfxwxeoh}E

yse{.]n Bseouvdl
rX
wxnpwkfxwxeoh}E

yse{.np h}ytHh}lEi0molE ]
rX
wxnpwkfxwxeoh}E

ye u{|yseQ{ ]
rX
wxnpw {|sHcyh}{oc

rX
wxnpwkfxwxeoh}E

npwkeohk@y
kr Xeo wknpwxewxyh}E X
kr Xeo {|m qhk{oc X
np@h xn
rX
wxnpwkfxwxeoh}E

npseemoh}oi
kr Xeoemh}o
i $lEse3 X

npEs h}tHse{.i
kr Xe hktse{|
i $lEseX X

npEs 0np{|mol0B
kr Xe BuE{|yse{oc
03

kr Xe hktse{|iE3 X

npEs 0np{|mol0,,moyn
kr Xe hktse{|iE3 X

np{.wxl0ywxtHnpmosel
kr Xeo wknpwxewxyh}E X

np{|uEhkfkhkn
rX
wxnpwxfkwxeoh}E

np{|uEhkfkh kn
rX
wxnpwxfkwxeoh}E

f]zh
kr Xe E{|{|se{oc X
n z[h
kr Xe E{|{|se{oc X
kr Xeemoh}oiEE X
kr Xeemoh}o
i l0se3 X

n zh 1
kr Xeemoh}o
i l0se3 X

uEz0i0wxnpGh
rX
wxnpNw {.sHcyh}{N

kr Xe u{.yse{N
03

uEz0i0wxnp@h seul0i0wx{
rX
wxnpNw {.sHcyh}{N

uEz0i0wxnp@h u{|{|h}l0n ]
rX
wxnpNw {.sHcyh}{N

rX
wxnpwxfkwxeoh}E

uEyhk{ wxvdh
kr Xe
wxnpwkewxyh}c X
uEyhk{ wxvd[h
kr Xe
wxnpwkewxyh}c X
qwxouGh
rX
wxnpwxfkwxeoh}E

kr Xeemoh}oiEE X

kr XerXuEhk{ c XX
kr Xe h}tHse{.iE3 X
0E
X
Ymi0,h}n
kr Xese{.v"E X

Ymi0,h}npfxseemoh}i
kr Xese{.v"E X

Y{|monphkemoh}i
kr Xese{.v"E X

Y{|monphkemoh}i0@y
rX
wxnpNw {.sHcyh}{N

rX
wxnpw 6mh/E X
kr Xese{.v"E X