Вы находитесь на странице: 1из 97

1

Edi ci n 1.0
Prolllbld. l. ' op'oduocln ' ot.1o p. rdol
Sin n. ..Uo ""n..nllml. nto
D.,,,,,llo. d. ""pi. ,.....>do
...... .llbrooDloH. I .NET
El mode lo Cl iente-Servidor
Def i n ic in
Lo '"""olo," CII.." . 8o.. ,do, 01 """0...... 0 d. l. 1010rm..,'6n
Po< modio do uo ""ojun'o d. pr..,...dor.., .., . 1 Pu. 1 mDH' pl 011..,1 ,
dl.. rlbuldo. 0_ r11","", ""'., ",lIoll.n r"'lu . , lml. n'o uno m" _ ..."'
_Irol... Oood. 01 pun'o d 1... ' uooloo.l, 00 pu.... dollnlr ,. oompu' ''''6n
ClI.n' . 8o.. ldo, ""mo un 'oull"", u" dl."'bu'd. oo. pormho lo. uouorlo.
110.1 oM""or ."""'" l. Inlo, moolo on tormo " .noo.. . n' o oun .., . n' orno.
muHlpl.,.lo, m .
En .. mod. 1o _ ' ''0', 01 oHon' . 0001. un m""ooj. ",I'oll.ndo un
d.'ormlno<lo 00"I0Io un .." Idor, , ..,. "".10 u"" ...10. m"" OO oon l.
,oopu..' . En un oI" om. dl.., lbu"o <od. miquln. puO<l. Pumpllr 01' 01 d..." Ido,
por. " ouo ' .'0" , .. '01 d. oI lon' . p... o"" . ..... m.. oomo . o,. m"" "" ..
modolo do lmplomoOl ool6n, 01 oon""p'o .. ullllzodo on lo,m. oon" . n' o p." . orl
luoolon.. o Impl. m. o, . do do dl. lIOI .. lo,m...
I 3,,,,,,,,,,
CIl""te
.
Modelor.l1".. """d"
Lo Ido. .. ".,., uo. oompolodo,. oomo un In. " umon' o, ou. 00' 01",1. pu....
,..11.., muoil.. ,..... , p. ,o oon l. ",,0 0ld...ol60 d. ouo ,..1,,,,, O<I u.lI.. oUo ",n
m "",,"".d ou' ""''''' .. Iool I"" . SI ."0 .. .0011"" '..,' 0 011""' oomo
_ . Ido, 00 . ollond. ou. lo lo, m. mO 0"1ndor do . pllcacin I u'" do oI" om..
oll. n, __. ldo,.. .. modl..,l . l. ..plo' 00I6n d. 1.. I'C . " . ... do 101. ,1..,..
g,l lo.. do u...orlo; ml.n" oUo It. . dmlnl",ooIn d. d.'"" ou _ u,ldo<l
In' OG, ldo<l 00 d. ) ""'00 d. ""mpu' o<Io,.. ""n".I ti po m.lnl,omo
Como .. d_ ,..,do d. ' 001010l0n n' ..Io,.., ' .n'o 011""1. ' oomo _ ' " 0'.'
""" . olld.d.. lodooondl"" I.' oUo op o ooojun' . moo' " .... do uo. ,0<1 p" .
,..11.., uno ,.... 1'0'0 p." n .,., lo dl" 'ooln r.opocIO d. "".. to,m.. d
'oul' "", u' .. O",Il-..-.,o dl",'buldoo, .. pr...n'. " n. 11.. . d. ""''''' .,Ioll"". QU.
doblo,.., oumpll , lo. oI"om OI..,I. ,8o..Id""
. S. ....blooo un. , . I. olo oolro P' '''''''''' dl..lo, o., loo "".... puod"" $O'
ojoou'""o, "" '. ml. m. miqulno "" mioulo" dll.."",.. dl."'bu'd lo
lorgo do l. , od
. E:oI" o uo. 010' , dl.. ,o" o luo"oo., b..... "" .. oonOOO'o do ' _. I0Io. , ou.
$O ..I. bloo. 00"0 "1""' , ....Ido'
. Lo '0I00I6n ......Ioold. puod..., d. muoil"". u"", on l. ou. uo ....Ido' pu....
d. , -.I0Io muollo. 011 00' '', ' OGul..,do ou ."""'" ' oou' ''' oomp. , lIdo.
" lo. 011...... o.",_ od.n . P'''''"''' . "'''0 0 "".nto . du. ann . .."" lo du.
h. ""n poUoIon d..., ,, lolo loa ....ldor. W "" lt lm"" 'I.non " n ""' ' "'o<
P""o l ' du_ ,on 1.. potlclon.. d. lo. 011""1. '
" No ..1... otr. ,.100I6n . ntr. oIl.nt.. y .... 1<10' .. du. 00 ... l. du ..
....1>'- . tr. ... dol Inlo<o. mblo d. m.nuj.. """ mbo . El m.n..) 1
monanl.."o par . ,. pot lclo y . nnoo. Oollo"uo d. _ . 0010
" lo. plat .fo,m.. d. ",,11.". Y h.ld.ar. onu. oIl.n'" y ....Ido' ann
lod.pondl.nt.. F'rocl..m.nt. "o ,.. p,lnclpaI """.j d .
..q" """'"'. .. l. poalbllldad d. oon.o", oIl.n'" y Idor..
Ind. p""OI.nt.m.nt. d. au. pl. ' . lo, m..
" 8 oon_lo d ...,.Iablll dad t . nto ho, l..,n'" oomo 1I 1oa1 "I" loabl
"" .10" '.' aI".m. C1lont.s...ldor. lo . """,.1>1I10.d ho, l..,n 1p. , mhg' OO"
m" ..I.d on.. O. U'''.lo . "'1. .. al" . 1 ." ., algnlll",,'I..m"" I1,,,,,dlmlont o.
l "",, 'ablll dad U""I po, mHo mojo,., l ""'."'0<101,," dol ....Ido' o
. grogar m ~ " ' p l ldo'
<
I
,
'
.
.

>
'
"

,
j

o
,
.
,
" '
-
" o
"
> "
s
,

-
o
<
3
o
"
o a
"

-
, o o " ,
8



,
o
,
"
,

'
1
"
'

e
s

'
,
"
.
=
.
.
.
,
.

e
;
O
L
Q
"
=
,
,
:
.
g
.
e
1
S
h
E



.
.

.
e
a
-
:
E
-
e
"
,
.
E

.
.
.
"
-
-
-
.
!
I
,
.
.

"
"
'
.
"
S
"
'
1
"

'
-
,
,
-
,
c
.
.

.
.

'

"
E
"
.
.
.
"
O
,
;
;
,
L

1
1
o
'
"
"
"
L
i
S
.

E
L
.

s
i
L
.
:
!
.

'
,
"
.
.
.
.

a
.
.
,

o
"

'
1
"
:
!
!
:
.
2
;
;
;
;
1
1

i
l
J
!
:
:

'

h
.
,
E
.
!
i

.
e
-
s

H
h



'
5
-
.
.

"
3
e
'
O
E
.
,
,
:

_
.
.
.
!
!
"
o
'
=
"
.
"
'
l
i
l
.
.
.



"
l
E
l
o
!
:
"
"
,
,
o
'

e
&
p

.
.
.
.


E
,
E
.
.

l
i
l

"
E
'
"

;
.
!
&
.
.
.
.
"
<

"
"
.
2
<
>
t
i

l
0
1
,
8
E
"
.
.
d
i
i
-
0
'
1
'
'
o
:
;

8
.
.
'
t
i
L

.
"
"
H
.

.
.
l
i
E
"

i
'
i
'
l
l
-
"
'
0
"
L
<
>
-
;
:
.
.
"


.
.
.
.
.
,
1
f
'
E
n
"

Q
U
q
e
-
'
"
,
-
.
.
;
;

"
.
.
"
,
!
.
"

:
o
l
l
;
"

-
,
"

"
-
"
"
0
"
:
0
_
=

.
.
.
.
E
o
l
:
.
5
"
.
t
, t , 1
a
i i
,
;
:
;
,
,

,
t
1 ! i 1 , 1
a
i ,
, t 1
h

.
,

'
o
-
. ,

,
.
-
.
.
'
,
,
"

"
,
,
<
,
"
,
1
o
<

o
:
i

,
,
I i I , 1 1
a
i ,
.
.
.
,

;
;
j
h "

.
0
,
o
.
.

,
0
0
s
.
,

a
o
o

'
"
1
i
"
<
H
,
-
"

.
.
q
,
-
.
s
v
s

,
.
.
1
" .
.
"
.
H

'
c
.

,
,
.
.
.
,
.
.
2
E
L
'
.
.
"
l
l
H
'
,
.
.
.
L

.
.
1
l
1
'
:
:
;
,
e
o
:
U
"

.
.
e
e
e
e
a


i
,
,
_
t
i
"

.
.
.
.
"
'
.
S
.
g

-
s
o
C
1
'

0
-
'
-
-
.
.
0
-
,
,
,
,
l
!
E
l
i
O
L

E
E
:
:
.
.

o
<
,
-

-
S
<
i
-
,
,
!
;
-
"
"
-
"
E

s
s
s
s
s

.
.
8
.
.
.
"
l
l
o
_
.
O
.
l
l
.
.
"
l
l
-
'

.
l
!
.
!
!
"
-
-
"

:
-
.
.
.
.
.
.
.
'
0
"
.
.
-
.
.
"
.
.
-
-
g
.
"
'
"
_
.
.
_
,
L
o
.
.
.
.
.
.
,
.
"
.
.

"
'
!
o
-
!
l
a
e
,
.
.
.

,
s , ,
i " 1 1

,
, t '
;
.
.
"
j , !

a
e
.
.

.
.

.
.
s
s
j
.

a
>
-
,

.
.
,

.
.

3
H

-
,

'

.
.
,
-
"
'
.
"



i
F

o
.
.
L
_

:
f
"
"
"
"
"
"
So " ldo,
E< P'''''''''' . ",,", gado o"". ... . mol lt lpl 1.0' QU. n. oon .. d.
algilo ". "u, .., . dmlol.. ,ado fIO' "l . Al P'''''''''' ldo' .. lo """""" """ " , mino
b_ _. od. 8 ..,.ldo, "",malm",,' . ma n.ja ' 0<1 .. 1.. tunolon.. ",o la
ma, o, 1o d. 1.. '''Il ''' d. 10"ll oolo Y lo. ". "u".". d. dato.
la luooloo.. Q". 1I a """" ,. pr""".., ....Id'" .. ,.."m"" "" lo. <\gul.n...
P"otoo:
.,. ,,-'.r lo. r"'1u", lm'. ",0 bu d. dato. qu. haooo lo ....ot
.,. 1'1""".., ' "'1, ",l ml""t o. d. b.... o. d "".
.,. Format ... dat o. p. ra "."","' rlo. a lo. """",,,.
.,. 1'1...,..., la 1110100. o. ,. ""lIoooMn y , 11 , .. ..lIdaolon... n" . 1 d. b.... d.
dat o.
En '" d.tlolol6o m" mladl , '. InI. rl", qu. p, o. .. ' . "'o_ "ad
...". ",, 11 000100" oI l.n' " y a pllc:aolon.. ..,.ldo,.., Y"""plloaolon.. y b o.
d. ' "". Eo una """. d ..,11. ... qua p,ot"ll ,,,,, d. ... 'oll. do' d. t .n qu.
ma n. J.' o.'all d. bolo nl, oI d. dll. r. ", 1>'0'''''''0' d. "'munloaol6n. I" . m..
oo. ratl.... y .rq" """' "' " d. b.... d. doro . Eol. tipo o. In' orlaoo. lnol"."" API'.,
PACO. Plp. " m. n..]..... d. rO<l y ..",..... a b.... d. d. too.
~ I c a c l o n .. C11.nl.-sa""do lola'oltt coo Vlaual Fo."'o, SOL se"'a' J ASP
Componentes de l Software
Caoa d. D. t o.
Ea la oa". comou. ... PO' l. 800.. o. Da'".. labl.. y . 1....
Ca
o
d. N. goolo.
La oop. o. 1... Rog I.. d. Nog<>Ol o o L.tJ, loa o. Neo"'"o, "' compu.... PO' ~
"" "Junto d. condlolon.. ..b, . I. cu. 1corr. 0. 1 ...,11000160.
Cao. d. P, n..oI6n
Ea ,. Intorlo> QU. u... 01 0 1. 01. oor oood.. . l olloacln, t comou. ... PO'
Io. l",mulorl... aI" .m... o. m.nD. , dllloo.., 001... o. h.rr. m1. 01 .
La. Ir.. oop MI"" ,. I. oIon. o... un... con "',..., l. oop. d. Pr. ..nt00l6n , onlbl,
l. ootlo16n d. 1 CII. nt . , .. l n. r l. _ . d. l<Iogoolo. p. ' . QU. o,oeuo ,.
o. t loI6n, luogo . oood l. _ . d. D.to. por. g. ner or un , . ... It odo
Lo__.. __"" 01_O"" 01 """""..... origon . 100 _
'_ 00 _.
Clasif i cacin de model os Cl i ent e-Serv i do r
lM1 0 d. lo< .".c:Io< 01. ".. 0.,0 . o' ,""d., l. ' """ ologro OI,""I. _&o,,,ldo, , 1'0' lo
'..,' 0 COO,., coo l. _ ot:klod d. p,ooooor, o, omociouo, 1'''0' o oobo ..
d..... '11'0, 11-0" coo""", lo .,qul' _ u'. d..... mod. lo lo. coo_ 'o. o
Id... _ odo. . 1 mlomo W. 0111 d. OII'.od. , \o< comp"",",,' . ,
oIl.o, .l m1<l1. " . ,. I...-. IdOf, 0,00100 on"l, o, 01"".' f. looIo n otr . O' o. , QU.
puad,"" d. flol," ' lOO d. OOluoM" qu... oju". d. m' o, 10,m l "0<110' 100'
' ''''100100'' . "" 00 d. lo. ...u' o< 'OCl u.,lml. o' o. d. lo!o,moolo qu...
ob'u"I. ,oo . o lo . ,.". d. ooollol. d. uo d" . , mlo. do O. noooo 01 ..,.1101.
o licI. , d.b. , 6 COOO<*' . " 0' o,oo/ ,.", k:oi oo dol nogOOo po,., 0."1' d111,
O"""' 1.. couoklorooloo I Imoolou.. d. lo tulu,. couI5gu,0016u, ' . ol. odo . 0
"" . u' o .".c:Io< oomo po, . .mplo, lo ""o"uoldad d. lo 10!0, mocl6o, 'I.moo d.
'"""u...., ' .mOllo. d. '-oW'o<, ' .m. no d. b.... d. d. ' o<, "' Imooloo dol
" 111eo d. , od, dl.. , lbuolo g_,111oo '0111 0 d. lo< o", '''''''' oomo loo d. 'o" . ' 0
lM1 . d. l milo oomun dl_ ' ld dl.. looloo dll. , ,,,, ' .' .,qult_ u,
OI.o,.s..."ldof " b...o "" lo Id.. d. ol.no. (' Ior), l. "" . 1 uoo "o,looIo ..,..,.
lo dMolo O 0I..lllooo16u 1'0' ' om. no d. compoo. u' .. (011,""' ,, g,.od
...-. ldo' mpllo. ) 1'0' 0 " d. bo> qu. .. tr . , . d. d. flul, .1 modo "" QU.
p, ."ooIoo.. luooloo.... d. l ."llooolu ..,io . olg ootl , "" qu. o,,,,,,,,olu,
'.0' 0.1011. 01. como . 1 ...-. ldOl' . Ok:l1 p' . ..ooI ou.. .. doO.o og' upo, . utr. lo.
" .. compon",, ' .. oIiolco.. 0.'0 OI.o' . Sor. ldo, lolorloz d. u""., lo, lgl"" d.
u-ooolo< y lo. do' o< oompo" k1o<, 00<1. uno d. lo. "" co"..pood uu pla no
O. utro d..... oo'ogo,1o ' . nomo. 1.. ' Plloooloo 0 do< 01000< ('" o-' Ior), tr
pIOllO. (l h,.._'lor) I mul' l pla no. (muRI_'IM)
Cliente-Serv idor Do s Planos
Eot. "" uolu'." 00' . 01. ,1.. PO' l. coo lo dl, OQt o . utr. " 0'''''"00 oIl.u'. I uo
. dmlol.."ado, d. baso. d. d. ' o, . DOoO.MI.odo d. dond... 100011.,. .. o' upo d.
,.,... co" . opoodl.o... o lo lgloo d. u-ooolo. .. ou"''''' ' ooor . tu , do. " OO'
dl.. lolo. d,",,"o do .ot .mioma oo'ogOfIo'
"' """,
,
,
..

,-
' .,
_...,..."'",
-
' .
" ' -

,
" "". v.."
...
".
"",
En . ... _ u.m. 01 01 1001 Ia mooo.o.J ",n >IloI' ud.. SOl . 1.... Ido' o. b>....
d. o"os 01 ,.... I' ado d. 000. In. " """'" SOl .. ou. Ko PO' l. ,od, no
Import. noo ol so. uno, 01..., oI. n mil ' 011 1"' ' . Es .. ml. mo 011 ' . ouloo d. b<o
pro, ,,,,", '<><loa 1.. ' 011 1"'' ou. l. Iu",on d,""u. Ko. PO' .. .... Ido' o. b. .. o.
d. ,o. , .1 ' .o, ",lmloolo ou. l ml.mo hizo Esto ha"" ou. .... ' Ipo o.
"',uolu' . .. adoou. a lo. '"'Iu.,lmla. ' .. dpllooclon.. . ,1001 . 0" loa . I" . m..
d p.,o Y g..lI. , PO' o l" oOoouado. p." loa oI".m OI' K""n ou. "
'"'Iul. ,"" ....j.. ' I"", po.d. ,. <;>u... .
" Pr. ..",. U"O .." uolu.. o. 0. " "0110 b,,' . n' Im plo PO' 0' ''''' 0 . 1
p, og,. m.o., Hploom. nl. m ojo un .mblon' . d. 0...".11. l " mS
oImpla 'OOP'""' o d. Cl lonl._ So, . lo., . " " pl.no., pu. " o ou. , oduoo "n o oop.a
o. p,og, . m.oIn, ",mo .. . . , mis 0001001 . ).
O... . n..j ..
" Lo g..n oo.' ldoO o. lnlo,m. oI" ou I.jo" oIlan' . ",ngUo" . d.m..lado . 1
" ll", o. , od, lo ou. " lIadu"" . n bojo , ."dlml.n' .
" f'<H' su baj o ' . ndlml. "'o ... . "" uOl u' . '1. "."" bajo OOP'""" o d ..,1100016",
11mllnd. .. . la ", oo""",,,. o. oI" . m no ", 1' 1",.
Impl. m. nl . d. oo. P, oo. olmI. n' o. Al moo aoo.
o
_..
-

<""",.....
". "
-
<"",,,.-
,",,00 " _
."
",
-
".
o
En . ... _ u.m oIl.n' ",10 ll a mad.. a ' ""010".' o' . ,..Id. " 00 la b. .. o.
d. ,o. , y oul. n ,.....1 P''''''''' l. ' 0..1; 000 o. 1.. In. " """'o SOl
og' upad on lo mooolon. oa ' "" oI".
" Pr...n', ,.. ml.m.. von' oj.. d. "n o .,qui' "", "" oo. pl. no. oon
p, O<*Ilml. " o. oImononado . PO' O m' Jo" oon"". ...blomonl1 , ondlml.n'o
_'o , dodo qu. ,od u,," 01 " lloo fI'I' l. ,00 . 1 p'",,"'" lo. d"o n l.
mi... . b o. d.",., oool.n& vloj., <610 . 1,.", "000 Iin . 1o. "n oonJ"n. o d.
In.. , "","on SOl.
" SI bi. n l. c:ompl' llda.<l d. 0"'''0110 .. .. dlomlnulOa, .. pl. ,d. II., ibllldad y
..,.I. blllOad .n 1.. oolucion.. Impl.no.. (_""I.lmon. o " """"0 d. el lon.o
So.. ldo, . n " .. pIO",,", c:omo ... . o' mas ad.Man'.).
" Obliga o b..., .M 0'0'''' do lo o,>Iloocln on SOl . , ..ndlOo, propino d. 1
p,ov.odo, dolo ba.. 00 d. , o. qu... .MIJo. Doblo,. .. q" . lo.
p,O<*Ilmlon.,. OImooona.<lno ("0'00 p, O<*Iu, ), loo d...n""'. n. n' "
(HigO" ' ) y las ,ogl (oon."olnl)..,n . n , Ioor..,n ol.no. al , ,, nd. , do

El Iong uoj. paro lo do""lpeln do lo. p,O<*IlmlOnlno .Im.,,"oo&
p' oboblomon '" funolonolldod .,10 d. un p,ovoodo,. "''o. Lo Quo lmplloo
qua 1.,. p'onodlml.n. oIm. _.oo. no oon . ", . Imon' o " fI'I " obl.. on"o
platofo,m o. ol..ln. o. p,,,,, oodo,
So pl. ,d . l. Inoop' nd. nol. onlro .1 <>6<l lgo 00 l .."lloocl"'" (oonnol mlonlo y
,ogl do! nognol0l y lo. 00'0'

_
.
,
o
o
'
o
'
,
'
-
,
"
,
.
U ,
.
.
' e [ s
, i
e
1
t
,

,
,
.
,
.
.
-
.
.
,
"

'
"

-
.

'

,
o - o - < o " - o -
e
o o o
-
o
-
a
s
e
a
l
'
-

.
.
.
.

:
-

;
.
g
f
!
!

"
-
!
l

.
o
.
-

H
.
5

.
.
.
H
3

"
.
"

,
.
.

.
'
,
.
-
.
.
,

8
'

:
"

0
0
'
o

_
_
"
"
.
.
.
-

'
o
'
,
.
'

3
,
,
-
"

;
'
o
,
,
1
t
.
'
.

e
i
!
;
i
:
:
H o

'
.

.
.

"

l
'
r
- !
I
-
t
-

"
,
,
,
,
-
-
o
"
a
s
'
o
-
.
"
>
z

.
'

-
g

"

e
o
.
o
'
.
.
"
.
o l
.
"
'
.

;
;
:
l
o
,
.
2
"
6
}
a
e
e
,
,
.
_
5
"
3
<
t
i
:
.
.'
"

!
.

l
O
-
'
"

i
'
-


P
'
.
:
.
.
.
.
:
:
3
;
8
.

B
=
1
,
-
.

8
<
'f
a

r
'
3

"

o
p
,
;
.
.
,

-
-
d
:
8
-
'
$
;
;
'
.
'
,
.

,
,
.
.

,
,
,
'
!

;
!
.

,
H
.
.
.
;
,
-
"
'
,
,

-
.

,
,
,
o
_
.
'
.
,
.
,

,
.
.
.
-
o

,
,
.
'
o
,

1
1
.
e
;

a e
,

; , f
I
e I
H
-
.
,
.
,
.
,
.
.
'
!
!
;
!
'
o
,
-

:
.
.
.
,
e
a
e
"

-
,
o
g
.
.
"
,
.
,
.
.
,
.
"

o
,
"
"
-
e
-

.
,

.
,
o

o
.
.
-
,

-
.
.
,
o
" " "
"
"
e
a
'
.
o
'
" .
.

,
.
,
:

!
i
" ,
o
.
.

! i ,
, , ,
H
,
o
o
'
" "

,
-

,
.
.

a
a
,
o

-
,

,
-
" ,
o
"
o
.
'
"
-

-
;
'
E
'
.
-
8

,
.
.
'
,
.
"
o
.
.
"

" 8 mlomo 0.<1>0 d. lo0oi1..., l '00'" d. 1 oOOoolo on ... o,oplo . mbl.o , . 0


d. dl."lb"" Ion l. o.pa d. lo' . ,!" d. " ....'10. p.. ml'o ,"'"<:1, 01 Imo. "'o
do n.,,,,, m.ot .nlml.o.o, oomblo. ",gon' " d. ul.lm. ho,. m. Jo, ,, .1
ol"om .
" OI.."nu, .oI nDm..o do "....'10. (1Ioonol..) ""0""' , 0",".1.0 b. .. d. d "".
O... . " j ..
" O. pondlonoo d. l. oIoo<:I" d. lo. 10ng"oJ . ' d. d..." ollo, ou.... p,. ..o' "
m.yo< ""mpl' lld.d .n ""mo. , o<:In """ 01.0" Servido, do. p' .no.
" & I" .n pooo. p,o.udo,.. d. h.".mlon' " 10'00''''''' do . o.."ollo <:00
, olacin .1 mod.lo Cllon, ._ Se,. ldo, do. pla no>, , no, m. lmoOl. "'" d1' 0
- ",
" O.bldo ...... d... . n' . j.. o qul l. m. , o, Impo" oo<:l. dol Goo.,.dor
(.plleooln ",udn 01 pr . ..o "ob.jo)
"pllc.clonu C11..,o-8anrldo, o ln1o'n," con VIIUII Fo.Pro. SOl S.nrll y "'SP
1mplem entando Clien te- Servidor
Unl 00 11. 0I' .....1..1<ao p","oolllll do VI,,"ol Fo,s" o .. lo .." 011", d" 10"ou'lo
_ omo. 1mplomo,"., C1 lonlo S...100, d. 1.. oIc ul""l . !o,m '
Eot 1I ' ..,.ml""...0'01"' . por. Imol""' '''''.' ClI"" I. 1"1.llc""'". En VI'ul l
Fo, Pro .. olopoo. 00 unl ......."",. d""omlnldo Upolzlnc modl. "' . " ""al
pd. mo. mlc' " unl apllcool" l.IoM1Il1oo C11 ," 1"' ''lc o"' ., oU'IOI. ..
p, ooedlmlenlo " Con.. . n VI.... Romo' ... 0 0 to, m. oImll. , .11. VI l"",". " ..
olopo"o 00 un Ol.."odo, pll . Vi.. .. Rom"... , modl."'" .. cu.1b ooo...n un
OSN pd.mo. ooood... """ Ioul.. _ 00 0 .10', , . ... PO'" """,,"1", '1111..,
. ", oollzoolooo.
1)""00 . 1P.." I " .... 00 Sal
B P.." I " . ... II " "".011.. o'" l. ooluoloo O. s..-, Ido, 1","lI c""'"
bllO"do.. on un OSN, pd"", ,,," In.., ""' u.. con lo. 0< 110. . .. s... ldo" T. bl ,
Vi...., Prooedlml""'o. ...lm.... ...o. , 01 0
"Ir..,.d . "00 OlEBO
Rop n.. II '..",,, logl. no,Id" .. O. t.lIOI'oooll ou. 01''''''' """... I. lOad '''' . 1 I
b 00 0010' 00 " Qul' ''''' u," . blo"., do "" modo 01' ''''''', P'" ' .n'o . upono un
mooo m.. ,tploo y . ..u,o.
TOd l 1000100 ",",10,.... d. lallOl to I con' l" uooidn
En ................. _ ... _ _ ,... _ _
___... 10 __"' __
1mplem entando Cl iente I nt eli gent e
Upzising a SQL Server
A dll. ,. ocl uo ..,11000I6n mul' lu... . , I. b. ... o .n " n 01" ""' . _ ' Olivo
"" " 0' 10, . ... ouod. ,. , " Inold " n nDm.,o II mHodo d. " ....,10. Y M ohe.
m.yo< _ u,ldad lo. d. ' ..
Pot. Impl. montar ClI.n' .So.. ldo< . ".ou.. I, ' un .... Ido' ba<.do . o WlndO'" NT
So..... " n otimlnl..,. do< d. B. .. d. O. ,.. P" . al So.. ldo, ""mo SOL SoIY.r. 8
ClI.n'. puod. . ... , b. tado . 0 alO' o. . .. oIo d. Wlndo.. . .
Impl"", . n' ., una opllcacln ClI.n,.s...ldo, . "' POO. ",OOf l. 80.. d. 0. ' 0' "" al
Sor.. ld o<, "' . bl_ , l. """. ' 160 d..d. al el l.o' . 1 d. ... 'oll. ' al p' og' .m. . ..'
"t odo "" l I'C el l.n' .
VIou . 1 Fo. F'<o In,," , . "o. n.. , orn i""'. modl..,'. l. ",,01 P"" . mlg,., un
d. ,,",11 0, 10 . 1 .."o,no el l",,' .-So...ldo,. ,al prooodlml.o' o .. ""O"""
"" mo Upolzlno . SOL Sorv... Uodl"" ..... p,ooodimloo' o " cl lm.n' ... mio' l.
80.. d. O.... al S... ldor, l Vi.. . . ou'omotioomon' . ,. ""n''''''' n . n
VI" a< r.mo' , . ti ml. mo po< oad. " n. d. l ' . bla< 0. 0. " 0 VI" a< Flomot
lM1 ..,lloooio op' lm. el,.." . Sot.ido, auoon...mini. "., ""id>do,"", ,,,,' 1
Ir. ll"" d. "",,",o . 1SoIYldo, d. modo ou. " ... n. l. ""no."l<Io, n_o al
al 010"1.." . p' ooodlml. n'o .... l. d. opt lmlzor lpliooclo n . Iouoo. <:O'
,..mpl. , . ndo al . OCHO lo. d.,o. modi.." . Vi.. .. ' ,,,,,0'" po, 0"0' m" odo.
m" p' lmo. ""mo al Po.., " . . .. d. SOLo Ir d. OLEDB.
t El .... do - - on .. -., do ""'- """"""" _ 01 _ do "-""..... -1
"""""*"',no __.... .....- __
Preparando el Servidor
Pata , . 001,a, ac'. ' ..ao n_.... '. " ....,.." . d ..",.... a l ...... ldo, "'lOO
Mmlnl",otIo" PO' ,uonac dld. "'loac ml' omoo qu. 01 Mml"I.., otIo, 1I. na PO'
Id d. lololo d. ....n .... , OIn "'ntr
En 01 Sa.. I" o' .. d.b. ,. .., . .. 01 . 'P. " o lo. obl. ' oo " . la Baa. d. 0 . 10.
Est spado .. lI a m. OI'Po. ltl.o, oad. 80.. d. Oat oo .. ",ao,. do.
dlspo..tI.oo '
. d. B... d. Oa t o. . .. un a' oI1 I. o ",n l .,t.n. ln MOF, ",ot l.n.
lac labl d. d.,o., . 1...., I. n' o. oIm"""norlo. , " . .."oad. n. n..., oto
. DI.po. I' I.o pOl1 R. gl. "o d. T' ....ooloo .., mblo .. un . ' oI1 lv o ",n
l " .noln lOF, oqul $O gu., d. lo. ""mbloo q, ... ,aollzo . " uno 80.. " .
D.to. d. m. n.,. , u' om11100
V moo " p,onodlml.n'o P' " ", , lo. OlspMlt I.o.'
, SOl _ . .. , In"" po,. un. n.. , . ml.nta " . .... lnl..,ooIn lI.motl.
""mlnl.tr . do, Co,po' .t l.o o Ent.,p,l.. Mon ag.,
2 10101. .. ""mlnl. trodo, Oo,po' '' I.o, Itlqu. qu. 01 ...... Ido' . ... , ogl", . do y
. "'1' 0, .,p. nd. .... opdon.. , alW "" Ba... d. 0 . 100.
J Hag. ellok.n .1 boln d.,ool'Io " . 1mou.....b, . l. "Potn 80.. .. d. O.to. y . 111'
l. opcio Nu"'" B... d. O.to.
-. 1..;. "'" - 1rtl lE '" ,. mj
4- s- J.ll o 1! ca
...J R""" """"'"
>; 9 , _"""', M"",," "'L"' _
\J ""- s..... ""'"
B->lj H>l"lr "".-. "' 1
., ..;.. mr=
" U D.

"' W So
, U "
_.

III
lJj
Il r
_.

-
(jj [jj (jj
-
Iil IJ
"pIlC.ClooU C11..10-8anrldo, o 1010'0," coo VIOUOI Fo.Pro. SOl S.nrll y ASP
. .ulgoo u" nombr o o lo BISO do 00100. por olomplo ..,PCVII'I' '', ..1 ml"",o
IMlouo u" tomoM poro el 01_"""' 0. PO' oJomplo ' Q Mb
"

(jI
"-


..,
,.--
I , . ;';' ;
,...,," ... ..
"


"... ...
F. "...
..""
r ."""
r-j
.
.-.,..- p-j
r
r-j
I
,
I
,....
I
-
I
En 01 ml"",o dlolo,o O" lo poolno Roo I" , o do T,..,..ook>n... oSPOOllouo 01
ouo dobe oo, ""lro el 2S o JO'" del 10moM del OlspooW..o do B. .. do
0 ' 100, on " 0"" 0 """" " MO3 l.lb
,.-."

..

'" " 'M


,=j
I ....'
,,, ,..
. - ..,-
t , ,._ ...,
" ,,"'"
;=====
" ....:",
' - __...
Un , quo pul.. ~ botn Aoopt., $O " abr "'....0 lo .,""Ivo, """_0010"'"
p.' "0' dlopoli tlvo.
E1 _"1o B... .. """"' _.-....- _ _ .. 01 _ " un .... .. _10_"
""""' ...-. .. ... 01 on .. _"_...
.. " ~ ........ ~ " " ' , ... .. on _ ooo __
Preparando el Clien te
Pr.".,ar e H",, " ""l'<In. p,."... , l. Apll<:ooMn. Tom "".n', ,..

-/ Lo "" ndlcln P'" qua "o . Apll<:o..n mIg, (:ll.o _ . ..", . 10 " " 1",, " 00....
qua .,. B.o.. d. D b d. "" VI Loc. I
-/ "",. ' pl lml.., . 1' 00,,,,,, . 10 a..o o. D" ,,", p.,. m.., 1<:o , Vi....
Lo . pli<a<:ln mlg, .. , """ ..".,od ' d. .."oll od. 00 . 1 II br. FIlM . m'MO' d.
p,og,.m."o . 0 VI""oI Fod 'ro, l. ouol 1"00100' po-r1OO1 omOO I' .0 uoo ,"" d.
,oouroo. "" mp.,"d Wlndowoo
,...."' - "
'." """' '" GbSOSl
'. ,
' ..
. ,
IDO'""'"1
" 00

- .-.... - .. _--_.-.
A.plle.clon.. C1lanl.-&a..ldo lnl.,ne! con Vl.u.l Fo....o. sal s...., J A.$P
Estableciendo l a conex in al Ser v idor
p", . """'.r on. 1"",,' . d. d.to,t .rn. pod"", .,. u'" OOBC o
oon"olado, lnt..no (OLEDB)
Wlndo" '0' d. un oonJonto d. oon"olado, mOd I.nl. lo. cual.. pod. mo
""""... ' o. nI .. d. dot.. 10rn... d. lIpo roloolonal . oo. par. "", u. lI..oI6n O
oonault., oporool6n qu. .. ,..lizo d..d. 01 Admlnl.. rodn, OOBo.
8 . ,nood lml",, 'o oonal....n "' , on OSN(0. , . Sou'''' N.m.) " Orlg. n d. Doto.
, ... al Pon. 1d. Con"ol " . g. dob' . <:I lnk . n oI lc:ono ODBC J2
,,"Od. or... " .. t ipo. o. OSN:
-/ OSNd. uau.'Io. podr .., 000<10 ..,10 01 "."arlo q". 1o ",06
-/ OSNdI.. . m. oodr oodo po' cu. lq"ior u.... ' 1o d. ... Pe
-/ OSN d,onl.e g.n , un . ",1, 1' 0 01 o". luogo pod, " ..I. d.. . . oome
ar <:l1l.o oon . .... . Mn DSN . 01<. Pe.
En nu."' Oo .., dal lnl, . mo. on OSN dI" . m.
"'" ""- ' """
...
,,, "'""' _
.._"".. ,_... ........
__.._><T _,
""
2 H. g, "loa . n . l botn A.g rog. ,.
J En . 1dialogo c..., no,""o Mlg.n d. d.to . "blo". 01 ""ntrol.do, SOl Sar ,


""MJ
" "",,'"'


M' "''''
.. ,"
"'C"''''

"..-, , ,
'''''''',,01'0 , (
,""""' ,-",.-;....,
,,,.,-,,,,,,
"',..-F '-'"' ,
''''- "''"
.... _
-
_""00""""'
. 81 01 di alOGo "0" '''' '' u lgno un nombr o 01OSN, d..,PCVonl o, o ldonlttl<uo 01
So"ldor ( Ed"TOO on " '0oaool
"'" ., ,.... __ "'"'-0""'" <lo' """"
Q_ ea-u,. " , ;. _ "" "-., ..-..,
"..'H"'_oo"...... ......."
1""lEC
5. A ""nll nuoc:lo . o. al. quo 01 ..,.,..., 01 s.,r.ldor do dato.... hu " do la
outonlloo. oI6o SOl. Sa<. or. Indi quo al I d d. Inldo do . ooln' y .0
""n" a...no.
r:;
_...---
,..,.,<> ",

6 ublqua lo Bo.. do Do"'. ..,PCI/",, ' o.

l' , ,,""" """"' .,. "
, .. ..,... """ -""-, .".
r-

,
.... , ...",.....,
7. Va pa ro ' o,mlnar .. mo. " ..! un dl'k>go .."alondo Q"o p,.oo,"mlon'" ha
flooll, orI o, ""n, lono Quo hag a eI "",- on 01 b<>tn Prob.. do d.. . . , <1 ..
mu.." a .. m"".oo "lo. p'uab.... oompl.. odo ""n h ilo" .<>do
' .. mln odo
"pllc.clonu C11..10-8anrldo, o ln1o'n," con Vlouol Fo.Pro. SOl S.nrll y ASP
."'" ... ,,, ... "" .."....."
_..
'-""', "lO'
""... .......
...
" O"
=
._"....-
.. """"

"'".-'h" ""
'- "''''' ..
"--,,....,"'
..
... ..--"- _ -...,= ....."
'-
',, '''-'- ''
...

.....,'"
=
...... O&I <Io lJouono. ..- ""' .. .. ... _ . .. OSN .. _ _
__.... __.. 0&1 <10 """""' _ _
Efect uando a l Upsizing
A . O<:H p'''''. ''' d. lot " mpldo PO' "O p,obJom. d. ,.,; ,
..,., 1d0f o PO' "' . plleooldo, d. do qu P'''''''''' . 1""". ""mblo. I..... ...o
"' Apll<:oeln, ooo.l.n. mont . n. , " O. oopl. d. l. Aplleooldo
0";. 1. , ooom. odooln. 101eO. m.,.. 000
, Abr. l. s.a.. d. 0 . 10. PCV.o' "
-

2 En " H. ...mIOl'l I" , uMqu. l. Of>OIn IW" OI'I I.' , luOGo "'000100. l.
opoldo Upol,lno
J VI.uol fo,Pro, P' _ o'. do. .... I.. . ot.. p. " Upol>l no. "n o haci. SOL s.,.", Y
ot,. naol. {hola En 00""0 """" . Iagl, ,,,,,.,.. .... I...nt . p.r. SOL
So...",.
En " p, lmar paso, ..1000100. Ooonll,m. l. s.a.. d. d. to. Oo. mio' .' SOL
So.... " pcvOI'Ilu .oec
s. l u ~ o ublquo 01OSN quo .. usar ' par a ",n""' . , .. al Sor. IdO<" d.., PCV.nt
- --

3
- ",
6. A",nt lnuacln _.Jo Iu labl qua mlg, . , a o a l Sor. ld",
--
-
...
......
-
.-
1. El> ,, 1 dl. lego ' ll l<1u" Q"" lo. !Ipo. do oampo Quo 01 ..I...n' .
p'''I' ono pal O1.. l.M SOl S....' . ...n lo. ...__

'''''' _.. .. ....< _-,

-
,-

..
a En " Q"lnto paso ""nllrm. 01 OlsposUl. o do Baso Doto. oroado on SOL
S...." ..

9. Ro. I.. lo_ . " 'bu' o. qua tOndrn lu loblu . n.1 mismo IMlou" lo.
oamDios qu" .. , 11..., ,,, , n " ""'Ioa<:ln, por .omplo 01 PO' oo. d. VI... local
.. "...r un. Romo , " Po' ''''' ' t abl o DBF .. <>bt ondr un o VI... Romot .

",_""" _ _ \
,.
a..-.._ """,
.,-,- - ..,..
"'...-, ._'",..,,....

r ,..,_-'"", ,.,..,,

'.

,,-
r_...
"_,,,, r1.._,
' " P<!< bogo <:Il<k on bo'" Finall, .,. , ,_ 'o l. oplloaol6n. ..ti
tonclonondo"" Olont . _Sor.ldo<.
En caoo....,.,. ....,.... no ..-. """*'"'" __.. _
-. lo _ , _ . """" 01 """'. ..... ..-amonIo ..
_ .... .. _ _ Io' ....' _ .... """," <!o .. ___

Luego del Upsiz ing
Eo . .... ldo, .. h.b, ", ..do l. ..""d"'. d. lu t.blu , P'" , ... 1, 01 ""nl .oldO
d. 011 1Mmlnl.".ddr 0>"",,,,1,0. no,. 000 d.,..,no . ob, . l. B... d.
0 " 0. Svrl'CV. ot y"" 01 m. n" 111. Rol l,",,", o .n"" ouc p" l.. '5.
r
_ - .. ... 1ctr,m
0)0 ..-, (JI O 'lt ro
y :!" ID
,
,..

-
. 0
c_

,-
' 0
c_

"-
"-
I'u.... lo"""""on. , l" " d "," d. 1.. t.bl. p..,dlo. MO l. So.. d. D.to. y .n
l. _ dn r .blu , ..1,""",00' unohl. y no,. dob l. "O"",. n I
c_
c
"
-
._.
-
'"
szr-

-
._---... -
..
,.

e
.-
,-
,
"
-
._,
,
e
..
0_
,
"
-

e
Ol r. lorm moOl.n' ... An. llzodor d. Con... , pOI ' Ink:lo<l o . n . 1
Admlnl" <odor Corpo<o' lvo v.y. al H.". ml.n' , .UJ. l. opcin An. ll zodo<
d. Con. ul....
'"
. ' . '. .. _ !O." c.
f-'" ) 1 .......
,..,
"<"-,
<."' '''-''
'" ._., . ,,"
u.-, ,,, ..


..:..:....:.=..; _ ... ...
M I do . I ""'uo< p'u....., Ioo<lono l. B.au d. 0"0" "..r . n I. n... do l.
""parlo< dor""o.
El M . llzo00r o. Con.uK dividido on do. P' '' ' ' , .n l. P''' ' ""parlo' 1>"00
nolOr lo.tru<><:l oo.. SOL, " , lIodo .. m"",,., on l. parr. lol o< lor.

SELECT ' FI'IOI.l Arl lc:u lo
".0000
".0000
" . 0000
"' . 0000
,"',""""
'l> n I'" "'" ]O, Ion'"
' >00 0 Doro " "" 1><
<- ".,..= ..'
<_ .." X, a " o m
" .. L .. ..
' 00 '
,
00'
00'
-,
,
.. "'''"'''1
,
f'<Ir o! I. do do! Cl lonl' on l. 80.. d. D.. o. PC\t.o, . . .. o"'r ",""O uO "" " Joo'o
d. VI Romo' .., l , . tll qu. on . 11. tlgu<o , . no ..ro """. ...rl , ..1qua
pu fOmov..,lu
Opt im izando la Apli caci n
..., . tormo d11, 1a,.1 tr"'"" .. ,. rad .. mlolmln odo l. ,,"o" d. d do d. ,o. qua
dob. .. 1.I . r . Ir., ," d. l.
..... Vi.... Romo' .. '"""<l.o lo. d.,,,,, d. 1Sor,",o" p. r. rO<:l"" oo, p,,,,,,,oo,,, .. ~
ClIon' o, &I. odo p", . ot .., n 00 ",,0 " """"". d
8 m" <>do . d..,.,....o d. op" ml:ta<:l" m....'"" '. ,. Implam. n. oo,n dO un
p,"O..m. Quo p..mlU ' .... ml' ,,,,, d. , o. 0_"0' 0" si 8o<.id", pu . oor
....1"""" 01 (:Ilon , 0010. pro, rorn.. $O" lo. n.modo. I'r""""' ml. o' o.
Almoooo. do. ""mo y. .. m. o"' oo ..&I do" on ~ So,, 'do,

1mplem entando Servidor I nteJigenle
Procedimientos Almacenados
Eo un mod.lo mult l"""., oon. l... Qu O "' '''' o. oo<lon.. doboo ,..lI zo..o ..
So.. ldo" 1.. 1I00 od dol o . El Sor. ldo, moolpul. lo. doto. "", u. l.., quo
boquod.. do ' o,l "", o dl" OOI uol' , ... y bo...., ro,l." o . l.!lon" " qu. "' l. nlo
oon"ol. lo '6llloa, dk:londo 01 s.r. ld'" qu' n..,." on qu' ordo" lo dobo> d. h",*.
1M P.-O<*:Ilml.n.o Almo_odo o. un p,.."mpllado oonJu"to do rOon.. SOL
Dobldo Q"o ....n p,.."mpllod.. .. Ol.n. on opt lmlzooln lo h",. d. u...l.
Fo. Pro lo dloo " Sor.lOo, Q". 1'r00000lmlonto Alm.",," odo d..o oloouto, ""0
no ..bo> QU. 0"0 quo ho, on ""d. uno d. lo. 1'r00000lmlonlo, Alm.""nod"". Vl'u. l
Fo, P.-o "" 0 ..tIo, , do h,"""o, olo n""'' o ..bor, .. lo. 1'r00000lmlonto.
Almooon.d"" lunolono"
8 u'" do 1'r00000 lmlonlo. ....m.....norlo. on . ' SoIYIO", po'. OflOIo" .. quo .. ,..llzon
l,oouont.mont. mojo,. ,orI"""monl o l d. lo. p'""",,o,. Un o , QU.
1'r00000 lmlonlo Alm.",," odo h. oIdo ... I. loao,lomo"to ",..do . n 01 ....100' .
So.. ldo, , . no .lono qu. oomprob... lo oInt ..l. oompllor 0010. d. oiooutor, lo ou.1
onl."ooo lo ....lloaol6n
Implementacin
PIlta ",o.. p, <>C*Ilmloo' oa almaooo&<l o. , oigo loa po..,. . 10" 1""'0"
, UtaOOO 01""m' nl.. r&<l or Corporo'l..o, o. ponoo lo ll&oa 00 Da'o. S\.,PCVon'&< r
haoo 01 101< oor aol1 o 00 Prooodlmlon'oa Almaoonaooa, luooo ..1,""","" 0 N" ..o.
Mm"",n;, ,M, gil ,I"A
I li,g,h@"@I,
,!!!"
1;;1
I
le;:
::-...
." Oil'll'Ol
,-

""._"

"\l ' . .........
, I
e l_'
... '.'."
"
,, _o
I r; >0o, .-
1 _ _ '"
Ir:; ,..... ........ ,.-."'".., ""
l:

, .. " ""'"
...'
I
2 A ",,"' Iouooln ooll no PrQQodlmlon'o ....maooo&<i o '
CREATE " Roe.DUR. .. AS
5ELEC:r ""' . _ OATE"""" ""', F. c h ) .
:r o tal _
FROH Fo ctn<a, O. t . ll .
WIlER. Fo c t u r " .l dFo cturo _
GROOP BY DAU""",,, 1_ , ' . e h )
"'pllooclone. Cllanlo-s.""do. o Inlornltl con Vlouol Fo.f'fo. SOL S."'or J ASP
3. l'I.od. ha""r " ld< on ol bo'n Comprooa< lo <in,..lo
Slored "'"roed"," '" rl><os _1iIE1

' q'''" ,-"' '''''
-
,
o. F1 nalmool o hoga 011'" on "'-' a< paro grooor lo
-
Uso de Parmetros
lo. f'a<m.Uo. oon .1 m-.:llo po, 01 "". 1 ....,..1.. , dolo< d. 1 el l.n. . ..
1'r.,.,.,. lml.n.o Aim_nodo _",.".,...
p..m."o. d n". d.
er ..,. mo< un 1'r.,.,.,.lm' . n' o QU. no< p.. ml" ooleul.. lo. coml. lon.. d. un
' .ndodo, .n un d" . , mlnodo m
lJu, ,","o. un po,m.. ,o d nUod., 01 m... oon," I' ". lo. po, m.. ,o. dOMn
0"0' o" "'Pu... o. dol . Imbolo O _ uldo del nomb,. dol p.. ' mo.,o y dol ' Ipo d.
porm. uo.
CREAn pC Dmi o;oo
e.... ....
V. n d . d o r. " "",Ve r.d.do ,-,
Cm . i on ""M{ece cVe n t o ' Ca oti d ad l ' 0 . 10
FRO>< Oe t a lle, V. o",,'c ,-
Fa c t u n . I "-" a c t u n _ De'-.alle . I dFa ctura ANO
Fa ctur a. 'dV. od. d o r _ Ve, ""d o r . I d Ve , ",,' o r AND
DAT" PART = , r e ch . ) _ _
GROUP B< Ve n 'edor . NomVe n d . dor
p. , moUoo do lI do
&o u"" p.'o ' """p...., u. d..o p,ovonl"",' o dol &0"' 10 .. , un po, 'm.. ,o do ..' Ido
.. d.tlno on' "'P0. lndola 01 olmbolo O _ uldo del nomb,o dol p.,m. "o, dol lIpo
d. pormouo y 01 . "'mlno 0lJ11'IJT.
Por olomplo vomo<. o"' ""' '' 01 . 01 01da 1.. v." o, ,..IIUd..
CREAn pVen t a .An o D
CJUn',"
e"".""n _

CII.nl.-sa",ldOt. Inll1nltt con Vlouol Fo."'o.
U> uoual 00 u'" p.. mOUOO dO 0'''' '''0 y oolkjo. un oj omplo mu. oImpl<o .., lo lo do
oumor dos nmorOl y ' ooog.. , o"" ""do:
CRe ATE e ROCEOURe . p s = "
eNmol Int ,
eNu.2 I nt ,
e_. r nt """"""
A oon' l' uo<:l n .... pono 1.. dial In. .. ' '''''1000 QUo " P"I<IO " oo, pOl O"""""' o
klo 001",. 0 do! So,. ldo, dKdo 01CUento
.... """"""'"" ""-,"",_Ah,__." ",""",,,do T_.
... Io __
"'plloaolonu C11.n,.-sa",ldo Inla'n," con Vl aual Fo"P,o. SOl s'",a, y ASP
Vistas Remot as
'" d ~ . r . n c l .. d. I loooI ," Romo tom. n ",mo or ig. n d. d.to.
un. "".nt. d. D."' t.rn l. <>J 0I .. ~ . medl.nt. ",ntr olado, OOSC.
V'O' OI"
-/ Lo p, ln"p. 1 ntoJo , adloo.n lImplloldod d. '" OI' .aclon
-/ lHdl. nt . lo opoloo O"lt . rlo. d. ""'uolluolon , t oolOm",, ' . puedo O<I uollzor l.
tu. nt . d. d.to. lor. n...
-/ Tod.. 1.. _ooltloaolon.. d. lo Vi..... Qu",d n lo a... d. Dot o. d. VI. uol
Fo. PI'o, l ocl ll..ndo . 1 di.... d. Int or m ~ tormular lo. pu. ..o ou. p<idro
In" ulrlo. on 01 En. orno d. 0"00.
o. ...n..l ..
-/ 8 ' .... It. do g"" .,odo, por un. "'''0 puad. ,.... I" r m.. 1""' 0 qu. 1.. o"
t _loo.
-/ Loo 111 .. .. Romo..... puad' Oj oou , obleto. d...lnt o. o 1.. t . bl.. ", mo lo.
Pl' O<lO<l lm" nt o. IIImooonodo. ~ Conou" .. do! Sor.ldor
Un ejemplo
Vm.,. uo ol.mplo d. 111... Romo , obl.M,. mo. lo. d .,. d. uo d... , mlnodo
el lon
, Sob,. l. e... o. 0 . ' 0. l'CVont u hao' 01100. d. r...ho , ..n. l. No VI...
Romo
J Sol"","on. 1. ,...1. el l. o' . ,
, "
"

-
_.
.-
._-
-'-
'o='.'
- : ~ i
So, o rlo 0. 1101, un p.rm.. ,o d. lipa "",oI.. p. " al """' Igo d.1 el l. n ,
. 1qu. llom moo """el lon
CII.nl.-sa",ldOt. Inll1nltt con Vlouol Fo."'o.
5 A""n" nu acl6n .., .bl.."".11111<0
6. &1. "1.."" Iu 0,,,,,1",,",,, , d. AOI u.llzocMn
e' O"""",,", do ""'"
y",.1

Oo""
."
-

.
" .
,
o
...
Q.. ..
' * ,
,,,.... .. ."- w...... . ...
j o_ :... _ il
"
-
::J ..


..,

,
,--
.. .._
,
0-
r ..... ,,_ "

I

0. -
--

,
_.

. " ,,"
o
"'
'''''''
7. Proporolon. " n nombro . l. 01" " 00t ' I.mplo: " ClI. nro
. 1'0<. ,..1,,., uooo,u"'" .not . ,
CQdCli . nt . _ " CU "
US"

D.... . '! moSlr.,.. 10.0 dOlo. do! oIl.nll e l 3
Apllcoclon.. Cllanlo-sa...ldo. o In'o,n," con Vlouol Fo.P,o. SOl s."'o' y ASP
_.. .-....- .--..,..-__ ....--_ ..
.. ""' .. _lDcaIoo...- .. __F_ .. ..

Cmo a o' ua llzo la u bl. , .mol . ?
PI..... 10"" ,. "",u.'lz."o d. d. 'o. u..Mo la ' unokln Tabl.l.f>da'Oo( .T.) o 00" uo.
,d.n USE-
.... .-...... --_.--_........--on SCIl I
8 cuod,o . 10" 1"," 1. mu.",a l ' " '''on SCll _ , homloga< a l d. VI. " ai
Fe. Pro
Eo VI. ".I Fo, P,o l En SOL S. ... , '
,
O
ASCU()
CHARj NOEXO
SUBSTRl NG()
CHAF1()
I
CONVERT(d. ' OIlm. , .. 1
CONVERT( , cl>ar , __ 1
CONVERT(d. ' OIlm. . .. 1
I
CONVERT( ""a " .. 1
CONVERT(d. ' OIlm . . 1
CONVERT(d.'OIlm. , .1
I
RAOI ANSO
OEGREE$()
CONVERT( monOy. .. 1
CONVERT(l loa' , . 1
GETDATEO
GETDATE()
DATEPARTl dd, .. 1
DATEPART(mm, l
DATEPARTIYY, ..l
DATEPARTl d"', __ l
DATENAMEl d"', __ l
DATENAMElmm, l
OATEPARTlh h, l
DATEPART mi .
r
,
ASCO
ATO
SUBSTF1( )
CHRO
croo
DTOCO
crorn
" OC<>
rroo
DTOTO
DTOfI( )

MTONO
NTOI.lO
DATEO
DATETlldEO
DAVO
ldONnlO


HOlJF1( )
ldl.NUTE ""<'- -""'''''""'"LL -'
Paso a travs de SQL
E<l. , ""'"'"- " ro"""oIooo .1 O... " oll ado, un modo d00 .., m dl, "",o ol
s.r. ldo,-
V. o' I"
." Lo ' ''''up", ooI6n d. d. 'o. .. mLc , pldo
." Puod. uUf , , " o l Q " ~ ' o, d. n n. tI d. 1S. .. ldo, SOL
." S. puod. ... 1., . 1S...ldo, . ...1 or''' .' ~ , ,,,,101, rlo. , . ... I' ado u h
d. un ..,1. oon.,16n
." S. lI.n. m. yo, oon"o, ...br.l.. T,. n..ook>n.. ,.mo' ..
O n' I..
." 8 ' .... I' odQno ""od. lnolul,.. .. . 1En'o,"" d. 0 010' oomo ,.. VI.....
." 8 r h do o.n.rodo d ..,10 I""' u' . , ,. aduollzoolon d.t>. ,..lI ur.. . n
b "n . ln. " " ool6n SOL ' Il. , . n
Conectndose al Servidor
E<l. mot<>do h."" u'" d. un OSN.",ml,..,no. 01 ",do . 1p, lna plo dol " oHulo:
d.oI'oV. n' ..
lo luna n du. p. , m1' . d. tlol, un. ""n.dn lO H.m. SCILCOt<NECTIl . ". tuMln
d."u. lv. un nGm..,o. SI 01 nGm..,o , .. PO' du. no .. IOG ' O ....bl_ ' l.
"".o>ln " ' I. !."'o' l. mon' . , ...., ""ntr . , lo 01 num. , o gon..,odo ld. n' I!"" l.
""oo.Mo
n . SOlCONNECT( don, IdlJ<u orl6, Contr .... o)
Po, oomplo'
n SQLCO" ",e. t .. "n, . " )
Ano,o " .,Itlnom.. 01 ",lo,
SI . 1volo< d""uol'o 2 , Indino duOl. ""no. lo .. ,..lI z6 ..' I.t."'o'lomon'o, lo
""oo. tn Io lnd.n.ltl"", modio" . 01 nmo, o do.
"pllc.clonu C11..,.-8anrldo,. 1n1.,n," con Vlouol Fo.Pro. SOl S.nrll y ASP
Desconectndonos del Ser v idor
IJsomo. uno coo.,'n P' " , eall.., 'Oda.< OU"," o".'lOlonll con " So<.klo<, "" ..
mom",, ' o qu. no ... oeoua,lo puod. , omo. .. l. oon ln m. ,!;on" l. fuoan'
SQLOI ScotlNECTI Con lo)
Po, . I.mplo
SQLDISCCNNOCT {ni
Ejecu cin de sentencias Sal
P. .. ...... , 1.. ' .bl Y ,..11.., op" .""n oon . 11.. .... oomo ' I""u,", lo.
Prooodlml. o,o. " 1m"""" . .... " ....mo. 1a f"n ""o SOLElCECO, ""r. 010, ..10 1.
oIgul.n'",
SQLElCEC(Con ln. OM.nSQL, ""' '''1
So n...,1 un eu, .., ..1o ""..,do la o,"en SOL.. uoa ln" ' u",n SEI..EC1".
Po, o.mplo par . ...... , .10 ' . bla C11.n.. po<I. m.. u"':
SQLE'OC In , ' S&LE C, FROM
SOllC,
BRO"SE
Tamblaon pO<l. mo. par . m. UI,", uoo 000""1' 0, dollolmo. 01po, m."o'
cO<!Cli .r.t . _ ' C0 1 -
daL _ ' SRllC, FROM ""RPO _
SQLE.Re l n , e s a L, " c Cl ior.t o " '
SOLEC, c Clier.to
BRO"SE
~ d..... "",u. II .., oI'.'olono do! ollonto con Id -COI' , . not.,lomo.
oSOL _ " L " I ' n ~ T E cll.o" SET Telc ll."'... c O WHERE I dCll.n' ... c01' "
"'L":<EC ' o . e SOL. "cc ll _""")
Ejecucin d e Procedi mien tos Al macenados
La !"o<:lo SCllEXEC() so puoO. " sor p. ' 0, I. r M ..,10 r".o SOL ' . 1.. oomo
In_. y llpd.'.01'0 ,.mtH.... puoO. osor p. '. 'ocir . SQL s.rv.. Quo oj",,"' . u.
p'oooOlm1""' 0 . Imaooootlo
Pat. oj",,"''' "" ....m."".... o so uSO l. "'""" T_SQL'
Po, OI.mplo pOI . 01"""' . ' " proooOlml.n'o oImooon...o ..'
SQI.EXEC(n , ".nc np'ot d Ve nt .."
"'plloaolonu C1lenle-sa",ldo. e Inla,n," con Vlaua l FoxP,o, SOl s'",a, y ASP
Proo.dlmle nt ox . Im .""o.do. oon p.,metro<
En o! ""'" d. p,oc:.d lml.."o< . Im..,.n""o< que p'....nI .n p. , m.. ,o< ti.., . do<
OfI<>OO.O:
Po, 1"".., do! p,<><:l lml.."o ",Coml<l"" qu a U. ne uo p... m.. ,o q "".d. :
SQI.EXEC lo , " . X&C . pC m"",o n @Mo . _] "1
""ed. qo. lo '"""oms omodo "lO' ,. o" .fCli"m .1me MO"".ndo lO p,o"",' .
p.,mo"o<do oaIld. , . o. m,," o! ,..to de ""..,0:
So d ohn o u na n l o r io; ci o l pua n Tot o l
nl:otd _ O
SQLEX&e In," {CALL . p Vo n t o .Aon o (? @nTot ol l {" )
.....cib""'c . 01 r o .ult.do 00 b , . mo var blo
, ~ T o t a l
Por. o! ""'" do lo 10m. do do< nmo,,," '
nSumo _ O
, - ,
, - ,
SQLEX&C In ," {CALL . p S= a IX, <, ? @o Sumo ) ) " )
, o Su ""
., al ..... lo ,...- _ .... _,-""""" "'" ....
. ...... _ ..... .......*..". www.................NET
Pr. lma Eo u . ga
Edi ci n 1. 1
Dentro de " na se mana
Prolllbldo l. ' op'o<Iuocln . o' a l o p. rolol
Slo " . ..u o ""o"o'lml. n' o
O.,..llo. d. ""pi. , . ....<do.
ooo.lIbroaDlgH. I .NET
Apl i c ac i ones Cl i ent e-Ser vi dor e I nt er net c on Vi sual Fox Pr o, SQL Ser ver y ASP
1
Apl i c ac i ones Cl i ent e-Ser vi dor e I nt er net c on Vi sual Fox Pr o, SQL Ser ver y ASP
2
Edicin 1.0
Prohibida la reproduccin total o parcial
Sin nuestro consentimiento
Derechos de copia reservados
www.LibrosDigitales.NET
Apl i c ac i ones Cl i ent e-Ser vi dor e I nt er net c on Vi sual Fox Pr o, SQL Ser ver y ASP
3
Iniciando una sesin de trabajo
Una vez que haya instalado el producto, para iniciar una sesin de trabajo realice
los siguientes pasos:
1. Haga click en el botn Inicio, ubique Programas, luego Microsoft Visual Studio y
finalmente Microsoft Visual FoxPro.

2. A continuacin se mostrar la interfaz
La interfaz de Visual FoxPro
3. Para finalizar una sesin de trabajo escriba el comando QUIT en la ventana de
comandos o vaya al men Archivo, opcin Salir, en su caso use la forma rpida
Alt-F4.
J Conviene crear un acceso directo, para ello haga Clic en el botn derecho del mouse sobre el
escritorio de Windows, luego elija Nuevo y despes Acceso Directo, finalmente ubique el archivo
VFP6.EXE
Apl i c ac i ones Cl i ent e-Ser vi dor e I nt er net c on Vi sual Fox Pr o, SQL Ser ver y ASP
4
La interfaz de Visual FoxPro
La barra de ttulo
En ella se muestra a la izquierda el cono y el ttulo de la aplicacin y a la derecha la
caja de controles (para minimizar, maximizar y cerrar la aplicacin).
J Puede modificar el cono y ttulo de la aplicacin mediante la rden:
_Screen.Icon = MiIcono.ICO
_Screen.Caption = Mi Aplicacin
_Screen.Picture = Foto.GIF
La barra de mens
La mayor parte de acciones que vaya a realizar se encuentra en la barra de mens,
un men conduce a un grupo de opciones. Algunas opciones presentan Vias
rpidas.
Men Opcion Va rpida
Archivo Nuevo Ctrl-N
Abrir Ctrl-A
Guardar Ctrl-S
Imprimir Ctrl-P
Editar Deshacer Ctrl-Z
Rehacer Ctrl-R
Cortar Ctrl-X
Copiar Ctrl-C
Pegar Ctrl-V
Seleccionar todo Ctrl-A
Buscar Ctrl-F
Volver a buscar Ctrl-G
Reemplazar Ctrl-L
Programa Ejecutar Ctrl-D
Reanudar Ctrl-M
Ejecutar programa actual Ctrl-E
Ventana Recorrer Ctrl-F1
Ventana de comandos Ctrl-F2
Vias rpidas de las opciones de men
L Las vas rpidas no funcionan cuando el men de Visual FoxPro ha sido sustuido por otro, en ese
caso para reponer el men de Visual FoxPro, puede anotar:
SET SYSMENU TO DEFAULT
Apl i c ac i ones Cl i ent e-Ser vi dor e I nt er net c on Vi sual Fox Pr o, SQL Ser ver y ASP
5
J Cuando en pantalla tenga mas de dos ventanas, resulta util la va rpida Ctrl-F1 para alternar entre
stas ventanas, si desea hacer un salto directo a la ventana de comandos use Ctrl-F2.
En versiones anteriores las teclas F2 hasta F9 estaban programadas y servan de
vas rpidas, en la versin actual no sucede esto, pero puede programarlas, siga los
siguientes pasos:
1. Vaya al menu Herramientas, opcin Macros.
2. En el dilogo Macros, haga click en el botn Nueva.
3. En el dialogo Nueva macro, pulse la tecla o combinacion de teclas que desee
programar en Tecla definida, por ejemplo la tecla F12.
4. En la seccin Contenido de la macro anote el comando que se deba ejecutar,
por ejemplo el comando QUIT.
5. Haga click en el botn Aceptar
6. Para probar ubquese en la ventana de comandos luego pulse F12.
La Ventana de Comandos
La usar para ingresar ordenes escritas a Visual FoxPro, al igual que en una
ventana de cdigo, los comandos, variables y constantes de muestran en distintos
colores.
J Puede cambiar el color y fuente usada en la ventana de comandos o en la de cdigo, haciendo click
en el botn derecho en el interior de la ventana y accediendo a la opcin Propiedades.
Apl i c ac i ones Cl i ent e-Ser vi dor e I nt er net c on Vi sual Fox Pr o, SQL Ser ver y ASP
6
Instrucciones SET bsicas
El dilogo Opciones establece la configuracin del entorno de trabajo de su equipo,
ahora si est desarrollando una aplicacin a instalarse en equipos diferentes,
deber preocuparse por establecer el mismo entorno de trabajo, la forma es
mediante la especificacin de comandos del tipo SET, veamos los principales:
SET BELL on
Activa la alarma, por ejemplo cuando ocurre un error.
SET CURRENCY TO S/.
Establece el simbolo monetario a usar
SET DATE british
Establece el formato de fecha dd/mm/aa
SET CENTURY on
Muestra el ao de una fecha en cuatro dgitos
SET DECIMAL TO 2
Limita en los clculos el uso de dos cifras decimales, hace el redondeo
automticamente
K Siempre que desee averiguar la sintaxis de una orden, seleccione el nombre del comando y pulse la
tecla F1, o use la orden:
HELP comando
Apl i c ac i ones Cl i ent e-Ser vi dor e I nt er net c on Vi sual Fox Pr o, SQL Ser ver y ASP
7
El Administrador de Proyectos
Un proyecto organiza y administra los diversos archivos que compone una
aplicacin, estos pueden ser Bases de Datos, Tablas, Indices, Formularios,
Informes, Consultas, etc.
Administrador de Proyectos
Una vez terminada la aplicacin se deber generar el Ejecutable o el archivo de
Aplicacin, ambas deben realizarse a partir del Administrador de Proyectos.
Para iniciar un nuevo Proyecto:
1. Vaya al menu Archivo, opcin Nuevo, luego seale el tipo de archivo Proyecto y
pulse el botn Nuevo Archivo.

2. Para crear un nuevo archivo, primero ubicamos la seccion a la cual pertenece,
por ejemplo puede ubicarse en Programas, luego haga click en el botn Nuevo
3. En la ventana de codigo que se muestra, anote:
Apl i c ac i ones Cl i ent e-Ser vi dor e I nt er net c on Vi sual Fox Pr o, SQL Ser ver y ASP
8
Archivo Bienvenida.PRG
*
* Este es mi primer programa
* Autor: Pepe Coyote
*
_Screen.Caption = "Estoy aprendiendo Visual FoxPro"
_Screen.BackColor = RGB(0,125,125)
@ 0,0 SAY "MiFoto.GIF" BITMAP CENTER
WAIT WINDOW "Pulsa una tecla para proseguir"
CLEAR
4. Para guardar el contenido pulse las teclas Ctrl-W, asgnele el nombre Bienvenida,
entonces de habr creado el archivo Bienvenida.PRG.
5. Para ejecutar este programa, ubique en el Adminisrador de Proyectos el archivo
Bienvenida.PRG y luego pulse el botn Ejecutar.
Si deseara modificar el contenido del archivo, haga click en el botn Modificar.
En caso deseara retirar el archivo del Proyecto haga click en el botn Quitar.
J Puede escribir los comandos de forma parcial, como minimo las cuatro primeras letras, por
ejemploda lo mismo escribir:
MODIFY FILE?
o
MODI FILE?
Aunque no se sugiere aplicarlo, solo le ahorrara pulsar mas teclas, a las finales el producto a distribuir
tendr el mismo tamao.
Apl i c ac i ones Cl i ent e-Ser vi dor e I nt er net c on Vi sual Fox Pr o, SQL Ser ver y ASP
9
El caso a resolver: PCVentas SAC
Actividad econmica
PCVentas S.A.C. es una empresa importadora que se dedica a la comercializacin
de suministros y partes de computadora
Dispone de un local comercial, dispone de cinco modulos de atencin, y un staff de
vendedores quienes se encargan de visitar a empresas y minoristas y tomar sus
pedidos.
Modo de atencin al Cliente
La atencin al cliente se describe en los siguientes pasos:
1. El cliente elabora su pedido y es anotado en una hoja de pedido.
2. Se verifica en el almacn si hay stock suficiente para atender el pedido del
cliente.
3. De haber stock suficiente, se procede a elaborar la boleta factura, y el
documento pasa a caja. En caso no hubiera stock suficiente, se realiza las
correcciones respectivas en la hoja de pedido, y pasamos al paso 2.
4. El cliente pasa a caja a cancelar.
5. Con el documento cancelado, el cliente pasa a despacho a recoger sus
productos.
Todos los procesos sealados se realizan de forman manual.
Problemas que se presentan
El modo manual de atencion ocasiona los problemas siguientes:
1. Atencin lenta.
2. No se tiene un control de stock adecuado, por lo tanto nunca se sabe cuanto
es el stock real de cada articulo.
3. Control de ingresos manual, por lo que el cierre de caja lleva muchas horas.
4. La elaboracin de informes para el gerente es lenta ya que todo tipo de
resumen del da es manual.
5. No existe ningn tipo de estadstica para la toma de decisiones futuras.
La empresa atiende un promedio de 30 personas por hora con tendencia a
aumentar, por lo que es necesario implementar un sistema computarizado.
Apl i c ac i ones Cl i ent e-Ser vi dor e I nt er net c on Vi sual Fox Pr o, SQL Ser ver y ASP
10
Modelo fisico de la Base de Datos PCVentas
A continuacin se muestra el diagrama entidad relacin:
Diagrama entidad-relacin PCVentas
En el captulo siguiente se detalla el procedimiento para la creacin de la Base de
Datos mediante instrucciones de Visual FoxPro.
Apl i c ac i ones Cl i ent e-Ser vi dor e I nt er net c on Vi sual Fox Pr o, SQL Ser ver y ASP
11
Elementos que compone
Una Base de Datos en Visual FoxPro es un contenedor que agrupa:
Tablas
Cuando una tabla no est asociada a una Base de Datos se le llama Tabla Libre, el
estar asociada a una Base de Datos, le provee de ciertas propiedades adems de
poder consistenciar el ingreso de datos (mediante los desencadenantes).
Relaciones
Representa la unin lgica entre dos tablas
Vistas
Es una herramienta mediante la cual podemos generar un resultado a partir de una
Base de Datos.
J Puede consultar los criterios que debe tener para Disear un modelo de Base de Datos adecuado en
www.LibrosDigitales.NET
Apl i c ac i ones Cl i ent e-Ser vi dor e I nt er net c on Vi sual Fox Pr o, SQL Ser ver y ASP
12
Creacin de la Base de Datos
Definiendo una carpeta para la aplicacin
Iniciemos creando una carpeta para la aplicacin y dentro de ella una destinada
para los componentes de la Base de Datos.
Estableciendo la carpeta de trabajo
Dado que vamos a acceder a la carpeta Datos para guardar nuestros archivos,
conviene que la establezca como carpeta de trabajo, anote:
SET DEFAULT TO C:\MSoft\VFP1\PCVentas\Datos
Las comillas son necesarias siempre que se usen nombres largos, caso contrario las
puede omitir.
J Hay otra forma de seleccionar una carpeta de trabajo, puede usar la orden
CD?
Apl i c ac i ones Cl i ent e-Ser vi dor e I nt er net c on Vi sual Fox Pr o, SQL Ser ver y ASP
13
Iniciando el Proyecto PCVentas
Un Proyecto detalla los elementos que compone una aplicacin.
La aplicacin est compuesta por distintos tipos de archivo, tales como tablas,
bases de datos, indices, formularios, menus, clases, informes, etc.
El Proyecto registrar que archivos compone la aplicacin, el lugar donde se
encuentra, cuando se modific por ltima vez. Para cada tipo de archivo en el
Diseador de Proyectos le corresponder una determinada seccin.
Siga los pasos siguientes:
1. Dirjase al men Archivo, opcin Nuevo y seale Proyecto, luego haga click en
Nuevo archivo.
2. De por nombre al proyecto PCVentas
3. Ahora expanda la seccin Datos.
Apl i c ac i ones Cl i ent e-Ser vi dor e I nt er net c on Vi sual Fox Pr o, SQL Ser ver y ASP
14
Creacin de Tablas
Hay dos tipos de tabla:
Tablas libres
Tablas asociadas a una Base de Datos
Creacin de Tablas Libres
Las tablas libres no estn asociadas a una Base de Datos, un ejemplo podra ser la
tabla Parametro, no es necesario incluirla en la Base de Datos, ya que no tiene que
relacionarse con otras tablas.
Para crear sta tabla:
1. En la seccin Datos, ubique Tablas Libres.
2. Haga click en el botn Nuevo,
3. De por nombre a la tabla: Parametro:
A continuacin ingrese la estructura de la Tabla:
Diseador de tablas - Estructura de la tabla Parametro.DBF
Ya que en sta tabla ha de efectuarse bsquedas segn el campo llamado
NomCampo, habr que definir un ndice, lo nico que debe hacer es sealarlo en la
columna Indice.
Puede comprobar lo ltimo, haciendo click en la pgina Indices:
Apl i c ac i ones Cl i ent e-Ser vi dor e I nt er net c on Vi sual Fox Pr o, SQL Ser ver y ASP
15
Diseador de Tablas - Indices de la tabla Parametro.DBF
En el siguiente captulo se analizar el uso de los ndices.
A continuacin pulse el botn Aceptar o haga Ctrl-W, el diseador de tablas le
preguntar: Desea introducir registros de datos ahora?.
Dgale Si, para ingresar algunos registros:
Ventana para el ingreso de registros a la tabla Parametro.DBF
Esta secuencia termina pulsando la combinacin Ctrl-W.
J Tambin puede crear tablas libres directamente de la ventana de comandos, haciendo uso del
comando:
CREATE Parametro
O mediante el men Archivo, opcin Nuevo, tipo de archivo Tabla
Apl i c ac i ones Cl i ent e-Ser vi dor e I nt er net c on Vi sual Fox Pr o, SQL Ser ver y ASP
16
Creacin de la Base de Datos
Para crear una Base de Datos:
1. Vaya al men Archivo, opcin Nuevo e indique Base de Datos.
2. Luego haga click en Nuevo archivo.
3. De por nombre a la Base de Datos: PCVentas
Diseador de Base de Datos - PCVentas
El Diseador de Base de Datos tal como se muestra es un contenedor vaco,
presenta una caja de herramientas propia.
Las mismas opciones que se muestra en la caja de herramienta estn disponibles
cuando se hace click derecho en el mouse estando el puntero en el interior del
Diseador de Base de Datos
Si ha de crear una tabla puede usar el botn Nueva tabla y si va a retirar una tabla
de la Base de Datos simplemente pulse la tecla Delete.
J Puede resultar mas rpido usar el botn derecho del mouse en el Diseador, el men emergente que
se despliega muestra las mismas opciones que la caja de herramientas.
Apl i c ac i ones Cl i ent e-Ser vi dor e I nt er net c on Vi sual Fox Pr o, SQL Ser ver y ASP
17
Boton Accin
Nueva tabla
Agregar tabla
Retirar una tabla de la base de datos
Crear una Vista Remota
Crear una Vista Local
Modificar la estructura de una tabla
Examinar el contenido de una tabla
Acceder a la ventana de codigo para definir
Procedimientos Almacenados
Definir una conexin
Botones de la caja de herramientas del Diseador de base de datos
Apl i c ac i ones Cl i ent e-Ser vi dor e I nt er net c on Vi sual Fox Pr o, SQL Ser ver y ASP
18
Agregando una tabla libre a la Base de Datos
Vamos a agregar la tabla libre Parametro a la Base de Datos PCVentas:
1. Haga click en el botn Agregar tabla de la caja de herramientas o en su lugar
efectue click derecho sobre el mouse y elija la opcin Agregar tabla
2. A continuacin ubique el archivo tipo tabla Parametro
Una vez agregada la tabla Parametro a la Base de Datos, la tabla Parametro deja
de ser libre y se convierte en una tabla asociada a una Base de Datos.
Apl i c ac i ones Cl i ent e-Ser vi dor e I nt er net c on Vi sual Fox Pr o, SQL Ser ver y ASP
19
Creando tablas asociadas a la base de datos
Vamos a crear la tabla Articulo:
1. Haga click en el botn Nueva tabla de la caja de herramienta.
2. Le presentar el dilogo Diseador de tablas, ingrese la estructura de la tabla
De la misma forma deber procederse con la creacin de las tablas Cliente,
Vendedor, Factura y Detalle.
Diseador de Base de Datos con tablas asociadas
Apl i c ac i ones Cl i ent e-Ser vi dor e I nt er net c on Vi sual Fox Pr o, SQL Ser ver y ASP
20
Relacionando Tablas
Se puede establecer una relacin entre dos tablas de dos formas distintas:
Relacin Persistente
Relacin Temporal
Relacin Persistente entre Tablas
A continuacin debemos establecer la relacin entre las tablas segn como se ha
descrito en el captulo anterior.
1. Para el anlisis tome una pareja de tablas, por ejemplo Articulo y Detalle.
Ambas presentan un campo en comn, en este caso el campo IdArticulo.
2. El campo IdArticulo para una de tablas representa su llave Primaria mientras
que para la otra su llave Fornea.
3. La llave Primaria se establece creando un indice de tipo Principal o Candidato,
mientras que una llave Fornea se establece creando un indice de tipo Normal.
4. Respecto al nombre de los indices usaremos los prefijos PK para las llaves
primarias y FK para las forneas seguido del nombre de la tabla.
5. Para indexar la tabla Articulo, haga click derecho sobre sta en el Diseador de
Base de Datos, luego elija la opcin Modificar.
6. En la pagina Indices, defina el indice PkArticulo:
Indice pkArticulo de la tabla Articulo
Apl i c ac i ones Cl i ent e-Ser vi dor e I nt er net c on Vi sual Fox Pr o, SQL Ser ver y ASP
21
7. En el caso de la tabla Detalle, defina el indice FkArticulo:
Indice fkArticulo de la tabla Detalle
8. Una vez indexada las tablas solo resta crear la relacin entre stas. Para crear
la relacin slo debe arrastrar el ndice pkArticulo hacia fkArticulo
Tablas relacionadas uno a varios
El siguiente cuadro resume los ndices que debe crearse en cada tabla a fin de
poder establecer la relacin entre estos:
Tabla Llave Nombre Indice Campo Relacionado con
Articulo Primario PkArticulo Principal IdArticulo Detalle
Detalle Foraneo
Foraneo
FkFactura
FkArticulo
Normal
Normal
IdFactura
IdArticulo
Factura
Articulo
Factura Primario
Foraneo
Foraneo
PkFactura
PkCliente
pkVendedor
Principal
Normal
Normal
IdFactura
IdCliente
IdVendedor
Detalle
Cliente
Vendedor
Cliente Primario PkCliente Principal IdCliente Factura
Vendedor Primario PkVendedor Principal IdVendedor Factura
Apl i c ac i ones Cl i ent e-Ser vi dor e I nt er net c on Vi sual Fox Pr o, SQL Ser ver y ASP
22
Una vez indexada cada una de las tablas y establecida las relaciones entre estas, la
Base de Datos debe quedar mas o menos as:
Base de Datos PCVentas
Apl i c ac i ones Cl i ent e-Ser vi dor e I nt er net c on Vi sual Fox Pr o, SQL Ser ver y ASP
23
Obtensin de Resultados
Una vez creada la Base de Datos, surge la necesidad de obtener ciertos resultados
a partir de ella, por ejemplo:
Generar una lista de precios
Obtener un directorio de clientes
Obtener un reporte del stock disponible
Obtener un reporte de las ventas del dia
Efectuar una analisis de las ventas del mes
Determinar el impuesto a pagar en el mes
Generar un grafico comparativo de las ventas mensuales
Generar las comisiones que corresponde a cada vendedor por las ventas
realizadas
Etc.
Estos resultados los podemos realizar de distintas formas:
Mediante el comando SORT
Usando Indices
Mediante el comando SQL: SELECT
Generando Vistas
Generando Consultas
Apl i c ac i ones Cl i ent e-Ser vi dor e I nt er net c on Vi sual Fox Pr o, SQL Ser ver y ASP
24
Obtensin de resultados a travs del comando SORT
Consiste en generar otra tabla a partir de los campos de una de las tablas de la
actual Base de Datos.
SORT TO tabla ON campos [/A | /D] [/C] [alcance]
[FIELDS campos] [FOR condicin]
/A Ordena en forma ascendente
/D Ordena en forma descendente
/C Ordena sin diferenciar maysculas de minsculas
Por ejemplo si queremos obtener un archivo que contenga los articulos agotados:
USE Articulo
SORT TO Agotados ON NomArticulo/A, Stock FOR Stock = 0
La tabla generada:
USE Agotados
BROWSE
El ordenamiento por defecto es ascendente, puede ordenar una tabla por uno o dos
campos simultneamente, uno en forma ascendente y otro de forma descendente.
L Esta instruccin est limitada a crear tablas a partir de una sola tabla, ahora en el diseo de una
aplicacin raras veces es necesario generar tablas con resultados, salvo debe exportarse. Las siguientes
tecnicas le sern de mayor provecho.
Apl i c ac i ones Cl i ent e-Ser vi dor e I nt er net c on Vi sual Fox Pr o, SQL Ser ver y ASP
25
Obtensin de resultados usando Indices
Los indices los hemos usado en el diseo de la Base de Datos, podemos optimizar
nuestra aplicacin si usamos con mejor criterio los indices.
Para usar con criterio los indices debe conocer las caracteristicas de cada uno:
Principal:
Garantiza la unicidad de los datos en la clave de indice
P
u
e
d
e
c
r
e
a
r

s
o
l
o
u
n
o

p
o
r
t
a
b
l
a
Candidato:
Garantiza la unicidad de los datos en la clave de
indice
Normal:
Solo ordena
P
u
e
d
e
n

s
e
r

u
s
a
d
a
s

e
n

t
a
b
l
a
s

a
s
o
c
i
a
d
a
s

a
u
n
a

B
a
s
e

d
e

D
a
t
o
s
P
u
e
d
e
n

s
e
r

u
s
a
d
a
s

e
n

t
a
b
l
a
s
L
i
b
r
e
s
Unico:
Oculta los registros con clave de indice repetida
P
u
e
d
e

c
r
e
a
r

v
a
r
i
o
s

p
o
r

t
a
b
l
a
Resumen de los tipos de indice
J Todos los tipos de indice ordenan una tabla segn el campo que se haya elegido (clave de indice).
Las caracteristicas propias de cada ndice se muestra en el cuadro, algunos estn lismitados a ser usados
solo una vez y en determinadas tablas, mientras que otros no.
Apl i c ac i ones Cl i ent e-Ser vi dor e I nt er net c on Vi sual Fox Pr o, SQL Ser ver y ASP
26
Operaciones de busqueda con indices
Es mucho ms rpido buscar en una tabla indexada que efectuarla de forma
secuencial (como en el caso del comando LOCATE).
Para realizar busquedas utilice el comando SEEK. Veamos unos ejemplos:
Buscar al cliente con cdigo C0007:
USE Cliente
LOCATE FOR IdCliente = C0007
? FOUND()
La solucin anterior es correcta, pero puede resultar lenta, suponiendo que el
codigo sealado se encuentre casi al final de la tabla y haya unca cantidad
considerable de registros, la solucin ptima resulta ser:
USE Cliente
SET ORDER TO TAG pkCliente
SEEK C0007
? FOUND()
Buscar un articulo con nombre Teclado
USE Articulo
SET ORDER TO TAG NomArt
SEEK Teclado
? FOUND()
Apl i c ac i ones Cl i ent e-Ser vi dor e I nt er net c on Vi sual Fox Pr o, SQL Ser ver y ASP
27
Limitando el alcance en la obtension de resultados
Podemos optimizar el alcance de los comandos mediante indices, por ejemplo la
siguiente orden:
USE Factura
DISPLAY IdFactura, IdCliente FOR IdCliente = C0007
Resulta ser lenta cuando en la tabla Factura se tiene unos cien mil registros.
Aquellos comandos que presentan en la sintaxis el termino FOR Condicion, pueden
optimizarse sustituyendose por WHILE Condicion y usando el alcance REST.
La solucin al caso anterior es:
Abrimos la tabla y seleccionamos el ndice pkCliente
USE Factura
SET ORDER TO TAG pkCliente
Buscamos al primer cliente con cdigo C0007
SEEK C0007
Se supone que despues del primer registro ubicado hay todo un grupo de registros
que corresponden a este cdigo. As que podemos usar el comando DISPLAY a
partir de la posicin del puntero hasta el final, siempre que el resto de registros
tenga por codigo de cliente C0007:
DISPLAY REST IdFactura, IdCliente WHILE IdCliente = C0007
J La clsula WHILE se detiene cuando encuentra un registro que no cumple con la condicin.
Apl i c ac i ones Cl i ent e-Ser vi dor e I nt er net c on Vi sual Fox Pr o, SQL Ser ver y ASP
28
Obtensin de resultados mediante
el comando SQL: SELECT
Los comandos SQL, son un conjunto de instrucciones estndar adoptado por la
mayoria de manejadores de base de datos (Access, Visual FoxPro, Oracle, SQL
Server, etc.). Dichos comandos estn orientados al manejo de datos.
Uno de tales comandos tiene por funcin obtener resultados, se trata del comando
SELECT, cuya sintaxis se muestra a continuacin:
SELECT campo [AS Encabezado]
FROM Tabla
[ORDER BY campo]
[GROUP BY campo]
[WHERE Condicion ]
[TO FILE archivo | TO PRINT | SAVE TO archivo]
La forma mas simple considera todos los campos de la tabla para ser vistos:
OPEN DATABASE PCVentas
SELECT * FROM Articulo
El resultado se muestra a manera de la ventana Examinar, debe tener en cuenta
que es de slo lectura.
Apl i c ac i ones Cl i ent e-Ser vi dor e I nt er net c on Vi sual Fox Pr o, SQL Ser ver y ASP
29
Seleccin de campos
Puede elegir los campos que considere necesarios, por ejemplo si desea mostrar
solo el nombre del articulo y su stock:
SELECT NomArticulo, Stock FROM Articulo
Este resultado puede estar ordenado por ejemplo segn en forma alfabtica:
SELECT NomArticulo, Stock FROM Articulo ORDER BY NomArticulo
Podemos condicionar la salida, mostrando solo los articulo con stock distinto a cero:
SELECT NomArticulo, Stock FROM Articulo
ORDER BY NomArticulo WHERE Stock <> 0
Si el resultado debe imprimirlo, utilice la clasula TO PRINT
SELECT NomArticulo, Stock
FROM Articulo
ORDER BY NomArticulo
WHERE Stock <> 0
TO PRINT
En el desarrollo de una aplicacin se suele asociar a algn control el resultado de
sta rden, entonces deber generar un cursor:
SELECT NomArticulo, Stock
FROM Articulo
ORDER BY NomArticulo
WHERE Stock <> 0
INTO CURSOR ResArt
Apl i c ac i ones Cl i ent e-Ser vi dor e I nt er net c on Vi sual Fox Pr o, SQL Ser ver y ASP
30
Un cursor representa una tabla temporal de solo lectura. Como cualquier tabla
ocupar un rea de trabajo, siempre que quiera acceder al cursor deber anotar:
SELECT ResArt
BROWSE
Para anular el cursor, use:
SELECT ResArt
USE
En el supuesto que ste resultado deba grabarse en disco a manera de tabla puede
usar el trmino SAVE
SELECT NomArticulo, Stock
FROM Articulo
ORDER BY NomArticulo
WHERE Stock <> 0
SAVE TO ResArt
En este caso se generar el archivo ResCliente.DBF
Apl i c ac i ones Cl i ent e-Ser vi dor e I nt er net c on Vi sual Fox Pr o, SQL Ser ver y ASP
31
Clculos con columnas
Puede efectuar calculos sobre las columnas, mediante el uso de funciones SQL de
columna.
Funcin SQL Accin
SUM() Suma el contenido de la columna
AVG() Promedia el contenido de la columna
COUNT() Cuenta el nmero de filas de la columna
MIN() Halla el menor valor de la columna
MAX() Halla el mayor valor de la columna
Funciones SQL que afectan a una columna
Por ejemplo podemos calcular el numero de facturas que se han emitido el dia de
hoy:
OPEN DATABASE PCVentas
SELECT COUNT(IdFactura)
FROM Factura
WHERE Fecha = DATE()
Apl i c ac i ones Cl i ent e-Ser vi dor e I nt er net c on Vi sual Fox Pr o, SQL Ser ver y ASP
32
Especificando una condicin
Respecto a la condicin puede usar los operadores:
Operador Comparacin
= Igual
== Exactamente igual
LIKE SQL LIKE
<>, !=, # Distinto de
> Mayor que
>= Mayor o igual que
< Menor que
<= Menor o igual que
Tabla : Operadores SQL
La mayor parte de operadores resultan conocidos, a excepcion del operador LIKE.
Este operador ser usado para establecer comparaciones con expresiones carcter,
se caracteriza por permitir el uso de caracteres comodin:
Comodn Accin
_ (subrayado) Sustituye un carcter
% Sustituye un grupo de caracteres
Por ejemplo si quiere obtener una lista de clientes cuyo primer o segundo nombre
sea Jose:
SELECT NomCliente
FROM Cliente
WHERE NomCliente LIKE %JOSE%
Apl i c ac i ones Cl i ent e-Ser vi dor e I nt er net c on Vi sual Fox Pr o, SQL Ser ver y ASP
33
Agrupando resultados
Otra de las operaciones frecuentes corresponde a las agrupar, por ejemplo se desea
obtener la cantidad de facturas emitidas en cada mes.
La orden:
SELECT COUNT(IdFactura) FROM Factura
Muestra el total de facturas emitidas.
si se desea el total por grupo, hay que identificar primero el campo por el cual se
desea agrupar y despues implementarlo con ayuda de la clasula GROUP BY:
SELECT CMONTH(Fecha), COUNT(IdFactura)
FROM Factura GROUP BY 1
J Cuando se generan expresiones, Visual FoxPro asigna un nombre a cada columna, podemos
asignarle uno apropiado usando la clasula AS.
La solucin anterior quedaria mejor:
SELECT MONTH(Fecha) AS nMes,
CMONTH(Fecha) AS Mes,
COUNT(IdFactura) AS Facturas
FROM Factura
GROUP BY 2
ORDER BY 1
J En www.LibrosDigitales.NET, hallar un guia completa de programacin en SQL
Apl i c ac i ones Cl i ent e-Ser vi dor e I nt er net c on Vi sual Fox Pr o, SQL Ser ver y ASP
34
Obtencin de resultados a travs de Vistas
Las vistas a diferencias de las tablas no contienen datos, sino que al utilizarla
muestra los datos existentes en las tablas. Por lo tanto, los cambios en la
informacin de las tablas aparecen reflejados en la vista. El tipo de vista ms
sencillo selecciona las filas y las columnas de una sola tabla. Se puede construir
una vista para una sola tabla con el fin de reducir el nmero de columnas que se
muestran, o utilizar una vista para restringir el acceso de los usuarios a la
informacin de ciertas columnas. Tambin se puede crear una vista que muestre
slo las filas que cumplen un criterio de seleccin.
Las vistas pueden crearse mediante el mandato CREATE VIEW. La sintaxis de este
mandato es:
CREATE VIEW <nombre vista>
AS <sentencia SELECT>
Podemos crear una vista a partir de la tabla Articulo considerando solo los campos
nombre del articulo y stock, ordenado alfabticamente y stock distinto a cero:
CREATE VIEW ResArt AS
SELECT NomArticulo, Stock
FROM Articulo
ORDER BY NomArticulo
WHERE Stock <> 0
Las vistas cuando son creadas se guardan como un elemento mas de la Base de
Datos, puede veficar:
MODIFY DATABASE
Puede usar cualquiera de las formas siguientes para inspeccionar el resultado
generado por la vista ResArt:
USE PCVentas!ResArt OPEN DATABASE PCVentas
BROWSE SELECT * FROM ResArt
Para borrar una vista use la orden DROP VIEW:
DROP VIEW miVista
Apl i c ac i ones Cl i ent e-Ser vi dor e I nt er net c on Vi sual Fox Pr o, SQL Ser ver y ASP
35
El Diseador de Vistas
El diseo de una vista puede hacerse complicado si la seleccin de campos es a
partir de multiples tablas. Lo interesante de Visual FoxPro es que para este tipo de
casos aporta con un Diseador donde solo tendr que usar el mouse, internamente
se estar generando el codigo SQL.
Tal como se vi en la pagina anterior las vistas se almacenan como un elemento
mas de la Base de Datos. Por tanto podr utilizarlos como un objeto mas en el
entorno de programacin.
Puede crear dos tipos de vistas:
Vistas Locales
Las Vistas Locales se generan a partir de una Base de Datos de Visual FoxPro.
Vistas Remotas
Las Vistas Remotas se generan a partir de una fuente de datos externa, por
ejemplo una Base de Datos Access, SQL Server, Oracle u otra.
Las vistas permitirn:
Seleccionar los campos necesarios
Agrupar o condicionar el resultado
Y lo mas importante: puede usarse como un medio para actualizar las tablas
Todos estos puntos analizaremos a continuacion.
Apl i c ac i ones Cl i ent e-Ser vi dor e I nt er net c on Vi sual Fox Pr o, SQL Ser ver y ASP
36
Vistas Locales
Vamos a plantear el siguiente problema: Se necesita averiguar el IGV
correspondiente a cada mes.
1. Iniciamos el diseo de la vista haciendo Click derecho sobre el Diseador de
Base de Datos y eligiendo la opcion Nueva Vista Local
2. A continuacin se muestre un dialogo para la seleccion de tablas, necesitamos
las tablas Factura y Detalle.
3. Ahora hay que seleccionar los campos necesarios:
MONTH(Factura.Fecha) AS Mes
Detalle.PreVentas*Detalle.Cantidad*0.18 AS IGV
Si se tratara de simples campos bastaria ubicarlos en la lista de Campos
disponibles y trasladarlos a la lista de Campos seleccionados mediante el boton
Agregar.
Cuando se trate de campos calculados como es el caso del Mes, constryalos en
el cuadro de texto Funciones y Expresiones que se encuentra debajo de la lista
de Campos disponibles.
Apl i c ac i ones Cl i ent e-Ser vi dor e I nt er net c on Vi sual Fox Pr o, SQL Ser ver y ASP
37
Hay expresiones mucho mas complejas, que requieren de mayor espacio, en
ese caso pulse el botn de tres puntos, le llevar al dilogo Funciones y
Expresiones.
Podemos ver un previo del resultado haciendo click derecho y eligiendo la
opcion Ejecutar.
Apl i c ac i ones Cl i ent e-Ser vi dor e I nt er net c on Vi sual Fox Pr o, SQL Ser ver y ASP
38
4. Puede verse en la ventana examinar que falta agrupar los datos por la columna
Mes y al mismo tiempo sumar el contenido de la columna IGV.
Vaya a la pagina Agrupar por y traslade el campo Mes de la lista Campos
disponibles a la lista Campos agrupados.
5. Hay un cambio mas que se debe realizar, vaya a la pagina Campos, y corrija la
especificacion de los campos Mes e IGV y agregue el campo nMes:
MONTH(Factura.Fecha) AS nMes
CMONTH(Factura.Fecha) AS Mes
SUM(Detalle.PreVenta*Detalle.Cantidad*0.18) AS IGV
Finalmente ejecute.
6. Como ver el orden no es el adecuado, se ha efectuado segn la columna Mes
(alfabtico), para corregir el resultado vaya a la pagina Ordenar por y traslade
el campo nMes de la lista Campos seleccionados a la lista de Criterio de
ordenacin.
7. Obtenida la solucion grabe la vista con el nombre IGVMensual pulsando Ctrl-W.
Si desea calcular el IGV del ao, bastar que desde la Ventana de comandos anote:
USE PCVentas!IGVMensual
SUM IGV TO IGVTotal
? IGVTotal
J Obtenga la segunda entrega de ste libro en www.LibrosDigitales.NET, se discutir la integracin de
las Vistas en el modo de programacin para efectuar consultas y actualizaciones.
Apl i c ac i ones Cl i ent e-Ser vi dor e I nt er net c on Vi sual Fox Pr o, SQL Ser ver y ASP
39
Vistas parametrizadas
Las ventajas de una vista parametrizada son:
Que es posible reutilizar una vista
Se minimiza el resultado de acuerdo a una condicin
Mejora el rendimiento de la aplicacin
Para parametrizar la vista VenVentas, debemos crear primero un parmetro de
vista.
1. Dirjase al men Consulta, y seleccione la opcin Parametros de Vista.
2. En el dilogo Parametros de Vista, anote el nombre de un parmetro, en
nuestro caso: nMes, luego seale el tipo: Numerico.
3. Finalmente haga click en Aceptar
Usando el parmetro:
1. Ubique en la vista la pagina Filtro y realice el cambio:
MONTH(FacDet.Fecha) = ?nMes
J El simbolo de interrogacin debe estar junto al parmetro, el dejar un espacio en blanco ocasionar
un error.
Si ejecuta la vista desde el Diseador de Vistas, le mostrar un dilogo solicitndole
el ingreso de una valor numrico para nMes.
La otra forma de ejecucin es:
nMes = 11
USE PCVentas!VenVentas
BROWSE
J Siendo sta ltima adecuada para ser usada en el modo de programacin.
Apl i c ac i ones Cl i ent e-Ser vi dor e I nt er net c on Vi sual Fox Pr o, SQL Ser ver y ASP
40
Actualizacin de tablas a travs de Vistas
Podemos crear vistas para realizar operaciones de actualizacin en tablas. Las
condiciones son las siguientes:
En la selccin de campos debe incluir el campo llave de la tabla
Debe indicar que campos presentarn la propiedad de ser actualizables
No olvidar sealar la casilla Enviar actualizaciones SQL.
Por ejemplo, podemos crear una vista parametrizada a partir de la tabla Cliente,
para actualizar la direccion, el telefono y email.
Realizamos las siguientes tareas en el Diseador de Vistas:
Tablas Cliente
Campos Cliente.IdCliente
Cliente.NomCliente
Cliente.DirCliente
Cliente.TelCliente
Cliente.Email
Condicion Cliente.IdCliente = ?codCiente
Ahora especificamos las propiedades de actualizacin en Criterios de Actualizacin:
Sealamos el campo llave: IdCliente, vea la columna con la figura de la llave
Marcamos los campos actualizables: DirCliente, TelCliente y Email, en la
columna con la figura del lpiz
Sealamos la casilla Enviar actualizacion SQL.
Apl i c ac i ones Cl i ent e-Ser vi dor e I nt er net c on Vi sual Fox Pr o, SQL Ser ver y ASP
41
Para realizar una prueba, puede ejecutar:
codCliente = "C0023"
USE PCVentas!vCliente
EDIT
Realice algunos cambios, luego pulse Ctrl-W. Para actualizar la tabla deber cerrar
la vista, mediante el uso de:
SELECT vCliente
USE
J Puede actualizar la tabla sin cerrar la tabla, usando la funcin:
SELECT vCliente
TABLEUPDATE()
Apl i c ac i ones Cl i ent e-Ser vi dor e I nt er net c on Vi sual Fox Pr o, SQL Ser ver y ASP
42
Consultas
A diferencias de las vistas, las consultas:
No actualizan las tablas origen.
Puede especificar diferentes destinos para la salida.
Representa una herramienta sencilla y simple para obtener consolidados
inmediatos.
El Diseador de Consultas es muy parecido al Diseador de Vistas.
Como ejemplo vamos a obtener un Analisis de las ventas mensuales, efectuando
un borrador de lo solicitado tenemos:
Tablas Factura
Detalle
Campos MONTH(Factura.fecha) AS nMes
CMONTH(Factura.fecha) AS Mes
SUM(Detalle.PreVenta*Detalle.Cantidad) AS Total
Ordenar por nMes
Agrupar por nMes
Para iniciar una nueva consulta:
1. Vaya al men Archivo, opcin Nuevo...
2. En el dilogo Nuevo archivo, seale Consulta y haga click en el boton Nuevo.
3. Proceda a efectuar los pasos citados en el borrador.
4. Para analizar el resultado, haga click derecho en el mouse y seleccione en el
men emergente la opcion Ejecutar, por defecto el resultado se mostrar en
una ventana Examinar.
5. Para direccionar la salida hacia un grfico, vaya al men Consulta, opcion
Destino de la consulta. En el dialogo Destino de la consulta, seale Grafico.
Apl i c ac i ones Cl i ent e-Ser vi dor e I nt er net c on Vi sual Fox Pr o, SQL Ser ver y ASP
43
6. A continuacion haga click derecho en el mouse y seleccione en el men
emergente la opcion Ejecutar, entonces se iniciar el Asistente para la
generacin de grficos.
7. El Asistente le pedir que defina los ejes del grfico, as que arrastre el campo
Mes de la lista de Campos disponibles hacia el eje X del grfico, luego arrastre
el campo Total de la lista de Campos disponibles a la lista Serie de datos.
8. El siguiente paso, elija un estilo de grfico
9. Para finalizar haga click en el botn Finalizar.
10. En la ventana Vista preliminar del grfico, puede hacer algunos cambios, por
ejemplo escoger un tipo de letra diferente para los ttulos, cambiar de color las
barras, etc. Para acceder a estos objetos en modo de edicin haga click derecho
sobre el objeto y escoja la opcin Editar o Modificar:
11. Al finalizar el Asistente le pedir un nombre para un archivo, puede llamarlo
VenMensual, entonces se habr creado el archivo VenMensual.SCX
12. Puede abrir el archivo, en modo de edicin, hallar un objeto ole, llamado
oChart.
MODIFY FORM VenMensual
L Si altera los cambios de la tabla Detalle, notar que el grfico del formulario no se actualiza.
Apl i c ac i ones Cl i ent e-Ser vi dor e I nt er net c on Vi sual Fox Pr o, SQL Ser ver y ASP
44
Actualizando el grfico en tiempo de ejecucin
Puede acceder al componente MS-Graph mediante cdigo de programa y hacer que
se actualice automticamente, antes debe tener en cuenta que MS-Graph presenta
una hoja de datos de forma tabular.
Haga doble click en el formulario anteriormente generado y anote el siguiente
cdigo en el evento Init del Formulario.
Objeto: Form1 Proc.: Init
OPEN DATABASE PCVentas
SELECT MONTH(Factura.fecha) AS nmes, ;
CMONTH(Factura.fecha) AS mes,;
SUM(Detalle.preventa*Detalle.cantidad) AS total;
FROM pcventas!factura INNER JOIN pcventas!detalle ;
ON Factura.idfactura = Detalle.idfactura;
GROUP BY 1 ORDER BY 1 INTO CURSOR VenMensual
WITH THISFORM.oChart.object.application
.datasheet.columns("1").delete
.datasheet.columns("2").delete
.datasheet.range("00").value = ""
.datasheet.range("A0").value = "Total"
n = 1
SCAN
.datasheet.range("0"+ALLTRIM(STR(n))).value = Mes
.datasheet.range("A"+ALLTRIM(STR(n))).value = Total
n = n+1
ENDSCAN
.chart.hastitle = .t.
.chart.charttitle.text = "Mi grfico"
ENDWITH
Grabe el Formulario y luego ejecute:
DO FORM VenMensual
J Deje sus preguntas y opiniones en www.LibrosDigitales.NET, luego descargue la nueva edicin de
ste libro.
Apl i c ac i ones Cl i ent e-Ser vi dor e I nt er net c on Vi sual Fox Pr o, SQL Ser ver y ASP
45
Impresin
La parte impresa la podemos solucionar de dos maneras:
Usando el Generador de Informes
A travs de cdigo de programa
El origen de datos
Puede iniciar el diseo de un informe a partir de una tabla o a partir de mltiples
tablas.
Si se trata de una tabla, el diseo del informe es sumamente sencillo.
Si se trata de mltiples tablas, le sugiero resumir los campos y los registros
necesarios mediante el diseo de una vista o cursor.
Puede disear un informe a partir de una tabla, y luego usar el mismo informe con
otra tabla, siempre que especifique en el informe en lugar de alias.campo solo
campo, por ejemplo en lugar de anotar clientes.nombres, anote solo nombres,
ya que la tabla puede variar.
Apl i c ac i ones Cl i ent e-Ser vi dor e I nt er net c on Vi sual Fox Pr o, SQL Ser ver y ASP
46
El Generador de Informes
Informes a partir de una tabla
Vamos a disear un informe sencillo, se tratar de un catlogo de precios.
Inicie el diseo de un informe siguiendo los pasos siguientes:
1. Prepare el origen de datos
Determine que tablas sern necesarias para solucionar el caso, en nuestro caso
se trata de una sola tabla: Articulo
Catlogo de Precios
Codigo Descripcion Precio
99999 XXXXXXXXXXXXXXXXXXXXXXXXXXXX 9999.99
99999 XXXXXXXXXXXXXXXXXXXXXXXXXXXX 9999.99
99999 XXXXXXXXXXXXXXXXXXXXXXXXXXXX 9999.99
99999 XXXXXXXXXXXXXXXXXXXXXXXXXXXX 9999.99
...
...
...
Fecha: dd/mm/aa No Pag. 999
2. Configure la pagina
Inicie el Diseador de Informes, vaya al men Nuevo, opcion Archivo, seale
como tipo de archivo Informe y haga click en el botn Nuevo.
El Diseador de Informes, consta por defecto de tres bandas mviles:
Encabezado de pgina, donde situar el ttulo del informe, los ttulos de
las columnas.
Detalle, donde por lo general se ubica los campos
Pie de pgina, donde ubicar alguna anotacin, la fecha de impresin y el
nmero de pgina.
Hay otras bandas adicional, como la banda Ttulo, la banda Resmen y las
bandas de Grupo, que luego se describirn.
Empiece determinando el formato de papel que se usar en la impresin, vaya
al men Archivo, opcin Configurar pgina.
A la izquierda tiene un previo de la distribucion de los margenes del papel,
puede sealar el margen izquierdo y luego determinar el margen derecho en
base al ancho.
Apl i c ac i ones Cl i ent e-Ser vi dor e I nt er net c on Vi sual Fox Pr o, SQL Ser ver y ASP
47
Para sealar el formato de papel, haga click en el botn Especificar
impresora. El dilogo que se muestra puede variar segn la impresora
seleccionada.
A continuacin fije el alto de cada banda, para mayor precisin puede ayudarse
con la regla gua.
La altura del encabezado y del pie de pagina se determina arrastrando la banda
correspondiente, debe incluir en estas los margenes superior e inferior
respectivamente. La altura que determine en la banda Detalle corresponde al
interlineado.
Una vez configurada la pgina, haga click derecho sobre el Diseador de
Informes y elija en el men emergente la opcin Entorno de Datos.
Diseador de informes
En la ventana Entorno de datos, haga click derecho y agregue la tabla Articulo
mediante la opcion Agregar.
Apl i c ac i ones Cl i ent e-Ser vi dor e I nt er net c on Vi sual Fox Pr o, SQL Ser ver y ASP
48
Barra de herramientas Diseador de Informes
Agrupar datos
Entorno de datos
Barra de herramientas Controles de informes
Barra de herramientas Paleta de colores
Barra de herramientas Distribucin
Barra de herramientas Controles de Informe
Para seleccionar objetos
Para ubicar etiquetas (texto fijo)
Para ubicar campos, variables y expresiones
Para el dibujo de lineas
Para el dibujo de rectangulos
Para dibujar circulos, elipses
Para ubicar imgenes
Bloquea un boton
Barra de herramientas Distribucin
Alinea los bordes izquierdos o derechos
Alinea los bordes inferiores o superiores
Alinea centros verticalmente u horizontalmente
Mismo ancho o mismo alto
Mismo tamao
Centra horizontalmente o verticalmente
Envia al fondo o trae a primer plano
Barra de herramientas Paleta de colores
Color de primer plano (borde)
Color de fondo
Colores
Apl i c ac i ones Cl i ent e-Ser vi dor e I nt er net c on Vi sual Fox Pr o, SQL Ser ver y ASP
49
3. Disee el informe
Para el diseo del informe, dispondr de una barra de herramientas, llamada
Barra de herramientas Diseador de informes, puede habilitarla desde el men
Ver, en caso estuviera oculta.
Una forma rpida de construir el informe es arrastrando los campos de la
ventana Entorno de datos hacia el Diseador de Formularios
Puede ver el aspecto del informe, haciendo click derecho sobre el Diseador de
Informes y eligiendo la opcion Vista preliminar del menu emergente.
Presentacin preliminar
Para colocar los titulos, haga uso del control Etiqueta de la barra de
herramientas Controles de Informe.
Diseando un informe
Apl i c ac i ones Cl i ent e-Ser vi dor e I nt er net c on Vi sual Fox Pr o, SQL Ser ver y ASP
50
Los campos y expresiones situlos en el formulario mediante el control Campo
de la barra de herramientas Controles de Informe.
Por ejemplo para colocar la fecha de impresin, haga uso del control Campo, al
hacer click sobre el Diseador, se mostrar el dilogo Expresion de informe,
en la region Expresion, puede anotar la funcion DATE().
De tratarse de una expresin compleja, puede hacer click en el boton de tres
puntos, le conducir al dialogo Generador de Expresiones.
En el dialogo Generador de Expresiones, tiene acceso a las funciones, las cuales
estn agrupadas en cuatro listas, asi mismo se muestra una lista de los campos
de la tabla situada en el Entorno de datos y una lista con las variables del
sistema y de usuario. Una vez construida la expresion puede validarla mediante
el boton Comprobar.
Para colocar el nmero de pgina siga el mismo procedimiento, seleccione la
variable del sistema _PageNo.
Para situar el logotipo de la empresa, haga uso del control OLE.
Luego indique Archivo en la lista de opciones y mediante el boton de tres
puntos ubique el archivo PCLogo.GIF.
Puede mostrar en el catlogo una imagen de cada articulo, situando un control
OLE en el detalle y asociandolo al campo Foto. Aunque resulta mas sencillo
arrastrar el campo Foto de la ventana Entorno de datos hacia el Diseador de
informes.
Diseando un informe
Puede aplicar un estilo de fuente a uno de los objetos vaya al menu Formato
opcion Fuente.
Puede obtener un impresin de prueba haciendo click derecho y eligiendo la
opcion Imprimir.
Para grabar el diseo use la combinacin Ctrl-W, vamos a llamar al archivo
Precios, se crear entonces el archivo Precios.FRX y Precios.FRT.
Apl i c ac i ones Cl i ent e-Ser vi dor e I nt er net c on Vi sual Fox Pr o, SQL Ser ver y ASP
51
4. Imprima el informe
Para ejecutar el informe puede usar el comando:
REPORT FORM archivo
[PREVIEW / TO PRINT [PROMPT]/ TO FILE archivo]
[alcance] [FOR condicion]
Para imprimir el catlogo de precios de articulos existentes anotara:
REPORT FORM Precios TO PRINT PROMPT FOR Stock > 0
J En quince dias estar disponible la siguiente edicin, para que sea posible te agradeceremos
remitirnos tus inquietudes, aportarnos con ideas y por que no soluciones. De ti depende que este libro
mejore en contenido.
www.LibrosDigitales.NET
Apl i c ac i ones Cl i ent e-Ser vi dor e I nt er net c on Vi sual Fox Pr o, SQL Ser ver y ASP
52
Prxima Entrega
Edicin 1.1
Dentro de una semana
Prohibida la reproduccin total o parcial
Sin nuestro consentimiento
Derechos de copia reservados
www.LibrosDigitales.NET

Вам также может понравиться