visual foxpro sql server y asp - programación multiusuario

97

Click here to load reader

Upload: hmvhmv

Post on 12-Feb-2015

143 views

Category:

Documents


12 download

TRANSCRIPT

Page 1: Visual FoxPro SQL Server y ASP - Programación multiusuario

1

Page 2: Visual FoxPro SQL Server y ASP - Programación multiusuario

Edición 1.0

Prolllbld. l. ' op'oduoclón ' ot.1o p. rdolSin n. ..Uo ""n..nllm l. nto

D.,,,,,llo. d. ""pi. ,.....>do•...... .llbrooDloH. I• • .NET

Page 3: Visual FoxPro SQL Server y ASP - Programación multiusuario

El m ode lo Cliente-Serv ido r

De f in ic ión

Lo '"""olo,¡" CII.." . 8o.. ,do, • • 01 pro_.m~'o """0......0 d. l. 1010rm..,'6nPo< 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 ' ''''6nClI.n' . 8o.. ldo, ""mo un• • 'oull"", u" dl."'bu 'd. oo. pormho • lo. uouorlo.110.1•• oM""or ."""'" • l. Inlo, moolóo on tormo " .noo.. . n' o oun .., . n' orno.muHlpl.,.lo, m• .

En .. mod. 1o ol~'o _ ' ''0', 01 oHon' . 0001. un m"" ooj. ",I'oll.ndo und.'ormlno<lo 00"I0Io • un .." Idor, , ..,. "" .10 u"" °...10. m"" OO¡ • • oon l.,oopu..' • . En un oI" om. dl.., lbu"o <od. miq uln. 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...

I3,,,,,,,,,,CIl""te .~ '''~~.

Modelo r.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<Iu.lI.. oUo ",nm•• "",,"".d• •• ou' ""''''' .. Iool I""• . SI ."0 .. .0011"" '..,' 0 • 011""' •• oomo_ . Ido, •• 00 . ollond. ou. lo lo, m. mÓO 0"1ndor do . pllcación 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",ooIón d. d.'"" ~ ou _ u,ldo<l •In' OG ,ldo<l 00 d. )•• ""'00 d. ""mpu ' o<Io,.. ""n".I• • tipo m.lnl,om o

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" 'oolón r.opocIO d. "".. to,m.. d•• 'oul'"", u' .. O ",Il-..-.,o dl",'buldoo, .. pr...n'. " n. 11.. . d. ""''''' .,Ioll"". QU.doblo,.., oump ll, lo. oI"om• • OI..,I. ,8o..Id""

.¡ S. ....blooo un. , . I. olóo oolro P' '''''''''' dl..lo, o., loo "".... puod"" $O '

ojoou'""o, "" '. ml. m. miqu lno °"" miou lo" dll.."",.. dl."'bu 'd• • • lolorgo 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. 01100' '', ' OGul..,do ou ."""'" • ' oou' ''' oomp. ,lIdo.

Page 4: Visual FoxPro SQL Server y ASP - Programación multiusuario

" 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..) 1monanl.."o par . ,. pot lclóo y . nnoo. O••ollo"uo• • d. _ . 0010

" lo. plat .fo,m.. d. ",,11.". Y h.ld.ar. onu. oIl.n'" y ....Ido' • • annlod.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• ...,.Iabllldad t . nto ho, l..,n'" oomo ••1I 1oa1 •• "I" loabl• •"" .10" '.' aI".m. C1lont.s...ldor. lo . """,.1>1I10.d ho,l..,n•• 1p. ,mh••g' OO"m" ..I.d on.. O. U'''.lo . "'1. .. al" . 1• ." ., algnlll",,'I..m"" I••1,,,,,dlmlonto.l ••"",, 'ab llldad U""I po, mHo mojo,., l•• ""'."'0<101,," dol ....Ido' o. grogar m ~" 'p l ldo' ••

Page 5: Visual FoxPro SQL Server y ASP - Programación multiusuario

<I,'

..•• >'"

~,j••

o,.," '-

"o">"s,•-o•<3o•" oa•"••­ ,•oo" ,8

<llI~S~~

.!!,o,

",

•'1"

'~

a~

~<;L~

~~~.~

••

es:

'~

¡;H

¡¡'~j

•',".=...,.~

e;

OL

Q"=,,:

.g.e1

Sh

E:!!~"

.!!..~i!

;•

•ll¡¡

.l!~

•.e

a-

:E-

e",

.E

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

..¡¡8~·¡¡.k

""'.

"S"

'1

"••

'-,,-

, c..",,~~~

.5..

¡¡~~

;¡"

'¡"E"

..."

O,;;,L"-;~

11o

'""

"L

iS.

ll~

ii¡¡

¡¡~

¡¡'g~

EL

si

L.

:!.o~~8

-l!5:hL

~.-.>

"

•'

,"

....~.

:l1a

..,••~:¡

~~"

.~

e~

~

o"•'1"

:!!:

.2;;

;;11

~~¡¡

.,,"

,.~

ilJ!::¡

¡¡'·h.,

E.!i

!K,;¡¡~··¡¡

¡¡~-~I·

.e-sO

§2

~H

h'·.~f.';;'i

-:¡:.!!

'5-

..É

"3

e'O

E.,,

:••

•_

...!!"o

'=".

"'lil

...'ll

~:¡;

-.!!:!l;:!!

"l

Elo

!:"",,

o'

"~,,ol

e&p

¡P~

c8.

liE:~"H

.8

....

~.!

E,

E..

¡lil·"E

'"¡¡;.!

&....

"<

•••"

".2

<>

ti¡l01

,8

E"

..

dii

-0'1

''o

:;§

8..

'tiL

•."

"H.¡¡

..liE

""ll.~

§i'i'll-"

'0

"L

<>

-;:..

"¡~

.!.....,1f'E

n"

·QU

qe­

'",

-..;;

¡¡

"..

",!

."~

:oll;

".'~

-,

"¡~"!

'll;',"

-"

"0

":0

_=

~....E

ol:.5

".

t¡,t~~,1•aii,;:;,,~o

,

t¡•1!i1,1•ai,

,t1¡h¡¡~

••••.,~j

'o-.,i~,.-..' ,," ]~«",

,<

,",1o<

•o

:i~

,

,I•iI,1•1•ai,

...,~;

;jh" ••

.0

,o

..•E·,·,0 0

s.,

~

ao

o•

• '"

1i

"<

H,

-"~..

q,

-.svs~.!!],..1" ..".H¡'c.·,,...,..2

EL

'.."llH',. ..L¡¡..1l1'::;,

•eo

:U"

¡¡o

.;;

~..

ee

ee

a~~~~~

i~~

:;;€'~

i'~

i!i

,,_ti"

~"IiO

...."'.

S.g~,,"

¡¡­

~¡¡=-"

,>-s

oC1'

~¡¡-!

~0

-'

--..0-

,,,

,l!E

liOL

~E

E::

..

a~

-"El

o<,

-¡¡-S<

i-,,!;-""-" E~o

~.::s

sss

s"

o~

..8...

"llo

_.

O.ll

.."ll-'

1'!1

~,

~."l!::L

_,

~•

.l!.!!

"--

..~;

o,'

:-...

...

.'0"..-

.."..

--g

."

'"_

..

_,

L

o...

...,.

"..

.!!~

•.!l~

'"'

!o

-!l

ae

,...

IIJ"E

ll.¡;,~

•~•,s• ,,•i"1•1••,•,t';.."

j,!¡~~

ae..•

•·..·

..s

sj

.~

~a

>-

.'Oii~

~..,

¡..

~3

H·-,·'

·..,-

"'."E·

~-"::

!'!

~gt!n

.!!iF"

O'~

L:

o..

L_

E;§~I:¡¡E

~h

~:f

""""""

Page 6: Visual FoxPro SQL Server y ASP - Programación multiusuario

So " ldo,

E< ~ P'''''''''' . ",,",gado o•••"" . ... . mol lt lpl 1.0' •• QU. n. oon ~loIoo.. d.algilo ". "u, .., . dmlol.. ,ado fIO' "l . Al P'''''''''' ldo' .. lo """""" """ ~ " ,minob_ _. od . 8 ..,.ldo, "",m a lm",,' . ma n.ja ' 0<1 .. 1.. tunolon.. '~aolonad•• ",o lama, o, 1o d. 1.. '''Il ''' d. 10"lloolo 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""to. d. b.... o. d••"".

.,. Format ... dato. p. ra "."","'rlo. a lo. """",,,..,. 1'1...,..., la 1110100. o. ,. ""lIoooM n y , ••11 , .. ..lIdaolon... n" . 1 d. b.... d.dat o.

En '" d.tlolol6o m" ~mpl._ mladl•••,• • • '. InI. rl", qu. p,o. .. '. "'o_ "ad...". ",, 11000100" oI l.n' " y a pllc:aolon.. ..,.ldo,.., Y"""••plloaolon.. y b o.d. ' "". Eo una """. d• ..,11 . ... qu a p,o t"ll•• ,,,,, d. ... 'o ll. do' •• d. t .n qu.ma n. J.' o.'all•• d. bolo nl, oI d. dll. r. ",•• 1>'0'''''''0' d. "'m unloaol6n . • 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.

Page 7: Visual FoxPro SQL Server y ASP - Programación multiusuario

~Icaclon.. 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....

Cao• d. N. goolo .

La oop. o. 1... Rog I.. d. Nog<>Olo 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• • olloaclón, • •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. neror un ,. ... It odo

© Lo__..__""01_ O"" 01 """""..... origon . 100 _'_ 00_.

Page 8: Visual FoxPro SQL Server y ASP - Programación multiusuario

Cla sif icac ión de m odelos Client e-Serv ido 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,oooo or, o,omociouo, ~ 1'''0' o oobo ~uol""..d..... '11'0, • • 11-0" • coo""", lo .,qul' _ u'. d..... mod. lo ~ lo. coo _ 'o. oId... _ odo. . 1 mlom o W. 0111 d. OII'.od. , \o< comp"",",,' . ,oIl.o, .lm1ó<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<1 10' 100' ~' ' '''100100'' . "" 00 d. lo. ...u' o< ~ 'OClu.,lml. o' o. d. lo!o,m oolóo qu...ob'u"I. ,oo . o lo . ,.". d. ooollol. d. uo d" . ,mlo. do p'o~ooto_ O. noooo 01 ..,.1101.o licI. , d.b. , 6 COOO<*' . " 0' o,oo/ ,.",k:oioo• • dol nogOOo po,., • 0."1' d••111,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...., ' .m Ollo. d. '-oW'o<, ' .m. no d. b.... d. d. ' o<, "' Imooloo• • dol" 111eo d. ,od, dl.. , lbuolóo g_,111oo '0111 0 d. lo< o",'''''''' oomo loo d. 'o" . ' 0

lM1 . d. l•• milo oomu n• • ~ dl_ ' ld• • dl.. looloo• • • otr. ~. dll. , ,,,, ' .' .,qult_ u, • •OI.o,.s..."ldof " b...o "" lo Id.. d. ol.no. (' Ior), l. "" . 1•• uoo "o,looIóo ..,..,.lo dMolóo 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• ." llooolóu ..,io . olg ootl• • , ~ "" qu. o,,,,,,,,olóu,'.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, lógl"" d.u-ooolo< y lo. do' o< oompo" k1o<, 00<1. uno d. lo. "" co"..pood• • uu pla noO. utro d..... oo'ogo,1o ' . nomo. 1.. ' Plloooloo 0 do< 01000< ('" o-' Ior), tr ••pIOllO. (l h,.._'lor) I mul' l pla no. (m uRI_'IM)

Cliente -Serv idor Do s Planos

Eot. "" uolu'." 00' . 01. ,1.. PO' l. coo• • lóo dl, OQto . 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 lógloo d. u-ooolo. .. ou"''''' ' ooor . tu • • , do. " OO'dl.. lolo. d,",,"o do .ot.miom a oo'ogOfIo'

"' """,,

,...-~ " ","~,,

,-' .,_...,..."'", -'.'---'"~ " ' - ••,

" "". v.."... "."",

Page 9: Visual FoxPro SQL Server y ASP - Programación multiusuario

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 .. o••u. Ko PO' l. ,od, noImport. noo ol so. uno , 01..., oI. n ° mil ' 011 1" ' ° ' . Es .. ml. mo 011• • ' . ouloo d. b<opro,,,,,", '<><loa 1.. ' 011 1"'°' ou. l. Iu",on d,""u. Ko. PO' .. .... Ido' o. b. .. o.d. ,o. , wg ~" .1 ' .o , ",lm loolo ou. ól ml.mo hizo Esto ha"" ou. .... ' Ipo o."',uolu' . .. adoou. a lo. '"'Iu.,lmla. ' .. d••pllooclon.. . ,1001 . 0" • loa . I" . m..d• • p.,o Y g..lIó. , PO' o '.su ~ .n 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 . 1p,og,. m.o., Hploom . nl. m• • ojo un ~" I", .m blon' . d. 0...".11. l " móSoIm pla 'OOP'""' o d. Cl lonl._ So,. lo., . " " •• pl.no., pu. " o ou. ,oduoo "n o oop.ao. p,og, . m.oIón, ",mo .. . . ,ó mis 0001001 . ).

O... . n..j..·

" Lo g..n oo.' ldoO o. lnlo,m . oIó" ou• • I.jo" oIlan' . ",ng••Uo" . d.m..lado . 1" óll", o. ,od , lo ou. " lIadu"" . n bojo , ."dlm l.n' • .

" f'<H' su bajo ' . ndlml. "'o ... . "" uOl u' . '1."."" bajo OOP'""" o d• ..,1100016",11mlló nd. .. . la ",oo""",,,ó. o. oI" . m• • no ", 1' 1",.

Im pl. m. nl . d. oo. P, oo. olm I. n' o. Al moo• • a oo.

o • •

_.. -u .~"

•<""",.....

". "-<"",,,.-

,",,00" _ ."" , -". o• •

En . ... _ u.m oIl.n' • •",10 lla mad.. a ' ""010".' o' . ,..Id. " 00 la b. .. o.d. ,o. , y oul. n ,.....1• • ~ P'''''''' ' l. ' 0..1;000 o. 1.. In. " """'o• • • SOlog' upad• • on lo mooolon. oa ' "" oIó".

Page 10: Visual FoxPro SQL Server y ASP - Programación multiusuario

" Pr...n', ,.. ml.m.. von' oj.. d. "n o .,qui' "", "" oo. pl. no. oonp, O<*Ilml. " o. oImononado• . PO' O m' Jo" oon"". ...blomonl••1 ,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 .. .. dlom lnulOa , .. pl. ,d. II., iblllda d y• ..,.I. blllOad .n 1.. oolucion.. Impl.n••o.. (_""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,>Ilooclón on SOl . , ..ndlOo, propino d. 1p,ov.odo, dolo ba.. 00 d. ,o. qu... .MIJo. Doblo,. oo n~do'., .. q" . ~ blon lo.p,O<*Ilm lon•.,. OIm ooona.<lno ("0'00 p, O<*Iu, • •), loo d...n""'. n. n' "(HigO" ' ) y las ,ogl • • (oon."olnl)..,n ~Ulo'. • n , Ioor..,n ol.no. al , ,, ónd. , do,~

El Iong uoj. paro lo do"" lpelón do lo. p,O<*IlmlOnlno .Im.,,"oo& • •p' oboblomon•• '" funolonolldod • .,10 d. un p,ovoodo,. "''o. Lo Quo lmpllooqua 1.,. p'onod lm l.n.o••Im. _.oo. no oon .", . Im on' o " fI'I" obl.. on"oplatofo,m • • o. ol..ln. o. p,,,,, oodo,• •

So pl. ,d . l. Inoop' nd. nol. onlro .1 <>6<llgo 00 l• .."lloocl"'" (oonnol mlonlo y,ogl • • do! nognol0l y lo. 00'0'

Page 11: Visual FoxPro SQL Server y ASP - Programación multiusuario

~~

••_. ,o

o'

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

,"il~

, ,., ..­ .., "~'"

•• ,

• -. ~~ •• ·' •• ·,

• o -o • ~ - < ~ o " - • o -e • o o o-o

-a

sea

l'-

~f[·

....

¡:­

ª;

.gf!

!~".

~••

"-!l

18.~·

=.-~

.o

.-

H~

i;

¡H.5

~...H

3~

!i"~=-~

"."

~,..

~.;

ai'll

.',.­

.. ,•

8'

-,,::,,~

H¡:"¡

~0

0'

o•

•,~5'~

'.

~__

""...

-;~

!.I

~~~

~

'o', .'

¡¡,,,-"-~

••

•¡

3,,

-"•¡-

¡•

;'o,,

1t .'.~•e

i!;

i::

H o•

~~

•'. ~.. •• "

•• l' r •- !I-t-

'ií~~

~~~

",,,,

-­o

" as 'o -. "•

> ~z

· ·.' •-g~ "~:

••

•e

o.

o' .. ". • ¡ • •

o l

." '. ¡;;:l

o,. 2"6

}ae

e ,,. _5"

3<

ti:.

.'"~

!.

.<>~"­

lO-'"~

~i'­~o!

P'

.:.

...::

3;

8.~

B=

1,-.

~;~

8<'fa

~n

••• r'

3

·"•o

p,; .., ·-­ d:8- '$;;

'.' ,. ¡¡ ,, ..

~ , ,, '! ¡¡¡ ;!. ·, H ...; ,- "',, •• -. ¡, ,, o_ .' ., ., •• ~~ ,. .. -o

•• ,, .'o, ••

11. e; ~~a ~ e

,

• ; ¡, f I • e I

H -. ,. • ,. ,. .' !! ;! 'o ,- ~i :...,

eae

" U~

-,

og

..", .,. ., .

" ~.

o, " "-e-¡ ., ~; ., o·

o. .-

,t~ -. ., o " " """ea '. o' ".. •• !¡ ¡, ., :~ ~i

¡~ !i ",o .. •• ! • i , •

, ,, H ,o

o' " "••

,­ ·, .. ¡'~ aa ,o ~~ -, ~~- ,- ",o "•o .' "·- •• ·- ;'E' .- 8• ,. .',. "o .. "¡

Page 12: Visual FoxPro SQL Server y ASP - Programación multiusuario

" 8 mlomo 0.<1>0 d. lo0oi1..., l• • '00'" d. 1 oOOoolo on ... o,oplo . mbl.o•• , . 0• • • d. dl."lb"" Io••n l. o.pa d. lo' . ,!" d. " ....'10 . p..ml'o ,"'"<:1, 01 Imo. "'odo n.,,,,, m.ot .n lm l.o.o, oomblo. ",gon' " d. ul.lm. ho,. ° m. Jo,,, .1ol"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 ""m o. ,o<:Ión """ 01.0" Servido, do. p'.no.

" & I" .n pooo. p,o.udo,.. d. h." .mlon' " 10'00''''''' do . o.."ollo <:00,olación .1 mod.lo Cllon,._ Se,. ldo, do. pla no>, , no, m. lmoOl. "'" d••1' 0

- "," O.bldo ...... d... . n' . j.. o• • qul l. m. , o, Impo" oo<:l. dol Goo.,.dor

(.plleoolón ",ud••n 01 pr . ..o•• "ob.jo)

Page 13: Visual FoxPro SQL Server y ASP - Programación multiusuario

"pllc.clonu C11..,o-8anrldo, o ln1o'n," con VIIUII Fo.Pro. SOl S.nrll y "'SP

1m plem entando Clien te- Servido r

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 ' ..,.m l""...0'°01"'. por. Imol""' '''''.' ClI"" I. 1"1 .llc""'". En VI'ul lFo, Pro .. olopoo. 00 unl ......."",. d""omlnldo Upolzlnc modl. "' . " ""alpód. mo. mlc ' " unl ap llcooló" l.IoM1Il1oo • C11• • ," 1"' ''lc o" ' ., oU'IOI. ..p,ooed lmlen lo " Con.. . n VI.... Rom o' ... 0 0 to,m. oIm ll. , .11. VI l"","." ..olopo"o 00 un Ol.."odo, pll . Vi.... Rom"... , modl."'" .. cu.1b ooo...n unOSN pód.mo. ooood... """ Ioul.. _ 00 0 .10', , . ... PO'" """ ,,"1", ° '1111..,. ", oollzoolooo.

1)""00 . 1P.." I " .... 00 Sal

B P.." I " . ... • • II " "".01 1.. o'" l. ooluoloo O. s..-, Ido, 1","lIc ""'"bllO"do.. on un OSN , pód"", ,,," 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 Ib 00 0010' 00 " Qul' '''''u," . blo". , do "" modo 01' ''''''', P'" ' .n'o . upono unmooo m.. ,tploo y . ..u,o.

TOd• • l• • 1000100• • ",",10,.... d. lallOlto I con' l" uooidn

©En ................. _ ... _ _ ,..._ ____... 10__"'__

Page 14: Visual FoxPro SQL Server y ASP - Programación multiusuario

1m plem entando Cl iente I nt e li 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 IImH odo d. " ....,10. Y M ohe.m.yo< _ u,ldad • lo. d. ' ..

Pot. Im pl. montar ClI.n' .So.. ldo< . ".o u.. I, ' un .... Ido' ba<.do . o WlndO'" NTSo..... " n otimlnl..,. do< d. B. .. d. O. ,.. P" . al So.. ldo, ""m o SOL SoIY.r . 8ClI.n'. puod. . ... , b. tado . 0 alO' o. . .. oIóo d. Wlndo.. . .

Impl"", . n' ., una opllcaclón ClI.n,.s... ldo, . "' POO . ",OOf l. 80.. d. 0 . ' 0' "" alSor.. ld o<, "' . bl_ , l. """. ' 160 d..d . al ell.o' . 1 d. ... 'o ll. ' al p' og' .m. . ..'"t odo "" l• • I'C ell.n' .

VIou . 1 Fo. F'<o In,," , . "o. n.. ,orn i""'. modl..,'. l. ",,01 P"" . mlg,., un••~Iooclóo d. ,,",11 0, 10 . 1 .."o,no el l",,' .-So...ldo,. ,al prooodlm l.o' o .. ""O""""" mo Upolzlno . SOL Sorv.. . Uodl"" ..... p,ooodimloo' o " cllm.n'... mio'· l.80.. d. O.... al S... ldor, l• • Vi.. . . ~Iao ou'omotioomon' . ,. ""n''''''' n . nVI" a< r.mo' • • , . ti ml. mo po< oad. " n. d. l•• ' . bla< • • 0. 0. " 0 VI" a< Flomot••

lM1 • ..,lloooióo op' lm. el,.." . ·Sot.ido, auoon...mini."., ""id>do,"", ,,,,' • •1Ir. ll"" d. "",,",o . 1SoIY ldo, d. modo ou. " ... n. l. ""no."l<Io, n_o al~zl no

al 010"1.." . p' ooodlml. n'o .... l. d. optlmlzor l••pliooclóo• • n . Iouoo. <:üO',..mpl. , . ndo al . OCHO • lo. d.,o. modi.." . Vi.... ' ,,,,,0'" po, 0"0' m" odo.m" óp' lmo. ""m o al Po.., • " . . .. d. SOLo • Ir• • • • d. OLEDB.

t© El .... do - - on .. -., do ""'- """"""" _ 01 _ do "-""..... -1"""""*"',no __ .... .....- __

Page 15: Visual FoxPro SQL Server y ASP - Programación multiusuario

Prepa rando el Servidor

Pata ,. 001,a, ac'. ' ..ao n_.... '. " ....,.." . d• ..",.... a l ...... ldo, "'lOOM mlnl",otIo" PO' ,uonac dld. "'loac ml'omoo qu. 01 Mm l"I..,otIo, 1I. na PO'Id d. lololo d. ....ón .... , OIn "'ntr ~.

En 01 Sa.. I" o' .. d.b. ,. ..,. .. 01 . 'P. " o ~a'. lo. obl. ' oo " . la Baa. d. 0 . 10.Est••spado .. lIa m. OI'Po. ltl.o, ~o, oad. 80.. d. Oatoo .. ",ao,. do.dlspo..tI.oo '

.¡ O I.~oa l 'l. o d. B... d. Oa t o. . .. un a ' oI1 I. o ",n l• .,t.n. lón MOF, ",ot l.n.lac labl• • d. d.,o., . 1...., ~'O<*I lm I. n' o. oIm"""norlo. , " . .."oad. n. n..., oto

.¡ DI.po . I' I.o pOl••1 R. gl. "o d. T' ....ooloo .. , ••mblóo .. un . ' oI1 lv o ",nl• • " .nolén lO F, oqul $O gu.,d. lo. ""m bloo q, ... ,aollzo . " uno 80.. " .D.to. d. m. n.,. , u' om11 100

V• • moo " p,onodlml.n'o P' " ",• • , lo. OlspMlt I.o.'

, SOl _ . .. , In"" po,. un. n.. ,. ml.nta " . .... lnl..,ooIón 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 bolón d.,ool'Io " . 1mou.....b, . l. "P otón 80.. .. d. O.to. y . 111'l. opcióo Nu"'" B... d. O.to•.

-. y~ 1..;. "'" - 1rtl lE '" ,. m¡j4- s- J.ll o 1! ca

...J R""" ~ """"'">; 9 , _"""', M"",,""'L"'_

~ \J ""- s..... ""'"B->lj H>l"lr "".-. "' 1., ..;..mr=

" U D."' u ~"' W So· ,U " _.

III lJj Il r_.~_. -

(jj [jj (jj'-~ -Iil IJ

Page 16: Visual FoxPro SQL Server y ASP - Programación multiusuario

"pIlC.ClooU C11..10-8anrldo, o 1010'0," coo VIOUOI Fo.Pro. SOl S.nrll y ASP

•. .ulg oo u" nombro o lo BISO do 00100. por olomplo .. ,PCVII'I' ' ', ..1 ml"",oIM louo u" to moM poro el 01_"""' 0. PO' oJomplo ' Q Mb

"'n' I !_~'~ ",1 ~(jI "- f':':'~ -~,.~~ ..,,.-- I ,. ;';'; ,...,," ...~' .,..

"•

, . "",~~" ...~,~._ ...F. "... ,,,~ ..""r • ••.""" r-j .,-,, ~, '"

.-.,..- p-j r Jlo~".,.""",! r-j

I , I ,.... I - I

~. En 01 ml"",o dlolo,¡o O" lo poolno Roo I" ,o do T,..,..ook>n... oSPOO¡llouo 01'omo~o . ouo dobe oo, ""lro el 2S o JO'" del 10moM del OlspooW..o do B. .. do0 ' 100, on " 0"" 0 """" " M O3 l.lb

,.-." , ~ ,'

..•

'" " 'M

,=j

I ....'

,,, ,... - ..,-t , ,._ ...,~ " ,,"'"

,. "~~.. ;=====" ,,,",,,~....:",' ­r~__...

Page 17: Visual FoxPro SQL Server y ASP - Programación multiusuario

Un• • • , quo pul.. ~ botón Aoopt., $O " abrá "'....0 lo• .,""Ivo, """_0010"'"p.'• •"0' dlopoli tlvo.

© E1 _" 1o B... .. """"'_.-....- _ _ .. 01 _ " un .... .. _10_"""""'...-. .. ... 01 on .._"_..... " ~........ ~ ""',... .. on _ ooo__

Page 18: Visual FoxPro SQL Server y ASP - Programación multiusuario

Preparando e l Clien te

Pr.".,ar ~ e H",, " ""l'<In. p,."... , l. Apll<:ooM n. Tom••• "".n', ,.. ~g ul.o'"

"" n ~d" '''on.oo

-/ Lo "" ndlclón 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<:lón • mlg,.. , """ ..".,od• • ' d. .."ollod. 00 . 1 IIbr. FIlM . m'MO' d.p,og,.m."óo . 0 VI""oI Fod 'ro, l. ouol 1"00100' po-r1OO1 omOO I' .0 uoo ,"" d.,oou roo. "" mp.,"d • • Wlndowoo

,...."'- "'." """' '" GbSOSl

'. ,

'... ,IDO'""'"1

" 00

~© Sl "_"'-_' '''_ '''' _ ''''''''''' '_ ''-_ '~I- .-....- .._--_.-.

Page 19: Visual FoxPro SQL Server y ASP - Programación multiusuario

A.plle.clon.. C1lanl.-&a..ldo•• lnl.,ne! con Vl.u.l Fo....o. sal s...., J A.$P

Estableciendo la conex ión al Serv ido r

p", . """'.r • on. 1"",,' . d. d.to••,t .rn. pod"", .,. u'" OOBC o .~ún

oon"olado , lnt..no (OLEDB)

Wlndo" • • '0' • • d. un oonJonto d. oon"olado , •• mOd I.nl. lo. cual.. pod. mo•• """"... ' o. nI .. d. dot.. 10rón... d. lIpo roloolonal . ~. oo. par. "", u. lI..oI6n Ooonault., oporool6n qu. .. ,..lizo d..d . 01 Admlnl.. rodn, OOBo.

8 . ,nood lm l",, 'o oonal....n "' ••, on OSN (0. , . Sou'''' N.m.) " Orlg. n d. Doto.

, DI,~... al Pon. 1d. Con"ol ~ " . g. dob'. <:Ilnk . n oI lc:ono ODBC J2 ~t.

,,"Od. or... " .. t ipo. o. OSN:

-/ OSN d. uau.'Io. podr ó .., 000<10 ..,10 ~M 01 "."arlo q". 1o ",06-/ OSN d••I.. . 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 d••I" . m.

"'" • "'-'='-.~, ""- ' """..."""~ "'- ,~

,,, "'""'_ ~_.""'"~~~.._""..~ ,_ ...~ ........~ .~~'" ~__.._><T_ ,

""2 H. g, "loa . n . l botón A.g rog. ,.

J En . 1dialogo c..., no,""o Mlg.n d. d.to• . "blo". 01 ""ntrol.do, SOl Sar• • ,

Page 20: Visual FoxPro SQL Server y ASP - Programación multiusuario

". "" ~<C' ''''~

""MJ" "",,'"'"' '-~l~U,"" ~

M'"''''~" "" .. ,""'C"'''' ••

"..-, ~,),~, ,'''''''',,01'0 ,±(,""""',-",.-;....,,,,.,-,,,,,, ",~ '

"',..-F '-'·"',''''- ·~ ' D_ I '." "''"" ,.~ ,. o~ ' .... _-_""00""""'

• . 81 01 dialOGo "0" '''' '' u lgno un nombr o 01 OSN, d..,PCVonl o, o ldonlttl<¡uo 01So" ldor (Ed"TOO on " '0oaoo l

"'" ., ,.... __~ "'"'-0""'" <lo' """"

Q_ ¡ea-u,. " , ;. _ "" "-., ..-..,

"..'H"'_oo"......~_......."S~,ft 1""lEC

5. A ""nll nuoc:lóo . o. al. quo 01 ..,.,..., 01 s.,r.ldor do dato.... huó " do laoutonlloo.oI6o SOl. Sa<.or. Indiquo al Id d. Inldo do . oolón' y .0""n" a...no.

Page 21: Visual FoxPro SQL Server y ASP - Programación multiusuario

r:; ¡-.) ''''''- ~ '''''' ''''''~- ''' ''_...---,..,.,<> ¡",~_i

6 A~o'a 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,"m lon'" haflooll, orI o, ""n, lono Quo hag a eI"",- on 01 b<>tón Prob.. "'~"" do d.. . . , <1 ..mu.." a .. m"".o¡o "lo. p'uab.... ~an oompl..odo ""n h ilo" .<>do ~ .b,!

' ..mln odo

Page 22: Visual FoxPro SQL Server y ASP - Programación multiusuario

"pllc.clonu C11..10-8anrldo, o ln1o'n," con Vlouol Fo.Pro. SOl S.nrll y ASP

."'" ",,"" .,..~ ... ,,, ,~... "" .."....."_..~ '-""',""-,.~"lO' ~"

""...~"~ .......~... ,._"".,,~ .

" O" ~"ll:R=._"....-.. """"_c,",~" ,,,,,,,

"'".-'h" ""'- "''''' .."--,,....,"'..,«~,....,."'..."' ~..--"-_ -...,= ....." ~'-',, '''- '- ''."' " ~--"" ...~ ,..~ '<l '-"''''' ''~'''' ,~~, '"~.....,'"

=

© ...... O&I <Io lJouono . ..- ""' .. .. ... _ . .. OSN .. _ ___....__.. 0&1 <10 """""' _ _

Page 23: Visual FoxPro SQL Server y ASP - Programación multiusuario

Efect uando a l Upsiz ing

A . O<:H ~ p'''''. ''' d. "~,loO • • lot " mpldo PO' "O p,obJom. d. ,.,; , d~

..,., 1d0f o PO' "' . plleooldo, d. do qu P'''''''''' . 1""". ""mblo. I..... ,~bl...o"' Apll<:oelón, ooo.l.n. mont . n. , " O. oopl. d. l. Aplleooldo

0";. 1. , ooom. odoolón. 101eO. m.,.. 000 ~ Up~,l n g

, Abr. l. s.a.. d. 0 . 10. PCV.o' "

-•

2 En " m.n ~ H. ...mIOl'lI" , uMqu. l. Of>OIón IW" OI'I I.' , luOGo "'000100. l.opoldo Upol,lno

J VI.uol fo,Pro, P' _ o'. do. .... I.. . ot.. p. " Upol>lno. "n o haci. SOL s.,.", Yot,. naol. {hola En 00""0 """" . Iagl,,,,,,.,.. .... I...nt . p.r. "p~zlog SOLSo...",.

• En " p, lmar paso, ..1000100. O oonll,m. l. s.a.. d. d. to . Oo. mio' .'• • SOLSo.... " pcvOI'Ilu .oec

Page 24: Visual FoxPro SQL Server y ASP - Programación multiusuario

s. lu~o ublquo 01OSN qu o .. usar ' para ",n""' . ,.. al Sor. IdO<" d.., PCV.nt ••

- --

•3

- ",

6. A",nt lnuaclón _.Jo Iu labl•• qu a mlg, . ,a o a l Sor. ld",

Page 25: Visual FoxPro SQL Server y ASP - Programación multiusuario

---.........­.-

1. El> ,,1 d l. lego ~g ul.nt• •• ' ll l<1u" Q"" lo. !Ipo . do oampo Quo 01 ..I...n' .p'''I'ono pal O1.. l.M• • SOl S....' . ...n lo. ...__•

1'" """"'.~ "' ''''._, '''' ., ,,,*,,, ,,, ,.''''''_ .. .._'"''- ~-,....<_-,.~-

••

-

,-• •• o• •• •• ..

a En " Q"lnto paso ""nllrm. 01 OlsposUl. o do Baso • • Doto . oroad o on SOLS...." .v' F'C~.nt..

Page 26: Visual FoxPro SQL Server y ASP - Programación multiusuario

9. Ro. I.. lo_ . " 'bu' o. qua tOndrón lu loblu . n.1&o",ldo., '~ mismo IMlou" lo.oamDios qu" .. ,••11...,,,, , n " "" 'Ioa<:lón, por .¡omplo 01 PO' oo.d. VI... local.. "...ró un. Romo•• , " Po' ''''' ' tablo DBF .. <>btondró un o VI... Romot • .

'I~ <~ _,.,""~_nl_

bA.d_,~ ",_""" • • _ _ \

,.

a..-.._ """,.,-,- - ..,.."'...-, ._'",..,,....¡¡- ](iiOOi~-;';;'¡¡ ;;,-""i

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

~,'.

¡---~-,,- .,- ~-~'". "'

r.>~, r_... ~ ...,

"_,,,, r 1¡.._,

' " P<!< "~Imo bogo <:Il<k on ~ bo'ó" Finall, .,. , ,¡_ 'o l. oplloaol6n. ..titonclonondo"" Olont . _Sor.ldo<.

© En caoo....,.,. ....,.... no ..-. """*'"'"__.. _-. lo _ , _ . """" 01 """'. ..... ..-amonIo .._ ...._~ .. _ _ Io'....' _ .... """," <!o .. ___

Page 27: Visual FoxPro SQL Server y ASP - Programación multiusuario

8QL~

Luego de l Upsiz ing

Eo . ¡ .... ldo, .. h.b,ó ",..do l. ..""d"'. d. lu t.blu , P'" ,...1••, 01 ""nl .o ldOd. 011• • d l,~u••1Mmlnl.".ddr 0>"",,,,1,0. no,¡. 000 d.,..,no . ob , . l. B... d.0 " 0. Svrl'CV. ot • •y"" 01 m. n" .m"'~""t••111. Roll,",,", o .n"" ouc p" l.. '5.

r

~~_~~ _¡ - .. ... 1ctr,m0)0 ..-, (JI O 'lt ro

y :!" ID é~'~ ~1

,,..

•• ,~ -. 0 c_~ ,-' 0 c_~ "-~ "-

I'u.... lo"""""on. , l•••" "d "," d. 1.. t.bl••. • • p..,d lo.MO l. So.. d. D.to. y .nl. _ dn r .blu , ..1,""",00 ' un••oh l. y no,¡. dob l. "O"",. • n óI

c_c " - ._. - '" szr-~ - •._---... -",~",.. ,. • e.- ,- ,

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

""'''"-~, - • e

Page 28: Visual FoxPro SQL Server y ASP - Programación multiusuario

Ol r. lorm • • • moOl.n'... An. llzodor d. Con... ~ • • , pOI ' Ink:lo<lo . n . 1Adm lnl" <odor Corpo <o' lvo v.y. al m.n~ H.". ml.n' • • , .UJ. l. opción An. llzodo<d. Con. ul....

'"

.~. ' . '. .. _ !O ." c. ~

f-'" ) 1 o-,..--_~ .......,..,~"'j.""<"-,<."' '''-''

'" ._., . ,,"

u.-, ,,, ..·_,~",

~"".­,-,.~~ ~.~-

~"" -O""::::-:";;:;:· "" ·"+· ~..:..:....:.=..; _ ...~..._~

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<><:loo.. SOL, " , lIodo .. m"",,.,ó on l. parr. lol o< lor. ~o, 01""' ~1o

~ru .b.,

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" .. k'~ L .. ..

' 00 ',00'

00'- ,,.."'''"'''1

,

f'<Ir o! I. do do! Cllonl' on l. 80.. d. D..o. PC\t.o, . . .. o"'ró ",""O uO "" "Joo'od. VI Romo' .. , l• • , . tll• • qu. on . 11. t lgu<o , . no ..róo """. ...rl• • , ..1quapu fOmov..,lu

Page 29: Visual FoxPro SQL Server y ASP - Programación multiusuario

Op t im izando la Apli cación

..., . tormo d••11, 1a,.1 tr"'"" .. ,. rad .. mlolmln odo l. ,,"o" d. d do d. ,o. quadob. .. 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 unp,"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ó ..&Ido" on ~ So,, 'do,

Page 30: Visual FoxPro SQL Server y ASP - Programación multiusuario

8QL~

1m p lem entando Servidor I nteJigenle

Procedim ientos Almacenados

Eo un mod.lo mult l"""., oon. l... Qu O "''''' o. oo<lon.. doboo ,..lIzo..o .. ~

So.. ldo" 1.. 1I00 od dol o• . El Sor. ldo, moolpul. lo. doto. "", u. l.., quo on. u~"

búoquod.. do ' o,¡l "", o• • dl" OOIuol', ... y bo...., ro,¡l." o• . l.!lon" " qu. ~ "' l. nlooon"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.. SOLDobldo • Q"o ....n p,.."m pllod.. .. Ol.n. on opt lmlzoolón • lo h",. d. u...l.

V~ol Fo. Pro lo dloo " Sor.lOo, Q". 1'r00000 lm lonto Alm.",," odo d..o oloouto, ""0no ..bo> QU. 0"0 quo ho, on ""d. uno d. lo. 1'r00000 lmlonlo, Alm.""nod"". Vl'u. lFo, P.-o "" 0 ..tIo, , do h,"""o, oólo n""'¡' o ..bor, .. lo. 1'r00000lmlonto.Almooon.d"" lunolono"

8 u'" do 1'r00000 lmlonlo. ....m.....norlo. on . ' SoIY IO", po'. OflOIo" .. quo .. ,..llzonl,oouont.mont. mojo,. ,orI"""monl o l• •~""lOod d. lo. p'""",,o,. Un o • • , QU. ~

1'r00000 lm lonlo 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.1onl."ooo lo ....lloaol6n

Page 31: Visual FoxPro SQL Server y ASP - Programación multiusuario

Implementación

PIlta ",o.. p,<>C*Ilmloo' oa almaooo&<lo. , oigo loa po..,. . 10" 1"" '0"

, UtaOOO 01""m'nl.. r&<lor Corporo'l..o, o. ponoo lo ll&oa 00 Da'o. S\.,PCVon'&< rhaoo 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;: ~~ . ::-...~"'. '" ~..lL"'-_." O il'll'Ol ,-• ""._" •

• "\l ' . .........

, Ie l_'... '.'•."",, _o

I r; >0o, .-1 _ _ • '"I r:; ,..... ........,.-."'".., ""l: W,~D"""'_ :~~III "~'T"" _

• , .. " ""'"...'I

2 A ",,"' Iouoolén oollno ~ PrQQodlmlon'o ....maooo&<io '

CREATE " Roe.DUR. :rot&l V~r.t.. AS5ELEC:r ""' . _ OATE"""" ü""', F . c h ) .

:ro ta l _ S"M (Pr.V~r.<o · Co"hdad)

F ROH Fo ctn<a , O. t . ll .WIlER. Fo c t u r " .ldFo cturo _ D~tall~ . l dFa cturo

GROOP BY DAU""",,, 1_ , ' . e h )

Page 32: Visual FoxPro SQL Server y ASP - Programación multiusuario

"'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 Compro oa< lo <in,.. lo

Slored "'"roed"," '" rl><os 1"lalVont~ s _1iIE1

~,='q'''" ,-"' '''''-

,

o. F1 na lmool o hoga 011'" on "'-' a< paro grooor lo

-

Page 33: Visual FoxPro SQL Server y ASP - Programación multiusuario

Uso de Parámetros

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. dOM n0"0' o" "'Pu...o. dol . Imbolo O _ uldo del nomb,. dol p.. ' mo.,o y dol ' Ipo d.poróm. uo.

CREAn PROC"DU~• • pC Dmi o;ooe.... ....~1rn~5E""C~ V. n d . d o r. " "",Ve r.d.do ,-,

Cmü . i on ""M{ece cV e n t o ' Ca oti d ad l ' 0 . 10FRO>< Oe t a lle , V. o",,'c ,-Wll&~. F a c t u n . I "-" a c t u n _ De '-.alle . I dFa ctura ANO

F a ctu r a. 'dV. od. d o r _ Ve, ""d o r . I d Ve , ",,' o r ANDDAT" 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. lóndola 01 olmbolo O _ uldo del nomb,o dol p.,óm. "o , dol lIpod. porómouo y 01 ."'m lno 0lJ11'IJT.

Por olomplo vomo< . o"' ""''' 01 .01 01da 1.. v." o, ,..IIUd..

CREAn PROC"DU~• • pVen t a .An o De~ot V.n ~n' CJUn',"

5E""C~ e"".""n _ SUM ( eroVer.t . ·C""~ ;dad)

F~C+I ",,~ .lle

Page 34: Visual FoxPro SQL Server y ASP - Programación multiusuario

~IC.CIO"'. CII.nl.-sa",ldOt. Inll1nltt con Vlouol Fo."'o.8O~

U> uoual 00 u'" p..ómOUOO dO 0'''' '''0 y oolkjo. un ojomplo mu. oImpl<o .., lo lo dooumor dos númorOl y ' ooog.. ~ ,o""""do:

CRe ATE e ROCEOURe . p s = "eNmol Int ,eNu.2 I n t ,e_. r n t """"""

A oon' l' uo<:lón .... pon o 1.. dial In... ' '''''1000 QUo " P"I<IO "oo, pOl O"""""' oklo 001",. 0 do! So,. ldo, dKdo 01CUento

© .... """"""'"" ""-,"",_Ah,__." ",""",,,doT_.uoodo _.~ ... Io__

Page 35: Visual FoxPro SQL Server y ASP - Programación multiusuario

"'plloaolon u C11.n,.-sa",ldo• • Inla'n," con Vlaual Fo"P,o. SOl s'",a, y ASP

Vistas Rem ot as

'" d~.r.ncl.. d. I loooI• •• ," Romo tom. n ",mo or ig. n d. d.to.un. "" .nt. d. D."'• • • t.rn•• l. <>J 0I ..~. medl.nt. ",ntrolado, • • OOSC.

V'O ' OI"

-/ Lo p, ln"p . 1• • ntoJo ,adloo.n l••Implloldod d. '" OI'.aclon

-/ lHd l. nt. lo opoloo O"lt . rlo. d. ""'uolluolon , toolOm",, ' . puedo O<I uollzor l.tu. nt. d. d.to. lor. n...

-/ Tod.. 1.. _ooltloaolon.. d. lo Vi..... Qu",d• • n lo a... d. Doto. d. VI. uolFo. PI'o, locl ll..ndo . 1 d i.... d. Intorm• • ~ tormular lo. pu. ..o ou. p<idroIn" ulr lo. 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...lnto. o 1.. t . bl.. ",mo lo.Pl'O<lO<llm" nto. IIImooonodo. ~ Conou" .. do! Sor.ldor

Page 36: Visual FoxPro SQL Server y ASP - Programación multiusuario

Un ejemp lo

V••m.,. uo ol.mplo d. 111... Rom o•• , obl.M,. mo. lo. d• •.,. d. uo d... ,mlnodoel 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.rám.. ,o d. lipa "",áoI.. p. " al """' Igo d.1 el l. n•• ,. 1qu. llom moo """el lon••

Page 37: Visual FoxPro SQL Server y ASP - Programación multiusuario

~IC'CIO"" CII.nl.-sa",ldOt. Inll1nltt con Vlouol Fo."'o.8O~

5 A ""n" nu acl6n .., .bl.."".11111<0

6. &1 . "1.."" Iu 0 ,,,,,1",,",,, , d . AOIu.llzocMn

e' O"""",,", do ""'" y",.1 •••••

Oo""."-\~~.., ." . ,

o

:,~I .~~~" I ''' I ~"",, ~ · I'-" ... Q..~ ~-"'I ·..~ I

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

• •• • ~ """,, -,~, ...,..,-,'~.

, ,-- ~ (·""'> ..4'~.._, 0- r ..... ,,_ ••« "",. ," .~. I •0. - --

~h~_.'!', _.

• ~ ""Jl(lm . " ,,"o "' '''''''

7. Proporolon. " n nombro . l. 01" " 00t ' I.m plo: " ClI. nro

• . 1'0<. ,..1,,., uooo,u"'" .not. ,

CQdCli . n t . _ " C U "

US" ru"",ci . ' v cC li ""t~

B~O""E

• D.... . '! moSlr.,.. 10.0 dOlo. do! oIl.nll e l 3

Page 38: Visual FoxPro SQL Server y ASP - Programación multiusuario

Apllcoclon.. Cllanlo-sa ...ldo. o In'o,n," con Vlouol Fo.P,o. SOl s."'o' y ASP

©_...-....- .--..,..-_ _ ....--_ .... ""' .. _lDcaIoo...- ..__ F_ ..~ .._Fo.,,",._.~.""-

Cómo a o' ua llzo la u bl. , .m ol . ?

PI..... 10"" ,. "",u.'lz."óo d. d. 'o. u..Mo la ' unokln Tabl.l.f>da'Oo( .T.) o 00" uo.Ó,d.n USE-

i~.-"""""- .....-.. .... --_.--_........-- on SCIl I

8 cuod,o . 10" 1"," 1. mu.",a l• • ' " '''on• • SCll _ • • , homóloga< a l• • d. VI. " aiFe. Pro·

Eo VI. ".I Fo, P,o lEn SOL S. .. . , ',OASCU()CHARj NOEXOSUBSTRl NG()CHAF1()

ICONVERT(d . ' OIlm . , .. 1CONVERT(• • , cl>ar , __ 1CONVERT(d. ' OIlm . . ..1

ICONVERT(""a " ..1CONVERT(d. ' OIlm • . .1CONVERT(d.'OIlm . , .1

IRAOIANSOOEGREE$()CONVERT( monOy. ..1CONVERT(lloa ' , . 1GETDATEOGETD ATE()DATEPARTldd, .. 1DATEPART(mm,· ·lDATEPARTIYY, ..lDATEPARTld"', __ lDATENAMEld"', __ lDATENAMElmm , · ·lOATEPARTlh h, ·lDATEPART m i .

r,ASCOATOSUBSTF1( )CHROcrooüDTOCOcrorn" OC<>rrooüDTOTODTOfI( )~<>MTONONTOI.lODATEODATETlldEODAVOldONnlO

~ª~i~oHOlJF1( )

ldl.NUTE""<'- -""'''''""'"LL -'

Page 39: Visual FoxPro SQL Server y ASP - Programación multiusuario

Paso a través de SQL

E<l. ,""'"'"- " ro"""oIooo .1 O... " ollad o, un modo d••00• .., m• • dl, "",o ols.r. ldo,-

V.o'· I"." Lo ' ''''up",ooI6n d. d. 'o. .. mLc ,áp ldo

." Puod. uUf ,," olQ " ~' o,d. n n. tI• • d. 1S. .. ldo, SOL

." S. puod. .. . 1., . 1S...ldo, . ...1•• or''' .' ~ , ,,,,101, • • rlo. ,. ... I' ad o•• u • • hd. 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' . , ,. ad uollzoolon d.t>. ,..lIur.. . nb "n . ln." " ool6n SOL ' Il. ,. n••

Page 40: Visual FoxPro SQL Server y ASP - Programación multiusuario

Conectándose a l Servidor

E<l. mot<>do h."" u'" d. un OSN.•",ml,..,no. 01 ",••do . 1p, lna plo dol " oHulo:d.o I'oV. n' ..

lo luna ón du. p. , m1' . d. tlol, un. ""n.dón lO H.m. SCILCOt<NECTIl . ó". tuMlónd."u. lv. un nGm..,o. SI 01 nGm..,o •• • , .. PO' du. no .. IOG ' O ....bl_ ' l."".o>lón " ' I. !."'o' l. mon' . , ...., ""ntr . , lo 01 num. ,o gon..,odo ld. n' I!""ó l.""oo.Mo

n . SOlCON NECT( don, IdlJ<u orl6, Contr.... o)

Po, o¡omplo'

n · SQLCO"",e. t "d ,"PeV~r.t..•• "n°, . " )

Ano,o " .,Itlnom.. 01 ",lo, dovu .~o '

SI . 1volo< d""uol'o •• 2 , Indino duO l. ""no. lóo .. ,..lIz6 ..' I.t."'o'lom on'o, • lo""oo. tón • • Io lnd.n.ltl"",ó mod io" . 01 númo,o do.

Page 41: Visual FoxPro SQL Server y ASP - Programación multiusuario

"pllc.clonu C11..,.-8anrldo,. 1n1.,n," con Vlouol Fo.Pro. SOl S.nrll y ASP

Desco nectándo nos del Serv idor

IJsomo. uno coo., 'ón P' " ,eall.., 'Od a.< OU"," o".'lOlonll con " So<.klo<, "" ..mom",, ' o qu. no ... oeoua,lo puod. ,omo. .. l. oon• • lón m. ,!;on" l. fuoaón '

SQLOI ScotlNECTI Con• • lóo)

Po, . I.mplo·

SQLD ISCCNNOCT {ni

Ejecu ción de se n tencias Sal

P. .. ...... , • 1.. ' .bl•• Y ,..11.., op" .""n• • oon . 11.. .... oomo ' I""u,", lo.Prooodlm l. o,o. " 1m"""" . .... " ....mo. 1a f"n ""o SOLElCECO, ""r. 010,..10 • • 1.oIgul.n'",

SQLElCEC(Con• • lón. 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, • F ROM Ch~"t~" , 'cCli ~nt~ - 1

S OllC, eC li~r.t .

BRO"SE

Tamblaon pO<l. mo. par . m. UI,", uoo 000""1' 0, dollolmo. 01po,óm."o'

cO<!Cli .r.t . _ ' C0 1 -

daL _ ' S RllC, • FROM Ch ont~ ""RP O I dCh~"t~ _ >eodCl i~nt. ­

SQLE.Re l n , e s a L, " c C l ior.t o " 'S OLEC, c Clier.to

BRO"SE

Page 42: Visual FoxPro SQL Server y ASP - Programación multiusuario

~ d..... "",u. II.., oI'.'olono do! ollonto con Id -COI' , . not.,lomo.

oSOL _ "L"I'n~TE cll.o" SET Telc ll."'... · c O¡ · WHERE I dCll.n ' ... ·c 01' "

"'L":<EC ' o . e SOL. "cc ll _""" )

Page 43: Visual FoxPro SQL Server y ASP - Programación multiusuario

Ejecución d e Proced i m ien tos Alm acenados

La !"o<:lóo SCllEXEC() so puoO . " sor p. '••0, I. r M ..,10 ár".o•• SOL ' . 1.. oomoIn_. y llpd.'•.01'0 ,.m tH.... puoO. osor p. '. 'ocir . SQL s.rv.. Quo oj",,"' . u.p'oooO lm1"" ' 0 . Imaooootlo

Pat. oj",,"''' "" ProooOlm~n'o ....m."".... o so uSO l. "'""" T_SQL'

Po, OI.mplo pOI . 01"""' . ' " proooOlml.n'o oImooon...o apTo' .I~.n'.. '

SQI.EXEC(n , ".nc np'ot d Ve nt .. " ¡

Page 44: Visual FoxPro SQL Server y ASP - Programación multiusuario

"'plloaolon u C1lenle-sa",ldo. e Inla,n," con Vlau a l FoxP,o, SOl s'",a, y ASP

Proo.d lmle 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 lm l.."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 '"""omós oómodo "lO' ,. o" .fCli"m•.•1me MO"".ndo lO p,o"",' .p.,ómo"o<do oaIld. , . o. m,," o! ,..to de ""..,0:

• So d oh n o u na n l o r io ; ci o l pua n Tot o lnl:otd _ O

S QLEX&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, ~Total

Por. o! ""'" do lo 10m. do do< númo,,," '

nSumo _ O, - ,, - ,S QLEX&C In ," {CALL . p S= a IX , <, ? @o Sumo ) ) " ), o Su ""

., al ..... lo ,...- _ .... _,-""""" "'" ....

. ...... _ ..... .......*..". www.................NET

Page 45: Visual FoxPro SQL Server y ASP - Programación multiusuario

Pró . lma Eo u . ga

Edición 1.1Dentro de " na se mana

Prolllbldo l. ' op'o<Iuoclón .o' a l o p. rololSlo " . ..u o ""o"o'lml. n' oO.,..llo. d. ""pi. , . ....<do.ooo .lIbroaDlgH. I• • .NET

Page 46: Visual FoxPro SQL Server y ASP - Programación multiusuario

Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP

1

Page 47: Visual FoxPro SQL Server y ASP - Programación multiusuario

Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP

2

Edición 1.0

Prohibida la reproducción total o parcialSin nuestro consentimiento

Derechos de copia reservadoswww.LibrosDigitales.NET

Page 48: Visual FoxPro SQL Server y ASP - Programación multiusuario

Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP

3

Iniciando una sesión de trabajoUna vez que haya instalado el producto, para iniciar una sesión de trabajo realicelos siguientes pasos:

1. Haga click en el botón Inicio, ubique Programas, luego Microsoft Visual Studio yfinalmente Microsoft Visual FoxPro.

2. A continuación se mostrará la interfaz

La interfaz de Visual FoxPro

3. Para finalizar una sesión de trabajo escriba el comando QUIT en la ventana decomandos o vaya al menú Archivo, opción Salir, en su caso use la forma rápidaAlt-F4.

☺ Conviene crear un acceso directo, para ello haga Clic en el botón derecho del mouse sobre elescritorio de Windows, luego elija Nuevo y despúes Acceso Directo, finalmente ubique el archivoVFP6.EXE

Page 49: Visual FoxPro SQL Server y ASP - Programación multiusuario

Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP

4

La interfaz de Visual FoxPro

La barra de título

En ella se muestra a la izquierda el ícono y el título de la aplicación y a la derecha lacaja de controles (para minimizar, maximizar y cerrar la aplicación).

☺ Puede modificar el ícono y título de la aplicación mediante la órden:

_Screen.Icon = “MiIcono.ICO”_Screen.Caption = “Mi Aplicación”_Screen.Picture = “Foto.GIF”

La barra de menús

La mayor parte de acciones que vaya a realizar se encuentra en la barra de menús,un menú conduce a un grupo de opciones. Algunas opciones presentan Viasrápidas.

Menú Opcion Vía rápidaArchivo Nuevo Ctrl-N

Abrir Ctrl-AGuardar Ctrl-SImprimir Ctrl-P

Editar Deshacer Ctrl-ZRehacer Ctrl-RCortar Ctrl-XCopiar Ctrl-CPegar Ctrl-VSeleccionar todo Ctrl-ABuscar Ctrl-FVolver a buscar Ctrl-GReemplazar Ctrl-L

Programa Ejecutar Ctrl-DReanudar Ctrl-MEjecutar programa actual Ctrl-E

Ventana Recorrer Ctrl-F1Ventana de comandos Ctrl-F2

Vias rápidas de las opciones de menú

L Las vías rápidas no funcionan cuando el menú de Visual FoxPro ha sido sustuido por otro, en esecaso para reponer el menú de Visual FoxPro, puede anotar:

SET SYSMENU TO DEFAULT

Page 50: Visual FoxPro SQL Server y ASP - Programación multiusuario

Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP

5

☺ Cuando en pantalla tenga mas de dos ventanas, resulta util la vía rápida 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 servían devías rápidas, en la versión actual no sucede esto, pero puede programarlas, siga lossiguientes pasos:

1. Vaya al menu Herramientas, opción Macros.2. En el diálogo Macros, haga click en el botón 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 sección Contenido de la macro anote el comando que se deba ejecutar,

por ejemplo el comando QUIT.5. Haga click en el botón Aceptar6. Para probar ubíquese 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 unaventana de código, los comandos, variables y constantes de muestran en distintoscolores.

☺ Puede cambiar el color y fuente usada en la ventana de comandos o en la de código, haciendo clicken el botón derecho en el interior de la ventana y accediendo a la opción Propiedades.

Page 51: Visual FoxPro SQL Server y ASP - Programación multiusuario

Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP

6

Instrucciones SET básicasEl diálogo Opciones establece la configuración del entorno de trabajo de su equipo,ahora si está desarrollando una aplicación a instalarse en equipos diferentes,deberá preocuparse por establecer el mismo entorno de trabajo, la forma esmediante la especificación 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 año de una fecha en cuatro dígitos

SET DECIMAL TO 2

Limita en los cálculos el uso de dos cifras decimales, hace el redondeoautomáticamente

K Siempre que desee averiguar la sintaxis de una orden, seleccione el nombre del comando y pulse latecla F1, o use la orden:

HELP comando

Page 52: Visual FoxPro SQL Server y ASP - Programación multiusuario

Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP

7

El Administrador de ProyectosUn proyecto organiza y administra los diversos archivos que compone unaaplicación, estos pueden ser Bases de Datos, Tablas, Indices, Formularios,Informes, Consultas, etc.

Administrador de Proyectos

Una vez terminada la aplicación se deberá generar el Ejecutable o el archivo deAplicación, ambas deben realizarse a partir del Administrador de Proyectos.

Para iniciar un nuevo Proyecto:

1. Vaya al menu Archivo, opción Nuevo, luego señale el tipo de archivo Proyecto ypulse el botón 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 botón Nuevo

3. En la ventana de codigo que se muestra, anote:

Page 53: Visual FoxPro SQL Server y ASP - Programación multiusuario

Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server 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 CENTERWAIT WINDOW "Pulsa una tecla para proseguir"CLEAR

4. Para guardar el contenido pulse las teclas Ctrl-W, asígnele el nombre Bienvenida,entonces de habrá creado el archivo Bienvenida.PRG.

5. Para ejecutar este programa, ubique en el Adminisrador de Proyectos el archivoBienvenida.PRG y luego pulse el botón Ejecutar.

Si deseara modificar el contenido del archivo, haga click en el botón Modificar.

En caso deseara retirar el archivo del Proyecto haga click en el botón Quitar.

☺ Puede escribir los comandos de forma parcial, como minimo las cuatro primeras letras, porejemploda 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 distribuirtendrá el mismo tamaño.

Page 54: Visual FoxPro SQL Server y ASP - Programación multiusuario

Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP

9

El caso a resolver: PCVentas SAC

Actividad económica

PCVentas S.A.C. es una empresa importadora que se dedica a la comercializaciónde suministros y partes de computadora

Dispone de un local comercial, dispone de cinco modulos de atención, y un staff devendedores quienes se encargan de visitar a empresas y minoristas y tomar suspedidos.

Modo de atención al Cliente

La atención 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 almacén si hay stock suficiente para atender el pedido delcliente.

3. De haber stock suficiente, se procede a elaborar la boleta ó factura, y eldocumento pasa a caja. En caso no hubiera stock suficiente, se realiza lascorrecciones 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 susproductos.

Todos los procesos señalados se realizan de forman manual.

Problemas que se presentan

El modo manual de atencion ocasiona los problemas siguientes:

1. Atención lenta.

2. No se tiene un control de stock adecuado, por lo tanto nunca se sabe cuantoes el stock real de cada articulo.

3. Control de ingresos manual, por lo que el cierre de caja lleva muchas horas.

4. La elaboración de informes para el gerente es lenta ya que todo tipo deresumen del día es manual.

5. No existe ningún tipo de estadística para la toma de decisiones futuras.

La empresa atiende un promedio de 30 personas por hora con tendencia aaumentar, por lo que es necesario implementar un sistema computarizado.

Page 55: Visual FoxPro SQL Server y ASP - Programación multiusuario

Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP

10

Modelo fisico de la Base de Datos PCVentas

A continuación se muestra el diagrama entidad relación:

Diagrama entidad-relación PCVentas

En el capítulo siguiente se detalla el procedimiento para la creación de la Base deDatos mediante instrucciones de Visual FoxPro.

Page 56: Visual FoxPro SQL Server y ASP - Programación multiusuario

Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server 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, elestar asociada a una Base de Datos, le provee de ciertas propiedades además depoder consistenciar el ingreso de datos (mediante los desencadenantes).

Relaciones

Representa la unión lógica entre dos tablas

Vistas

Es una herramienta mediante la cual podemos generar un resultado a partir de unaBase de Datos.

☺ Puede consultar los criterios que debe tener para Diseñar un modelo de Base de Datos adecuado enwww.LibrosDigitales.NET

Page 57: Visual FoxPro SQL Server y ASP - Programación multiusuario

Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP

12

Creación de la Base de Datos

Definiendo una carpeta para la aplicación

Iniciemos creando una carpeta para la aplicación y dentro de ella una destinadapara 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 laspuede omitir.

☺ Hay otra forma de seleccionar una carpeta de trabajo, puede usar la orden

CD?

Page 58: Visual FoxPro SQL Server y ASP - Programación multiusuario

Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP

13

Iniciando el Proyecto PCVentas

Un Proyecto detalla los elementos que compone una aplicación.

La aplicación 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 aplicación, el lugar donde seencuentra, cuando se modificó por última vez. Para cada tipo de archivo en elDiseñador de Proyectos le corresponderá una determinada sección.

Siga los pasos siguientes:

1. Diríjase al menú Archivo, opción Nuevo y señale Proyecto, luego haga click enNuevo archivo.

2. De por nombre al proyecto PCVentas

3. Ahora expanda la sección Datos.

Page 59: Visual FoxPro SQL Server y ASP - Programación multiusuario

Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP

14

Creación de Tablas

Hay dos tipos de tabla:

• Tablas libres• Tablas asociadas a una Base de Datos

Creación de Tablas Libres

Las tablas libres no están asociadas a una Base de Datos, un ejemplo podría ser latabla Parametro, no es necesario incluirla en la Base de Datos, ya que no tiene querelacionarse con otras tablas.

Para crear ésta tabla:

1. En la sección Datos, ubique Tablas Libres.

2. Haga click en el botón Nuevo,

3. De por nombre a la tabla: Parametro:

A continuación ingrese la estructura de la Tabla:

Diseñador de tablas - Estructura de la tabla Parametro.DBF

Ya que en ésta tabla ha de efectuarse búsquedas según el campo llamadoNomCampo, habrá que definir un índice, lo único que debe hacer es señalarlo en lacolumna Indice.

Puede comprobar lo último, haciendo click en la página Indices:

Page 60: Visual FoxPro SQL Server y ASP - Programación multiusuario

Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP

15

Diseñador de Tablas - Indices de la tabla Parametro.DBF

En el siguiente capítulo se analizará el uso de los índices.

A continuación pulse el botón Aceptar o haga Ctrl-W, el diseñador de tablas lepreguntará: Desea introducir registros de datos ahora?.

Dígale Si, para ingresar algunos registros:

Ventana para el ingreso de registros a la tabla Parametro.DBF

Esta secuencia termina pulsando la combinación Ctrl-W.

☺ También puede crear tablas libres directamente de la ventana de comandos, haciendo uso delcomando:

CREATE Parametro

O mediante el menú Archivo, opción Nuevo, tipo de archivo Tabla

Page 61: Visual FoxPro SQL Server y ASP - Programación multiusuario

Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP

16

Creación de la Base de Datos

Para crear una Base de Datos:

1. Vaya al menú Archivo, opción Nuevo e indique Base de Datos.

2. Luego haga click en Nuevo archivo.

3. De por nombre a la Base de Datos: PCVentas

Diseñador de Base de Datos - PCVentas

El Diseñador de Base de Datos tal como se muestra es un contenedor vacío,presenta una caja de herramientas propia.

Las mismas opciones que se muestra en la caja de herramienta están disponiblescuando se hace click derecho en el mouse estando el puntero en el interior delDiseñador de Base de Datos

Si ha de crear una tabla puede usar el botón Nueva tabla y si va a retirar una tablade la Base de Datos simplemente pulse la tecla Delete.

☺ Puede resultar mas rápido usar el botón derecho del mouse en el Diseñador, el menú emergente quese despliega muestra las mismas opciones que la caja de herramientas.

Page 62: Visual FoxPro SQL Server y ASP - Programación multiusuario

Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP

17

Boton AcciónNueva 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 definirProcedimientos AlmacenadosDefinir una conexión

Botones de la caja de herramientas del Diseñador de base de datos

Page 63: Visual FoxPro SQL Server y ASP - Programación multiusuario

Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server 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 botón Agregar tabla de la caja de herramientas o en su lugarefectue click derecho sobre el mouse y elija la opción Agregar tabla

2. A continuación ubique el archivo tipo tabla Parametro

Una vez agregada la tabla Parametro a la Base de Datos, la tabla Parametro dejade ser libre y se convierte en una tabla asociada a una Base de Datos.

Page 64: Visual FoxPro SQL Server y ASP - Programación multiusuario

Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP

19

Creando tablas asociadas a la base de datos

Vamos a crear la tabla Articulo:

1. Haga click en el botón Nueva tabla de la caja de herramienta.

2. Le presentará el diálogo Diseñador de tablas, ingrese la estructura de la tabla

De la misma forma deberá procederse con la creación de las tablas Cliente,Vendedor, Factura y Detalle.

Diseñador de Base de Datos con tablas asociadas

Page 65: Visual FoxPro SQL Server y ASP - Programación multiusuario

Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP

20

Relacionando Tablas

Se puede establecer una relación entre dos tablas de dos formas distintas:

• Relación Persistente• Relación Temporal

Relación Persistente entre Tablas

A continuación debemos establecer la relación entre las tablas según como se hadescrito en el capítulo anterior.

1. Para el análisis tome una pareja de tablas, por ejemplo Articulo y Detalle.Ambas presentan un campo en común, en este caso el campo IdArticulo.

2. El campo IdArticulo para una de tablas representa su llave Primaria mientrasque para la otra su llave Foránea.

3. La llave Primaria se establece creando un indice de tipo Principal o Candidato,mientras que una llave Foránea se establece creando un indice de tipo Normal.

4. Respecto al nombre de los indices usaremos los prefijos PK para las llavesprimarias y FK para las foráneas seguido del nombre de la tabla.

5. Para indexar la tabla Articulo, haga click derecho sobre ésta en el Diseñador deBase de Datos, luego elija la opción Modificar.

6. En la pagina Indices, defina el indice PkArticulo:

Indice pkArticulo de la tabla Articulo

Page 66: Visual FoxPro SQL Server y ASP - Programación multiusuario

Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server 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 relación entre éstas. Para crearla relación sólo 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 depoder establecer la relación entre estos:

Tabla Llave Nombre Indice Campo Relacionado conArticulo Primario PkArticulo Principal IdArticulo Detalle

Detalle ForaneoForaneo

FkFacturaFkArticulo

NormalNormal

IdFacturaIdArticulo

FacturaArticulo

Factura PrimarioForaneoForaneo

PkFacturaPkClientepkVendedor

PrincipalNormalNormal

IdFacturaIdClienteIdVendedor

DetalleClienteVendedor

Cliente Primario PkCliente Principal IdCliente Factura

Vendedor Primario PkVendedor Principal IdVendedor Factura

Page 67: Visual FoxPro SQL Server y ASP - Programación multiusuario

Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP

22

Una vez indexada cada una de las tablas y establecida las relaciones entre estas, laBase de Datos debe quedar mas o menos así:

Base de Datos PCVentas

Page 68: Visual FoxPro SQL Server y ASP - Programación multiusuario

Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP

23

Obtensión de Resultados

Una vez creada la Base de Datos, surge la necesidad de obtener ciertos resultadosa 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

realizadasEtc.

Estos resultados los podemos realizar de distintas formas:

• Mediante el comando SORT• Usando Indices• Mediante el comando SQL: SELECT• Generando Vistas• Generando Consultas

Page 69: Visual FoxPro SQL Server y ASP - Programación multiusuario

Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP

24

Obtensión de resultados a través del comando SORT

Consiste en generar otra tabla a partir de los campos de una de las tablas de laactual Base de Datos.

SORT TO tabla ON campos [/A | /D] [/C] [alcance][FIELDS campos] [FOR condición]

/A Ordena en forma ascendente/D Ordena en forma descendente/C Ordena sin diferenciar mayúsculas de minúsculas

Por ejemplo si queremos obtener un archivo que contenga los articulos agotados:

USE ArticuloSORT TO Agotados ON NomArticulo/A, Stock FOR Stock = 0

La tabla generada:

USE AgotadosBROWSE

El ordenamiento por defecto es ascendente, puede ordenar una tabla por uno o doscampos simultáneamente, uno en forma ascendente y otro de forma descendente.

L Esta instrucción está limitada a crear tablas a partir de una sola tabla, ahora en el diseño de unaaplicación raras veces es necesario generar tablas con resultados, salvo debe exportarse. Las siguientestecnicas le serán de mayor provecho.

Page 70: Visual FoxPro SQL Server y ASP - Programación multiusuario

Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP

25

Obtensión de resultados usando Indices

Los indices los hemos usado en el diseño de la Base de Datos, podemos optimizarnuestra aplicación 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

Pue

decr

ear

solo

uno

por

tabl

a

Candidato:

Garantiza la unicidad de los datos en la clave deindice

Normal:

Solo ordena

Pue

den

ser

usad

as e

n ta

blas

aso

ciad

as a

una

Bas

e de

Dat

os

Pue

den

ser

usad

as e

n ta

blas

Libr

es

Unico:

Oculta los registros con clave de indice repetida

Pue

de c

rear

var

ios

por

tabl

aResumen de los tipos de indice

☺ Todos los tipos de indice ordenan una tabla según el campo que se haya elegido (clave de indice).Las caracteristicas propias de cada índice se muestra en el cuadro, algunos están lismitados a ser usadossolo una vez y en determinadas tablas, mientras que otros no.

Page 71: Visual FoxPro SQL Server y ASP - Programación multiusuario

Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP

26

Operaciones de busqueda con indices

Es mucho más rápido buscar en una tabla indexada que efectuarla de formasecuencial (como en el caso del comando LOCATE).

Para realizar busquedas utilice el comando SEEK. Veamos unos ejemplos:

Buscar al cliente con código “C0007”:

USE ClienteLOCATE FOR IdCliente = “C0007”? FOUND()

La solución anterior es correcta, pero puede resultar lenta, suponiendo que elcodigo señalado se encuentre casi al final de la tabla y haya unca cantidadconsiderable de registros, la solución óptima resulta ser:

USE ClienteSET ORDER TO TAG pkClienteSEEK “C0007”? FOUND()

Buscar un articulo con nombre “Teclado”

USE ArticuloSET ORDER TO TAG NomArtSEEK “Teclado”? FOUND()

Page 72: Visual FoxPro SQL Server y ASP - Programación multiusuario

Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP

27

Limitando el alcance en la obtension de resultados

Podemos optimizar el alcance de los comandos mediante indices, por ejemplo lasiguiente orden:

USE FacturaDISPLAY 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, puedenoptimizarse sustituyendose por WHILE Condicion y usando el alcance REST.

La solución al caso anterior es:

Abrimos la tabla y seleccionamos el índice pkCliente

USE FacturaSET ORDER TO TAG pkCliente

Buscamos al primer cliente con código “C0007”

SEEK “C0007”

Se supone que despues del primer registro ubicado hay todo un grupo de registrosque corresponden a este código. Así que podemos usar el comando DISPLAY apartir de la posición del puntero hasta el final, siempre que el resto de registrostenga por codigo de cliente C0007:

DISPLAY REST IdFactura, IdCliente WHILE IdCliente = “C0007”

☺ La clásula WHILE se detiene cuando encuentra un registro que no cumple con la condición.

Page 73: Visual FoxPro SQL Server y ASP - Programación multiusuario

Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP

28

Obtensión de resultados medianteel comando SQL: SELECT

Los comandos SQL, son un conjunto de instrucciones estándar adoptado por lamayoria de manejadores de base de datos (Access, Visual FoxPro, Oracle, SQLServer, etc.). Dichos comandos están orientados al manejo de datos.

Uno de tales comandos tiene por función obtener resultados, se trata del comandoSELECT, cuya sintaxis se muestra a continuación:

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 PCVentasSELECT * FROM Articulo

El resultado se muestra a manera de la ventana Examinar, debe tener en cuentaque es de sólo lectura.

Page 74: Visual FoxPro SQL Server y ASP - Programación multiusuario

Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP

29

Selección de campos

Puede elegir los campos que considere necesarios, por ejemplo si desea mostrarsolo el nombre del articulo y su stock:

SELECT NomArticulo, Stock FROM Articulo

Este resultado puede estar ordenado por ejemplo según en forma alfabética:

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 ArticuloORDER BY NomArticulo WHERE Stock <> 0

Si el resultado debe imprimirlo, utilice la claúsula TO PRINT

SELECT NomArticulo, StockFROM ArticuloORDER BY NomArticuloWHERE Stock <> 0

TO PRINT

En el desarrollo de una aplicación se suele asociar a algún control el resultado deésta órden, entonces deberá generar un cursor:

SELECT NomArticulo, StockFROM ArticuloORDER BY NomArticuloWHERE Stock <> 0

INTO CURSOR ResArt

Page 75: Visual FoxPro SQL Server y ASP - Programación multiusuario

Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP

30

Un cursor representa una tabla temporal de solo lectura. Como cualquier tablaocupará un área de trabajo, siempre que quiera acceder al cursor deberá anotar:

SELECT ResArtBROWSE

Para anular el cursor, use:

SELECT ResArtUSE

En el supuesto que éste resultado deba grabarse en disco a manera de tabla puedeusar el término SAVE

SELECT NomArticulo, StockFROM ArticuloORDER BY NomArticuloWHERE Stock <> 0

SAVE TO ResArt

En este caso se generará el archivo ResCliente.DBF

Page 76: Visual FoxPro SQL Server y ASP - Programación multiusuario

Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP

31

Cálculos con columnas

Puede efectuar calculos sobre las columnas, mediante el uso de funciones SQL decolumna.

Función SQL AcciónSUM() Suma el contenido de la columnaAVG() Promedia el contenido de la columnaCOUNT() Cuenta el número de filas de la columnaMIN() Halla el menor valor de la columnaMAX() 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 dehoy:

OPEN DATABASE PCVentasSELECT COUNT(IdFactura)FROM Factura

WHERE Fecha = DATE()

Page 77: Visual FoxPro SQL Server y ASP - Programación multiusuario

Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP

32

Especificando una condición

Respecto a la condición puede usar los operadores:

Operador Comparación= Igual== Exactamente igualLIKE 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 carácter,se caracteriza por permitir el uso de caracteres comodin:

Comodín Acción_ (subrayado) Sustituye un carácter

% Sustituye un grupo de caracteres

Por ejemplo si quiere obtener una lista de clientes cuyo primer o segundo nombresea “Jose”:

SELECT NomClienteFROM ClienteWHERE NomCliente LIKE “%JOSE%”

Page 78: Visual FoxPro SQL Server y ASP - Programación multiusuario

Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP

33

Agrupando resultados

Otra de las operaciones frecuentes corresponde a las agrupar, por ejemplo se deseaobtener 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 sedesea agrupar y despues implementarlo con ayuda de la claúsula GROUP BY:

SELECT CMONTH(Fecha), COUNT(IdFactura)FROM Factura GROUP BY 1

☺ Cuando se generan expresiones, Visual FoxPro asigna un nombre a cada columna, podemosasignarle uno apropiado usando la claúsula AS.

La solución anterior quedaria mejor:

SELECT MONTH(Fecha) AS nMes,CMONTH(Fecha) AS Mes,COUNT(IdFactura) AS FacturasFROM Factura

GROUP BY 2ORDER BY 1

☺ En www.LibrosDigitales.NET, hallará un guia completa de programación en SQL

Page 79: Visual FoxPro SQL Server y ASP - Programación multiusuario

Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP

34

Obtención de resultados a través de Vistas

Las vistas a diferencias de las tablas no contienen datos, sino que al utilizarlamuestra los datos existentes en las tablas. Por lo tanto, los cambios en lainformación de las tablas aparecen reflejados en la vista. El tipo de vista mássencillo selecciona las filas y las columnas de una sola tabla. Se puede construiruna vista para una sola tabla con el fin de reducir el número de columnas que semuestran, o utilizar una vista para restringir el acceso de los usuarios a lainformación de ciertas columnas. También se puede crear una vista que muestresólo las filas que cumplen un criterio de selección.

Las vistas pueden crearse mediante el mandato CREATE VIEW. La sintaxis de estemandato es:

CREATE VIEW <nombre vista>AS <sentencia SELECT>

Podemos crear una vista a partir de la tabla Articulo considerando solo los camposnombre del articulo y stock, ordenado alfabéticamente y stock distinto a cero:

CREATE VIEW ResArt ASSELECT NomArticulo, Stock

FROM ArticuloORDER BY NomArticuloWHERE Stock <> 0

Las vistas cuando son creadas se guardan como un elemento mas de la Base deDatos, puede veficar:

MODIFY DATABASE

Puede usar cualquiera de las formas siguientes para inspeccionar el resultadogenerado por la vista ResArt:

USE PCVentas!ResArt OPEN DATABASE PCVentasBROWSE SELECT * FROM ResArt

Para borrar una vista use la orden DROP VIEW:

DROP VIEW miVista

Page 80: Visual FoxPro SQL Server y ASP - Programación multiusuario

Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP

35

El Diseñador de Vistas

El diseño de una vista puede hacerse complicado si la selección de campos es apartir de multiples tablas. Lo interesante de Visual FoxPro es que para este tipo decasos aporta con un Diseñador donde solo tendrá que usar el mouse, internamentese estará generando el codigo SQL.

Tal como se vió en la pagina anterior las vistas se almacenan como un elementomas de la Base de Datos. Por tanto podrá utilizarlos como un objeto mas en elentorno de programación.

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, porejemplo una Base de Datos Access, SQL Server, Oracle u otra.

Las vistas permitirán:

• 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.

Page 81: Visual FoxPro SQL Server y ASP - Programación multiusuario

Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP

36

Vistas Locales

Vamos a plantear el siguiente problema: “Se necesita averiguar el IGVcorrespondiente a cada mes”.

1. Iniciamos el diseño de la vista haciendo Click derecho sobre el Diseñador deBase de Datos y eligiendo la opcion Nueva Vista Local

2. A continuación se muestre un dialogo para la seleccion de tablas, necesitamoslas tablas Factura y Detalle.

3. Ahora hay que seleccionar los campos necesarios:

MONTH(Factura.Fecha) AS MesDetalle.PreVentas*Detalle.Cantidad*0.18 AS IGV

Si se tratara de simples campos bastaria ubicarlos en la lista de Camposdisponibles y trasladarlos a la lista de Campos seleccionados mediante el botonAgregar.

Cuando se trate de campos calculados como es el caso del Mes, constrúyalos enel cuadro de texto Funciones y Expresiones que se encuentra debajo de la listade Campos disponibles.

Page 82: Visual FoxPro SQL Server y ASP - Programación multiusuario

Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP

37

Hay expresiones mucho mas complejas, que requieren de mayor espacio, enese caso pulse el botón de tres puntos, le llevará al diálogo Funciones yExpresiones.

Podemos ver un previo del resultado haciendo click derecho y eligiendo laopcion Ejecutar.

Page 83: Visual FoxPro SQL Server y ASP - Programación multiusuario

Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP

38

4. Puede verse en la ventana examinar que falta agrupar los datos por la columnaMes 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 Camposdisponibles a la lista Campos agrupados.

5. Hay un cambio mas que se debe realizar, vaya a la pagina Campos, y corrija laespecificacion de los campos Mes e IGV y agregue el campo nMes:

MONTH(Factura.Fecha) AS nMesCMONTH(Factura.Fecha) AS MesSUM(Detalle.PreVenta*Detalle.Cantidad*0.18) AS IGV

Finalmente ejecute.

6. Como verá el orden no es el adecuado, se ha efectuado según la columna Mes(alfabético), para corregir el resultado vaya a la pagina Ordenar por y trasladeel campo nMes de la lista Campos seleccionados a la lista de Criterio deordenación.

7. Obtenida la solucion grabe la vista con el nombre IGVMensual pulsando Ctrl-W.

Si desea calcular el IGV del año, bastará que desde la Ventana de comandos anote:

USE PCVentas!IGVMensualSUM IGV TO IGVTotal? IGVTotal

☺ Obtenga la segunda entrega de éste libro en www.LibrosDigitales.NET, se discutirá la integración delas Vistas en el modo de programación para efectuar consultas y actualizaciones.

Page 84: Visual FoxPro SQL Server y ASP - Programación multiusuario

Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server 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 condición• Mejora el rendimiento de la aplicación

Para parametrizar la vista VenVentas, debemos crear primero un parámetro devista.

1. Diríjase al menú Consulta, y seleccione la opción Parametros de Vista.

2. En el diálogo Parametros de Vista, anote el nombre de un parámetro, ennuestro caso: nMes, luego señale el tipo: Numerico.

3. Finalmente haga click en Aceptar

Usando el parámetro:

1. Ubique en la vista la pagina Filtro y realice el cambio:

MONTH(FacDet.Fecha) = ?nMes

☺ El simbolo de interrogación debe estar junto al parámetro, el dejar un espacio en blanco ocasionaráun error.

Si ejecuta la vista desde el Diseñador de Vistas, le mostrará un diálogo solicitándoleel ingreso de una valor numérico para nMes.

La otra forma de ejecución es:

nMes = 11USE PCVentas!VenVentasBROWSE

☺ Siendo ésta última adecuada para ser usada en el modo de programación.

Page 85: Visual FoxPro SQL Server y ASP - Programación multiusuario

Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP

40

Actualización de tablas a través de Vistas

Podemos crear vistas para realizar operaciones de actualización en tablas. Lascondiciones son las siguientes:

• En la selcción de campos debe incluir el campo llave de la tabla• Debe indicar que campos presentarán la propiedad de ser actualizables• No olvidar señalar 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 Diseñador de Vistas:

Tablas Cliente

Campos Cliente.IdClienteCliente.NomClienteCliente.DirClienteCliente.TelClienteCliente.Email

Condicion Cliente.IdCliente = ?codCiente

Ahora especificamos las propiedades de actualización en Criterios de Actualización:

• Señalamos 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 lápiz• Señalamos la casilla Enviar actualizacion SQL.

Page 86: Visual FoxPro SQL Server y ASP - Programación multiusuario

Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP

41

Para realizar una prueba, puede ejecutar:

codCliente = "C0023"USE PCVentas!vClienteEDIT

Realice algunos cambios, luego pulse Ctrl-W. Para actualizar la tabla deberá cerrarla vista, mediante el uso de:

SELECT vClienteUSE

☺ Puede actualizar la tabla sin cerrar la tabla, usando la función:

SELECT vClienteTABLEUPDATE()

Page 87: Visual FoxPro SQL Server y ASP - Programación multiusuario

Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server 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 Diseñador de Consultas es muy parecido al Diseñador de Vistas.

Como ejemplo vamos a obtener un “Analisis de las ventas mensuales”, efectuandoun borrador de lo solicitado tenemos:

Tablas FacturaDetalle

Campos MONTH(Factura.fecha) AS nMesCMONTH(Factura.fecha) AS MesSUM(Detalle.PreVenta*Detalle.Cantidad) AS Total

Ordenar por nMes

Agrupar por nMes

Para iniciar una nueva consulta:

1. Vaya al menú Archivo, opción Nuevo...

2. En el diálogo Nuevo archivo, señale 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 elmenú emergente la opcion Ejecutar, por defecto el resultado se mostrará enuna ventana Examinar.

5. Para direccionar la salida hacia un gráfico, vaya al menú Consulta, opcionDestino de la consulta. En el dialogo Destino de la consulta, señale Grafico.

Page 88: Visual FoxPro SQL Server y ASP - Programación multiusuario

Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server 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 lageneración de gráficos.

7. El Asistente le pedirá que defina los ejes del gráfico, así que arrastre el campoMes de la lista de Campos disponibles hacia el eje X del gráfico, luego arrastreel campo Total de la lista de Campos disponibles a la lista Serie de datos.

8. El siguiente paso, elija un estilo de gráfico

9. Para finalizar haga click en el botón Finalizar.

10. En la ventana Vista preliminar del gráfico, puede hacer algunos cambios, porejemplo escoger un tipo de letra diferente para los títulos, cambiar de color lasbarras, etc. Para acceder a estos objetos en modo de edición haga click derechosobre el objeto y escoja la opción Editar o Modificar:

11. Al finalizar el Asistente le pedirá un nombre para un archivo, puede llamarloVenMensual, entonces se habrá creado el archivo VenMensual.SCX

12. Puede abrir el archivo, en modo de edición, hallará un objeto ole, llamadooChart.

MODIFY FORM VenMensual

L Si altera los cambios de la tabla Detalle, notará que el gráfico del formulario no se actualiza.

Page 89: Visual FoxPro SQL Server y ASP - Programación multiusuario

Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP

44

Actualizando el gráfico en tiempo de ejecución

Puede acceder al componente MS-Graph mediante código de programa y hacer quese actualice automáticamente, antes debe tener en cuenta que MS-Graph presentauna hoja de datos de forma tabular.

Haga doble click en el formulario anteriormente generado y anote el siguientecódigo en el evento Init del Formulario.

Objeto: Form1 Proc.: Init

OPEN DATABASE PCVentasSELECT 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 = 1SCAN

.datasheet.range("0"+ALLTRIM(STR(n))).value = Mes

.datasheet.range("A"+ALLTRIM(STR(n))).value = Totaln = n+1

ENDSCAN.chart.hastitle = .t..chart.charttitle.text = "Mi gráfico"

ENDWITH

Grabe el Formulario y luego ejecute:

DO FORM VenMensual

☺ Deje sus preguntas y opiniones en www.LibrosDigitales.NET, luego descargue la nueva edición deéste libro.

Page 90: Visual FoxPro SQL Server y ASP - Programación multiusuario

Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP

45

Impresión

La parte impresa la podemos solucionar de dos maneras:

• Usando el Generador de Informes• A través de código de programa

El origen de datos

Puede iniciar el diseño de un informe a partir de una tabla o a partir de múltiplestablas.

• Si se trata de una tabla, el diseño del informe es sumamente sencillo.

• Si se trata de múltiples tablas, le sugiero resumir los campos y los registrosnecesarios mediante el diseño de una vista o cursor.

Puede diseñar un informe a partir de una tabla, y luego usar el mismo informe conotra 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.

Page 91: Visual FoxPro SQL Server y ASP - Programación multiusuario

Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP

46

El Generador de Informes

Informes a partir de una tabla

Vamos a diseñar un informe sencillo, se tratará de un catálogo de precios.

Inicie el diseño de un informe siguiendo los pasos siguientes:

1. Prepare el origen de datos

Determine que tablas serán necesarias para solucionar el caso, en nuestro casose trata de una sola tabla: Articulo

Catálogo de Precios

Codigo Descripcion Precio99999 XXXXXXXXXXXXXXXXXXXXXXXXXXXX 9999.9999999 XXXXXXXXXXXXXXXXXXXXXXXXXXXX 9999.9999999 XXXXXXXXXXXXXXXXXXXXXXXXXXXX 9999.9999999 XXXXXXXXXXXXXXXXXXXXXXXXXXXX 9999.99.........Fecha: dd/mm/aa No Pag. 999

2. Configure la pagina

Inicie el Diseñador de Informes, vaya al menú Nuevo, opcion Archivo, señalecomo tipo de archivo Informe y haga click en el botón Nuevo.

El Diseñador de Informes, consta por defecto de tres bandas móviles:

• Encabezado de página, donde situará el título del informe, los títulos delas columnas.

• Detalle, donde por lo general se ubica los campos

• Pie de página, donde ubicará alguna anotación, la fecha de impresión y elnúmero de página.

Hay otras bandas adicional, como la banda Título, la banda Resúmen y lasbandas de Grupo, que luego se describirán.

Empiece determinando el formato de papel que se usará en la impresión, vayaal menú Archivo, opción Configurar página.

A la izquierda tiene un previo de la distribucion de los margenes del papel,puede señalar el margen izquierdo y luego determinar el margen derecho enbase al ancho.

Page 92: Visual FoxPro SQL Server y ASP - Programación multiusuario

Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP

47

Para señalar el formato de papel, haga click en el botón Especificarimpresora. El diálogo que se muestra puede variar según la impresoraseleccionada.

A continuación fije el alto de cada banda, para mayor precisión puede ayudarsecon la regla guía.

La altura del encabezado y del pie de pagina se determina arrastrando la bandacorrespondiente, debe incluir en estas los margenes superior e inferiorrespectivamente. La altura que determine en la banda Detalle corresponde alinterlineado.

Una vez configurada la página, haga click derecho sobre el Diseñador deInformes y elija en el menú emergente la opción Entorno de Datos.

Diseñador de informes

En la ventana Entorno de datos, haga click derecho y agregue la tabla Articulomediante la opcion Agregar.

Page 93: Visual FoxPro SQL Server y ASP - Programación multiusuario

Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP

48

Barra de herramientas Diseñador de InformesAgrupar datosEntorno de datosBarra de herramientas Controles de informesBarra de herramientas Paleta de coloresBarra de herramientas Distribución

Barra de herramientas Controles de InformePara seleccionar objetosPara ubicar etiquetas (texto fijo)Para ubicar campos, variables y expresionesPara el dibujo de lineasPara el dibujo de rectangulosPara dibujar circulos, elipsesPara ubicar imágenesBloquea un boton

Barra de herramientas DistribuciónAlinea los bordes izquierdos o derechosAlinea los bordes inferiores o superiores

Alinea centros verticalmente u horizontalmente

Mismo ancho o mismo altoMismo tamañoCentra horizontalmente o verticalmenteEnvia al fondo o trae a primer plano

Barra de herramientas Paleta de coloresColor de primer plano (borde)Color de fondoColores

Page 94: Visual FoxPro SQL Server y ASP - Programación multiusuario

Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP

49

3. Diseñe el informe

Para el diseño del informe, dispondrá de una barra de herramientas, llamadaBarra de herramientas Diseñador de informes, puede habilitarla desde el menúVer, en caso estuviera oculta.

Una forma rápida de construir el informe es arrastrando los campos de laventana Entorno de datos hacia el Diseñador de Formularios

Puede ver el aspecto del informe, haciendo click derecho sobre el Diseñador deInformes y eligiendo la opcion Vista preliminar del menu emergente.

Presentación preliminar

Para colocar los titulos, haga uso del control Etiqueta de la barra deherramientas Controles de Informe.

Diseñando un informe

Page 95: Visual FoxPro SQL Server y ASP - Programación multiusuario

Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP

50

Los campos y expresiones situélos en el formulario mediante el control Campode la barra de herramientas Controles de Informe.

Por ejemplo para colocar la fecha de impresión, haga uso del control Campo, alhacer click sobre el Diseñador, se mostrará el diálogo Expresion de informe,en la region Expresion, puede anotar la funcion DATE().

De tratarse de una expresión compleja, puede hacer click en el boton de trespuntos, le conducirá al dialogo Generador de Expresiones.

En el dialogo Generador de Expresiones, tiene acceso a las funciones, las cualesestán agrupadas en cuatro listas, asi mismo se muestra una lista de los camposde la tabla situada en el Entorno de datos y una lista con las variables delsistema y de usuario. Una vez construida la expresion puede validarla medianteel boton Comprobar.

Para colocar el número de página siga el mismo procedimiento, seleccione lavariable 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 trespuntos ubique el archivo PCLogo.GIF.

Puede mostrar en el catálogo una imagen de cada articulo, situando un controlOLE en el detalle y asociandolo al campo Foto. Aunque resulta mas sencilloarrastrar el campo Foto de la ventana Entorno de datos hacia el Diseñador deinformes.

Diseñando un informe

Puede aplicar un estilo de fuente a uno de los objetos vaya al menu Formatoopcion Fuente.

Puede obtener un impresión de prueba haciendo click derecho y eligiendo laopcion Imprimir.

Para grabar el diseño use la combinación Ctrl-W, vamos a llamar al archivoPrecios, se creará entonces el archivo Precios.FRX y Precios.FRT.

Page 96: Visual FoxPro SQL Server y ASP - Programación multiusuario

Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server 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 catálogo de precios de articulos existentes anotaría:

REPORT FORM Precios TO PRINT PROMPT FOR Stock > 0

☺ En quince dias estará disponible la siguiente edición, para que sea posible te agradeceremosremitirnos tus inquietudes, aportarnos con ideas y por que no soluciones. De ti depende que este libromejore en contenido.

www.LibrosDigitales.NET

Page 97: Visual FoxPro SQL Server y ASP - Programación multiusuario

Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP

52

Próxima Entrega

Edición 1.1Dentro de una semana

Prohibida la reproducción total o parcialSin nuestro consentimiento

Derechos de copia reservadoswww.LibrosDigitales.NET