Zobacz przyk³adowy rozdzia³. Aktualny cennik ksi¹ ek em. Informacje o nowoœciach em. Zamów najnowszy katalog
|
|
- Łukasz Nowak
- 6 lat temu
- Przeglądów:
Transkrypt
1 Active Server Pages 2.0 dla ka dego Autor: Sanjaya Hettihewa T³umaczenie: Piotr Rajca ISBN: Format: B5, 720 stron Data wydania: 10/1999 Cena ksi¹ ki: z³ Przesy³ka gratis! Odbiorca pokrywa jedynie koszty pobrania (2,70 z³) w przypadku przesy³ki za zaliczeniem pocztowym Wydawnictwo Helion ul. Chopina 6, Gliwice, POLAND telefon: (32) , fax: (32) w.10 mail: helion@helion.com.pl Dziêki tej pozycji czytelnik w bardzo krótkim czasie nabêdzie umiejêtnoœci, które pozwol¹ rozpocz¹æ efektywn¹ pracê z Active Server Pages 2.0. Ksi¹ ka ukazuje funkcje i dzia³anie ASP 2.0 od podstaw a do bardziej zaawansowanych funkcji i pojêæ. Czytaj¹c tê ksi¹ kê mo na zrozumieæ podstawy tworzenia dynamicznych i interaktywnych stron internetowych, nauczyæ siê tworzenia aplikacji niezale ne od typu przegl¹darki internetowej, wkorzystaæ si³ê ActiveX Data Objects (ADO) w tworzeniu internetowych aplikacji baz danych,urozmaiciæ swoje strony internetowe przy pomocy aplikacji ASP, rozwin¹æ mo liwoœci ASP dziêki samodzielnemu projektowaniu skryptów i komponentów ASP, opanowaæ bardzo wyszukane techniki interakcji z u ytkownikiem, wykorzystuj¹ce formularze HTML, Javê, ActiveX, okna dialogowe i pola tekstowellllllllllllllllllllllllllllllllllllllllllllllllllllllllllll Zobacz przyk³adowy rozdzia³ Spis treœci Je eli znasz tê ksi¹ kê oceñ j¹ Aktualny cennik ksi¹ ek em Ksi¹ ki i "3D" Online Informacje o nowoœciach em Zamów najnowszy katalog Helion 1999
2 5R]G]LDä 7ZRU]HQLH DSOLNDFMLED]GDQ\FK SU]\X\FLX RELHNWÑZGDQ\FK$FWLYH; QDSLVDá'XQFDQ0DFNHQ]LH : SRSU]HGQLP UR]G]LDOH ]RVWDáR SU]HGVWDZLRQH SRMFLH Z\NRU]\VW\ZDQLD ED] GDQ\FK w aplikafmdfk $63 ED]XMFH QD F]\PRNUHODQ\P MDNR $'2 $'2 $FWLYH; 'DWD 2EMHFWV±RELHNW\GDQ\FK$FWLYH;MHVW]ELRUHP]HZQWU]Q\FKRELHNWyZNWyU\PLPR*HV] operozdü]hvzrlfkvwurqgdmflpw\pvdp\ppr*olzrüsudf\]ed]dplgdnych. PonieZD*]REDF]\áHMX*SU]\NáDGVSRVoEXX*\FLDW\FKRELHNWyZZW\PUR]G]LDOHRPy ZLP\ND*G\]QLFK]QDF]QLHEDUG]LHMV]F]HJyáRZR:W\PUR]G]LDOH X Odkryjesz czym jest ADO. X =DSR]QDV]VL]PRGHOHPRELHNWRZ\P$'2 X 8*\MHV]$'2GRVWZRU]HQLDDSOLNDFMLIRUXPX*\WNRZQLNyZ X :\NRU]\VWDV]]DDZDQVRZDQHPR*OLZRFL$'2VFKHPDW\GDQ\FK 3UH]HQWDFMD$'2 $'2 MHVW JUXS RELHNWyZ ]DSURMHNWRZDQ\FK Z FHOX GRVWDUF]HQLD SURVWHJR LQWHUIHMVX programivw\f]qhjr VáX*FHJR GR RSHURZDQLD QD ED]DFK GDQ\FK : SU]HV]áRFL VWZR rzono wiele podobnych systemów takich, jak: DAO (Data Access Objects) lub RDO
3 &]öè,, 5HPRWH'DWD2EMHFWVNWyUHE\á\EDUG]RV]HURNRZ\NRU]\VW\ZDQHSU]H]SURJUDPLVWyZ NRU]\VWDMF\FK ] M]\NyZ 9LVXDO %DVLF 9LVXDO & RUD] RVRE\ X*\ZDMFH SURJUDPX 0LFURVRIW$FFHVV0LFURVRIWVWZLHUG]Lá*HWHSoSU]HGQLHV\VWHP\E\á\]E\WRJUDQLF]RQH SRG Z]JOGHP PR*OLZRFL RSHURZDQLD QD ZLHOX Uy*Q\FK W\SDFK GDQ\FK LVWQLHMF\FK wuhdoq\pzlhflh]whjrsrzrgxsrzvwdár2/('%2/('%pdzv]\vwnlhfhfk\ NWyU\FKEUDN'$2±MHVWV]\ENLHPDáHLHODVW\F]QH'$2MHVWLQWHUIHMVHP-HW±PHcha- QL]PXED]GDQ\FKZ\NRU]\VW\ZDQ\PZ$FFHVVLHNWyU\QLH]RVWDá]DSURMHNWRZDQ\GR REVáXJLLQQ\FKW\SyZGDQ\FK=GUXJLHMVWURQ\2/('%PR*HSUDFRZDü]HZV]\VWNLP ZáF]QLH ] GDQ\PL NWyUH QLH V ]DSLVDQH Z WUDG\F\MQ\P IRUPDFLH WDEHODU\F]Q\P :V]\VWNLH WH IDNW\ ZLDdF]RW\P*H 2/( '% MHVW DNWXDOQLH SUHIHURZDQ\P QDU] dziem programistycznym, niestety povldgd RQR MHGQ SRGVWDZRZZDG NWyUD XQLH PR*OLZLáDMHJRSRZV]HFKQHZ\NRU]\VWDQLH±2/('%MHVWQLHVá\FKDQLHVNRPSOLNRZDQH $E\SU]H]Z\FL*\üWHQSUREOHP0LFURVRIWVWZRU]\á$'2SURVWZDUVWZXPLHV]F]R QSRQDG2/('%LGRVWDUF]DMFáDWZLHMV]HJRLQWHUIHMVXSURJUDPistycznego. 3RVLDGDMF MHG\QLH WU]\ JáyZQH RELHNW\ RUD] NLOND SRPRFQLF]\FK NROHNFML $'2 MHVW bardzo provwh']lnlwhpx$'2mhvwádwzhzx*\flxlqlhwuxgqrvljrqdxf]\ümhgqr F]HQLHPR*QDSU]\MHJRSRPRF\]URELüQLHPDO*HZV]\VWNRFRPR*QDZ\NRQDü]ED] GDQ\FK']LNLVZRMHMSURVWHMNRQVWUXNFML$'2GRVNRQDOHQDGDMHVLGRZ\NRU]\VWDQLD ZUD]]$63D]DWHPVWDáDVLRQDMHG\QPHWRGREVáXJLED]GDQ\FKZ\NRU]\VW\ZDQ GRWZRU]HQLDDSOLNDFML $63 8ZD*D VL WDN*H L* $'2 MHVW OHSV]\P QDU]G]LHP GR Z\NRU]\VWDQLD Z 9LVXDO %DVLFX RUD] LQQ\FK URGRZLVNDFK SURJUDPLVW\F]Q\FK FKRü wynru]\vw\zdqlh$'2sr]dwhfkqrorjl$63grslhurwhud]]\vnxmhvrelhsrsxodrqrü 0RGHORELHNWRZ\$'2 $'2SRVLDGDMHG\QLHV]HüRELHNWyZLGZLHNROHNFMHMHGQDNVSRUyGW\FKV]HFLXRELH któw jedyqlhwu]\qdoh*\x]qdü ]D RELHNW\ JáyZQH NWyU\FK G]LDáDQLH EG]LHV] PXVLDá wsháql]ur]xplhü2elhnwdplw\plv X Connection, X Command, X Recordset..D*G\]W\FKJáyZQ\FKRELHNWyZ]RVWDQLHZ\MDQLRQ\ZGDOV]\FKF]FLDFKWHJRUR] G]LDáXJG]LH]RVWDQSRGDQHOLVW\ZV]\VWNLFKLFKZáDFLZRFLLPHWRG3U]\NáDG\Z\NR U]\VWDQLDW\FKRELHNWyZ]RVWDQSRGDQHZGDOV]HMF]FLUR]G]LDáXMDNRF]üV\VWHPX )RUXP8*\WNRZQLNyZ=REDF]\V]MHWDN*HZQDVWSQ\PUR]G]LDOH 2ELHNW&RQQHFWLRQ =JRGQLH ] W\P F]HJR GRZLHG]LDáHVL Z SRSU]HGQLP UR]G]LDOH ND*GH Z\NRU]\VWDQLH bazy danych wymaga obiektu Connection5HSUH]HQWXMHRQU]HF]\ZLVWVHVMQDZL ]DQ]ED]GDQ\FK=D]Z\F]DMMHG\Q\PLPHWRGDPLWHJRRELHNWXZ\NRU]\VW\ZDQ\PL Z VNU\SWDFK $63 V PHWRG\ Open() i Close(). Listing 11.1 przedstawia, w jaki VSRVyEPR*QDZ\NRU]\VWDüRELHNWConnection.
4 5R]G]LDä 7ZRU]HQLHDSOLNDFMLED]GDQ\FKSU]\X\FLXRELHNWÑZGDQ\FK$FWLYH; /LVWLQJWykorzystanie obiektu Connection <% 3. Dim Conn 'Nasz obiekt Connection Set Conn = Server.CreateObject( "ADODB.Connection" ) Conn.Open "DSN=WEBSQL;UID=sa;pwd=;" ' Tu przychodzi inny kod Conn.Close 12. %> : SU]HGVWDZLRQ\P SRZ\*HM NRG]LH Z NLONX NURNDFK MHVW WZRU]RQ\ Z\NRU]\VW\ZDQ\ i zamykany obiekt Connection. W linii 3. jest deklarowana zmienna Conn, w której zostanie zapisany obiekt Connection. Takie deklarowanie zmiennej nie jest konie- F]QH OHF] XZD*D VL MH ]D OHSV] SUDNW\N SURJUDPLVW\F]Q : OLQLL SU]\ X*\FLX metody Server.CreateObject jest tworzony faktyczny egzemplarz obiektu Connection&]\QQRüWDPXVL]RVWDüZ\NRQDQDSU]HGZ\ZRáDQLHPMDNLHMNROZLHNPHWRdy OXEZáDFLZRFLRELHNWX3RVWZRU]HQLXRELHNWXZOLQLLMHVWRWZLHUDQDVHVMD]ED] GDQ\FK D MDNR SDUDPHWU Z\ZRáDQLD PHWRG\ 2SHQ MHVW X*\ZDQ\ ádfxfk ]QDNyZ SRáF]HQLD]H(UyGáHPGDQ\FK7HQáDFXFK]QDNyZVNáDGDVL]WU]HFKRGG]LHOQ\FKLn- IRUPDFML±QD]Z\'61LGHQW\ILNDWRUDX*\WNRZQLNDRUD]KDVáD:V]\VWNLHWHLQIRUPDFMH PR*QDSRGDüRGG]LHOQLHMDNSoND]DQRQDSRQL*V]\PSU]\NáDG]LH Conn.Open "WEBSQL", "sa", "" 'RZROQ\NRGRSHUXMF\QDSRáF]HQLXSRZLQLHQ]RVWDüXPLHV]F]RQ\SRPLG]\OLQL iolql Obiekt Connection posiada siedem metod przedstawionych w tabeli DEHOD Metody obiektu Connection 0HWRGD Open Close Execute BaginTrans 2SLV 7ZRU]\VHVM]ED]GDQ\FK-HVWWR]D]Z\F]DMSLHUZV]DLQLHZWSOLZLH najzd*qlhmv]dz\zráywana metoda. =DP\NDVHVMMHOLVHVMDMHVWRWZDUWD-HOLQLHPDRWZDUWHMVHVMLWRPHWRGD]ZUDFD EáG :\NRQXMHSROHFHQLH64/ZED]LHGDQ\FK0HWRGDWDMHVWX*\WHF]QDSU]\ Z\NRQ\ZDQLXF]\QQRFLNWyUHQLH]ZUDFDMZZ\QLNXUHNRUGyZGDQ\FKWDNLFKMDN XVXQLFLHQLHNWyU\FKUHNRUGyZWDEOLF\ 5R]SRF]\QDWUDQVDNFM]ED]GDQ\FK:LFHMLQIRUPDFMLQDWHPDWWUDQVDNFML ivsrvreyzlfkx*\zdqld]qdmg]lhv]zur]g]ldohswä8*\zdqlhnrpsonentów ActiveX stworzonych dla ASP.
5 &]öè,, 7DEHOD Metody obiektu &RQQHFWLRQ±FLJGDOV]\ 0HWRGD CommitTrans RollbackTrans OpenSchema 2SLV -HGQD]GZyFKPHWRGD]DNRF]HQLDWUDQVDNFML]ED]GDQ\FKWDPHWRGDLQIRUPXMH ED]RW\P*HFDáDRSHUDFMD]RVWDáD]DNRF]RQDSRP\OQLHDZV]\VWNLH PRG\ILNDFMHGDQ\FKSRZLQQ\]RVWDü]DVWRVRZDQH,QQDPHWRGD]DNRF]HQLDWUDQVDNFMLLQIRUPXMHRQDED]GDQ\FKRZ\VWSLeniu EáGyZLR]QDF]D*HZV]\VWNLHRSHUDFMHZ\NRQDQHQDED]LHRGPomentu Z\ZRáDQLDPHWRG\BeginTransSRZLQQH]RVWDüZ\FRIDQH Ta zaawansowana metoda jest wykorzystywana raczej rzadko. Zwraca ona zbiór UHNRUGyZNWyUHJR]DZDUWRü]DOH*\RGSLHUZV]HJRDUJXPHQWXZ\ZoáDQLDPHWRG\ 3HáQDOLVWDDUJXPHQWyZPHWRG\RUD]RGSRZLDGDMF\FKLPZDUWRFLQLHPRJáD]RVWDü SU]HGVWDZLRQDMHGQDNSU]\NáDGMHMZ\NRU]\VWDQLD]RVWDáSRGDQ\ZVHNFMLÄ3UDFD]H VFKHPDWDPLED]GDQ\FK ]QDMGXMFHMVLZGDOV]HMF]FLWHJRUR]G]LDáX Obiekt Connection SRVLDGD WDN*H G]LHZLü ZáDFLZRFL WH QDMEDUG]LHM SRSXODUQH ix*\whf]qh]rvwdá\su]hgvwdzlrqhzwdehol 7DEHOD 3RSXODUQHLSU]\GDWQHZáDFLZRFLRELHNWXConnection :ädflzrè ConnectionString ConnectionTimeout CommandTimeout State Attributes 2SLV 7DZDUWRü]DZLHUDLQIRUPDFMHSRWU]HEQHGRVWZRU]HQLDVHVML]ED] GDQ\FK PR*HRQD]RVWDüSU]HND]DQDEH]SRUHGQLRGRZ\ZRáDQLDPetody Open LWDNVL]D]Z\F]DMG]LHMH 2NUHODMDNGáXJRPHWRGDOpenEG]LHRF]HNLZDáDQDRWU]\PDQLHGDQ\FK ]DQLP]JáRVLEáG 7DZDUWRüMHVWX*\ZDQDGRRNUHOHQLDMDNGáXJRSROHFHQLHZ\GDQHVHVML zed]gdq\fkeg]lhz\nrq\zdqh]dqlp]rvwdqlhz\jhqhurzaq\eág przekroczenia limitu czasu. 7DZáDFLZRü]ZUDFDMHGQ]GZyFKZDUWRFLRNUHODMFF]\SRáczenie zed]gdq\fkmhvwrwzduwh1f]\wh*]dpnqlwh0). :ádflzrü]ddzdqvrzdqd]zudfdqdsu]h]qlzduwrürnuhodpr*olzrfl XGRVWSQLDQHSU]H]ED]GDQ\FKMDNQDSU]\NáDGREVáXJWUDQVDNFML1LHMHVW ona wymagana przy tworzeniu prostych systemów. =D SRPRF RELHNWX Connection PR*QD WDN*H X]\VNDü GRVWS GR GZyFK NROHNFML przedstawionych w tabeli Obiekt ConnectionMHVWWZRU]RQ\LRWZLHUDQ\QDVDP\PSRF]WNXSUDF\]ED]GDnych, MHGQDNSU]HZD*QLHQLHMHVWRQX*\ZDQ\ZSRMHG\QN'RIDNW\F]QHJRPDQLpulowania ED] GDQ\FK MHVW Z\NRU]\VW\ZDQ\ SU]HZD*QLH SU]\QDMPQLHM MHGHQ ] SU]HGVWDZLRQ\FK SRQL*HMRELHNWyZ2ELHNW&RPPDQGZ\NRU]\VWXMHRELHNWConnectionSRSU]H]VZRM ZáDFLZRüRQD]ZLHActiveConnection.
6 5R]G]LDä 7ZRU]HQLHDSOLNDFMLED]GDQ\FKSU]\X\FLXRELHNWÑZGDQ\FK$FWLYH; 7DEHOD Kolekcje obiektu Connection.ROHNFMD Errors Properties 2SLV Jest to kolekcja obiektów Error]NWyU\FKND*G\RGSRZLDGDMHGQHPXEádowi Z\JHQHURZDQHPXZF]DVLHWUZDQLDWHMVHVML]ED] GDQ\FK 7NROHNFMSRVLDGDND*G\RELHNW$'2XGRVWSQLDRQDSRGSRVWDFLNROHNFML ZV]\VWNLHZáDFLZRFLRELHNWXSU]HGVWDZLRQHZWDEHOL 2ELHNW&RPPDQG Obiekt CommandUHSUH]HQWXMHMHGQRSROHFHQLHZ\GDQHSRáF]HQLX]ED]GDQ\FKWDNLH jak polefhqlh64/oxesurfhgxudrvdg]rqddqjvwruhgsurfhgxuh2elhnw]rvwdá]dprojektowany do lepv]hmreváxjlz\nrq\zdqldsrohfhwhjrw\sxql*xpr*olzldwrphwrgd Execute obiektu Connection. Obiekt Command SRVLDGD JUXSZáDFLZRFL PHWRG i koohnfmlnwyuh]rvwdá\su]hdstawione w tabelach 11.4, 11.5 i DEHOD :ádflzrflrelhnwxcommand :ädflzrè ActiveConnection CommandText CommandTimeout CommandType Prepared 2SLV.D*G\RELHNWCommandSUDFXMHQDVNRMDU]RQ\P]QLPSRáF]HQLX]ED] GDQ\FK7DZáDFLZRüSRELHUDOXEXVWDZLDRELHNWConnection wykorzystywany przez polecenie. 7DZáDFLZRüSU]HFKRZXMHSROHFHQLH64/OXESURFHGXURVDG]RQNWyUDPD ]RVWDüZ\NRQDQDSU]H]SROHFHQLH 7DZáDFLZRüPDWDNLHVDPRSU]H]QDF]HQLHFRDQDORJLF]QDZáDFiZRüRELHNWX Connection. 7DZDUWRüLQIRUPXMH(UyGáRGDQ\FKRQDWXU]HWHNVWXSROHFHQLDMDNL]RVWDáPX SU]HND]DQ\:áDFLZRüPR*HSRVLDGDüMHGQ]ZLHOXUy*Q\FKZDUWRFLMHGQDN QDMF]FLHMVSRW\NDQHVText (1) (tekst) oraz Stored Procedure (4) (procedura osadzona). :ádflzrünrqwuroxmhf]\su]hgz\nrqdqlhpsrohfhqld]rvwdqlhvwzru]rqd jego skompilowana wersja. 7DEHOD Metody obiektu Command 0HWRGD CreateParameter Execute 2SLV.D*G\RELHNWCommandSRVLDGDNROHNFMRELHNWyZParameter. Ta metoda VáX*\GRGRGDQLDQRZHJRRELHNWXGRWHMNROHNFML:LFHMLQIRrmacji na ten temat ]QDMG]LHV]ZWDEHOLJG]LH]RVWDáDSU]HGVWDZLRQDNROHNFMD Parameters. Podstawowa metoda obiektu Command. Powoduje ona wykonanie polecenia wrsduflxrgrvwduf]\flhodlqirupdfml0hwrgdwdpr*h]zuyflürelhnww\sx Recordset.
7 &]öè,, 7DEHOD Kolekcje obiektu Command Kolekcja Properties Parameters Opis -DNZND*G\PRELHNFLH$'2WDN*HLWXWDMNROHNFMDProperties zawiera ZV]\VWNLHZáDFLZRFLRELHNWXRUD]RGSRZLDGDMFHLPZDUWoFL Jest to kolekcja obiektów Parameter2GSRZLDGDMRQHSDUDPHWURP LVWQLHMF\PZSROHFHQLX64/EG(ZSURFHGXU]HRVDG]RQHMUHSUH]HQWowanej przez dany obiekt Command. 2JyOQLHU]HF]ELRUFRELHNW CommandX*\ZDQ\MHVWGRZ\NRQ\ZDQLD EDUG]LHM ]ár*r nych operafmlqded]dfkgdq\fksurvwh]ds\wdqldrud]rshudfmhqduhnrugdfkv]dzwy- F]DMUHDOL]RZDQHSU]\X*\FLXRSLVDQHJRZQDVWSQHMVHNFMLRELHNWXRecordset. 2ELHNW5HFRUGVHW.D*GDJUXSDUHNRUGyZ±QLH]DOH*QLHRGWHJRF]\MHVWRQDZ\QLNLHPZ\NRQDQLD]DS\ta- QLDF]\WH*VWDQRZLFDá]DZDUWRüWDEHOL±MHVWUHSUH]HQWRZDQDSU]H]RELHNWRecordset7HJRRELHNWXEG]LHV]X*\ZDáQLHPDOGRZV]\VWNLFKRSHUDFMLQDED]DFKGDQ\FK MHVWWRWDN*HQDMEDUG]LHM]áR*RQ\RELHNW$'2-HGQDNZZLNV]RFLZ\SDGNyZMHVWRQ wykorzystywany w bardzo prosty sposób. Listing 11.2 demonstruje popularne wykorzystanie obiektu Recordset±SRELHUDQLHLZ\ZLetlanie wyników zapytania. /LVWLQJStosowane zbiorów rekordów i obiektu Recordset 1. <% 2. Dim Conn 3. Dim RSAutorzy 4. Dim SQL Set Conn = Server.CreateObject( "ADODB.Connection" ) 7. Set RSAutorzy = Server.CreateObject( "ADODB.Recordset" ) 8. Conn.Open "WEBSQL;UID=sa;PWD=;" 9. SQL = "SELECT * FROM Autorzy" 10. RSAutorzy.Open SQL, Conn Do While Not RSAutorzy.EOF 13. Response.Write "<P>" & RSAutorzy("Au_Imie") & "</P>" 14. Response.Write vbcrlf 15. RSAutorzy.MoveNext 16. Loop RSAutorzy.Close 19. Conn.Close 20. %> : SU]HGVWDZLRQ\P SRZ\*HM IUDJPHQFLH NRGX Z OLQLDFK ± GHILQLRZDQH V Z\ NRU]\VW\ZDQH ]PLHQQH -HV]F]H UD] SRZWyU] *H QLH MHVW WR NRQLHF]QH OHF] VWDQRZL dobry zwyczaj programistyczny. W linii 6. jest tworzony egzemplarz obiektu Connection, a w linii 7. egzemplarz obiektu RecordsetREDWHRELHNW\EGZ\NRrzysty-
8 5R]G]LDä 7ZRU]HQLHDSOLNDFMLED]GDQ\FKSU]\X\FLXRELHNWÑZGDQ\FK$FWLYH; ZDQHZGDOV]HMF]FLNRGX1DVWSQLHZOLQLLMHVWRWZLHUDQ\RELHNWConnection, NWyU\ EG]LH SRWU]HEQ\ GR RWZDUFLD RELHNWX Recordset. W linii 9. polecenie SQL ]RVWDMH]DSLVDQHZ]PLHQQHMNWyUDMHVWQDVWSQLHX*\WDZOLQLLZZ\ZRáDQLXPH tody Open : Z\ZRáDQLX WHM PHWRG\ V SRGDZDQH GZD DUJXPHQW\ ± SROHFHQLH 64/ oraz obiekt Connection. Po otworzeniu zbioru rekordów, w liniach jest przedstawiony najbardziej popularny sposób operowania na nim. Do przetworzenia FDáHM]aZDUWRFL]ELRUXUHNRUGyZZ\VWDUF]\MHGQDSURVWDSWOD:W\PZ\SDGNXZOLQLL XPLHV]F]RQ\ ]RVWDá ZDUXQHN SWOL ± RSAutorzy.EOF±ZDUWRü WHM ZáDFLZRFL SU]\MPLHZDUWRüTRUE (prawda) gdy zostanie pobrany ostatni rekord zbioru rekordów. /LQLHLWZRU]OLQLNRGX+70/]DZLHUDMFZDUWRüSRODAu_Imie zbioru re- NRUGyZ 1D VDP\P NRFX ]QDMGXMH VL QLeVá\FKDQLH ZD*QD OLQLD ± RSAutorzy.MoveNext±NWyUDSU]HVXZDZVND(QLNUHNRUGyZQDNROHjny rekord, zapobiegamf W\PVDP\PSRZVWDQLXQLHVNRF]RQHMSWOL 2SUyF] NLONX SURVW\FK ZáDFLZRFL L PHWRG SU]HGVWDZLRQ\FK Z SRZ\*V]\P SU]\NáD dzie, obiekt Recordset]DZLHUD ZLHOH LQQ\FK X*\WHF]Q\FK ZáDFLZRFL L PHWRG R któ- U\FKSRZLQLHQHZLeG]LHü0HWRG\ZáDFLZRFLLNROHNFMHRELHNWXRecordset zostaá\ przedstawione w tabelach 11.7, 11.8 oraz DEHOD Metody obiektu Recordset 0HWRGD Open Close AddNew Update CancelUpdate UpdateBatch CancelBatch 2SLV -HVWWRPHWRGDNWyU]D]Z\F]DMEG]LHV]Z\ZRá\ZDáZSLHUZV]HMNROHjQRFL SR]ZDODRQDQD]DLQLFMDOL]RZDQLHRELHNWXLZ\SHáQLHQLHJRSRV] ukiwanymi ZDUWRFLDPL0R*HV]SRGDüRELHNWConnection, który bdzie Z\NRU]\VW\ZDQ\]W\P]ELRUHPUHNRUGyZOXESDUDPHWU\SRáF]eQLD-HOLQLH SRGDV]RELHNWX&RQQHFWLRQWRGODND*GHJRQRZRRWZRU]onego zbioru rekordów EG]LHWZRU]RQHQRZHSRáF]HQLH -HVWWRPHWRGDNWyU]D]Z\F]DMEG]LHV]Z\ZRá\ZDáQDVDP\PNRFXQLV]F]\ ona wszystkie dane przechowywane w obiekcie i pozwala na ponowne Z\ZRáDQLHPHWRG\Open. Tworzy nowy, pusty rekord. =DSLVXMHZED]LHGDQ\FK]PLDQ\MDNLHZSURZDG]LáHZDNWXDOQ\PUekordzie. 8VXZD]PLDQ\MDNLH]RVWDá\ZSURZDG]RQHZDNWXDOQ\PUHNRUG]LHMH OLQLH ]RVWDáDZF]HQLHMZ\ZRáDQDPHWRGDUpdate. 1LHNWyU]\GRVWDUF]\FLHOHGDQ\FKSR]ZDODMQDZ\NRU]\VWDQLH]ELRUyZUHNRUGyZ Z\NRQXMF\FKZLHOHRSHUDFMLDNWXDOL]DFMLZW\PVDP\PF] avlh]dslvxmf poszczególne modyfikacje dokonane do momentu wywoádqldwhmphwrg\ 8VXZDRF]HNXMFHQDREVáXJZVDGRZH]DGDQLDDNWXDOL]DFML'RP\OQLHV XVXZDQHZV]\VWNLHRF]HNXMFH]DGDQLDDNWXDOL]DFMLMHGQDNPR*HV]SRGDü argument, który ograniczy usuwanie do aktualnego rekordu lub rekordów zgodnych z podanym filtrem.
9 &]öè,, 7DEHOD Metody obiektu 5HFRUGVHW±FLJGDOV]\ 0HWRGD Move MoveNext MovePrevious MoveLast MoveFirst NextRecordset Save Requery Resync Delete GetRows 2SLV 7DPHWRGDSR]ZDODQDSU]HVXQLFLHVLRRNUHORQLORüUHNRUGyZGRSU]RGX OXEGRW\áXZ]ELRU]HUHNRUGyZ3U]HVXQLFLHPR*HRGE\ZDüVLZ]JOGHP DNWXDOQHJRUHNRUGXMHOLQLH]RVWDQLHSRGDQ\GUXJLSDUDPHWUZ\ZRáDQLD PHWRG\OXEZ]JOGHPGRZROQHJRLQQHJRUHNRUGX]ELRUXUHNRUGyZ 0HWRGDSRZRGXMHSU]HMFLHGRNROHMQHJRUHNRUGXZ]ELRU]HUHNRUGyZ WPRPHQFLHJG\Z\ZRáDV]WPHWRG]QDMGXMFVLSR]DRVWDWQLPUHNRUGHP ]ELRUXJG\ZDUWRüZáDFLZRFLEOF wynosi true), jest generozdq\eág 3U]HFLZLHVWZRPHWRG\MoveNextSRZRGXMHSU]HMFLHGRUHNRUGX SRSU]HG]DMFHJRDNWXDOQ\UHNRUG-HOLDNWXDOQ\PUHNRUGHPMHVWSLHUwszy UHNRUG]ELRUXJG\ZDUWRüZáDFLZRFLBOF wynosi true), generowany jest EáG 7DPHWRGDSRZRGXMHSU]HMFLHGRRVWDWQLHJRUHNRUGX]ELRUX-HOLDNWualnym UHNRUGHPMHVWZáDQLHRVWDWQLUHNRUG]ELRUXWRZ\NRQDQLHWHMPHWRG\QLHGDMH *DGQHJRUH]XOWDWX Jest to metoda podobna do metody MoveLastSRZRGXMHRQDSU]HMFLHGR SLHUZV]HJRUHNRUGX]ELRUXMHGQDNQLHGDMH*DGQ\FKHIHNWyZMHOLDNWXDOQ\P rekordem jest pierwszy rekord zbioru. 0R*OLZHMHVWZ\GDQLHSROHFHQLDNWyUHEG]LH]ZUDFDáRZLFHMQL*MHGHQ]ELyU UHNRUGyZ0R*HVLWR]GDU]\üSU]\Z\ZRá\ZDQLXSURFHGXURVadzonych lub SU]\NRU]\VWDQLX]H]áR*RQ\FKSROHFH64/WDNLFKMDNWRSU]HGVWDZLRQH SRQL*HM SELECT ID FROM Goscie; SELECT * FROM KartaZakupowa 7DPHWRGDSRZRGXMHZ\NRQDQLHQDVWSQHJRSROHFHQLDZJUXSLHL]ZUDFDMHJR wyniki. 7DPHWRGDSRELHUDMDNRDUJXPHQWQD]ZSOLNXDQDVWSQLH]DSLVXMHZQLP DNWXDOQ\]ELyUUHNRUGyZ5HNRUG\WHPRJ]RVWDü]DáDGRZDQHZSU]\V]áRFL SRSU]H]Z\ZRáDQLHPHWRG\OpenLSRGDQLHSOLNXMDNR(UóGáDGDQ\FK 7DPHWRGDMHVWHNZLZDOHQWHP]DPNQLFLDLSRQRZQHJRRWZRU]HQLD]ELoru UHNRUGyZ±SRZRGXMHRQDSRQRZQHZ\NRQDQLHSROHFHQLD-H OLDNWualnie SRGDQHNU\WHULDVSHáQLDMZLFHMUHNRUGyZQL*SRSU]HGQLRWRQRZHUHNRUG\ WDN*HEGGRVWSQHZ]ELRU]H 1LHQDOH*\P\OLüWHMPHWRG\]PHWRGRequery. Ta metoda jedynie porównuje GDQH]QDMGXMFHVLZUHNRUGDFK]GDQ\PLSU]HFKRZ\ZDQ\PLQDVHUZHU]H ixdnwxdoqldzduwrflz]elru]huhnrugyz$ujxphqwrsfmonalny pozwala na V\QFKURQL]DFMZ\áF]QLHDNWXDOQHJRUHNRUGXOXEUHNRUGyZVSHáQLDMF\FK podane kryteria. Ta metoda usuwa aktualny rekord. 7DPHWRGD]ZUDFDGZXZ\PLDURZWDEOLFZDUWRFLW\SXYDULDQW]DZLeUDMF SDU\SROHZDUWRü'RGDWNRZHDUJXPHQW\SR]ZDODMQDRNUHOHQLHLOHUHNRUGyZ PD]RVWDüSREUDQ\FKZWDNLVSRVyERUD]RGNWyUHJRUHNRrGXQDOH*\UR]SRF]ü SRELHUDQLH'RP\OQLHVSRELHUDQHZV]\VWNLHUekordy z aktualnego zbioru.
10 5R]G]LDä 7ZRU]HQLHDSOLNDFMLED]GDQ\FKSU]\X\FLXRELHNWÑZGDQ\FK$FWLYH; 7DEHOD Metody obiektu 5HFRUGVHW±FLJGDOV]\ 0HWRGD Clone Supports 2SLV 7DPHWRGDWZRU]\]ELyUUHNRUGyZ]DZLHUDMF\NRSLDNWXDOQ\FKGDQ\FK 7DPHWRGDSR]ZDOD&LQDRNUHOHQLHMDNLHPR*OLZRFLIXQNFMRQDOQHV XGRVWSQLDQHSU]H]]ELyUUHNRUGyZFKRG]LWXRPR*OLZRFLWDNLHMDN dodawanie nowego rekordu, przechodzenie do poprzedniego rekordu, itp. 7DEHOD :ádflzrflrelhnwxrecordset :ädflzrè EOF BOF MaxRecords AbsolutePosition PageSize PageCount AbsolutePage CursorType 2SLV.RQLHFSOLNXSR]ZDODQDRNUHOHQLHF]\DNWXDOQ\UHNRUG]QDMGXMHVLSR]D RVWDWQLPUHNRUGHP]ELRUXUHNRUGyZ7DZáDFLZRüMHVWSowszechnie VWRVRZDQDGRRNUHOHQLDNLHG\QDOH*\]DNRF]\üSWOREVáXJXMFUHNRUG\ zbioru rekordów. 3RF]WHNSOLNXZáDFLZRüSRGREQDGR(2)]ZUDFDMHGQDNZDUWRütrue, MHOLDNWXDOQ\UHNRUG]QDMGXMHVLSU]HGSLHUZV]\PUHNRUGHP]ELRUX-HOLRELH ZáDFLZRFL±EOF i BOF±PDMZDUWRütrue, to oznaf]dwr*h]elyu rekordów jest pusty. 7DZáDFLZRüNRQWUROXMHLOHUHNRUGyZMHVW]ZUDFDQ\FKMDNRZ\QLN ]DS\WDQLD-HMZDUWRüPR*QDRNUHOLüZ\áF]QLHSU]HGZ\ZRáDQLHPPHWRG\ OpenNLHG\]ELyUUHNRUGyZMHVW]DPNQLW\ 7ZáDFLZRüPR*QDZ\NRU]\VWDüGRRNUHOHQLDSR]\FMLDNWXDOQHJRUHNRUGX Z]JOGHPSRF]WNXSOLNX 7DZáDFLZRüZVSyáSUDFXMH]ZáDFLZRFLDPLAbsolutePage oraz PageCountLZUD]]QLPLXPR*OLZLDSRG]LHOHQLH]ELRUXUHNRUGyZQD ORJLF]QHVWURQ\7DZáDFLZRü]ZUDFDEG(XVWDZLDLORüUHNRUGyZ PLHV]F]F\FKVLZMHGQHMORJLF]QHMVWURQLH 7DZáDFLZRü]ZUDFDLORüORJLF]Q\FKVWURQZ]ELRU]HUHNRUGyZ-HVWRQD SU]H]QDF]RQDW\ONRGRRGF]\WXOHF]MHMZDUWRü]PLHQLDVLZUD]]H]PLDQ ZDUWRFLZáDFLZRFLPageSize. 7DZáDFLZRüRNUHODORJLF]QVWURQQDNWyUHM]QDMGXMHVLDNWXDOQ\UHNRUG :ádflzrüwpr*qdxvwdzlüfrsrzrgxmhsu]hqlhvlhqlhdktualnego rekordu QDSR]\FMSLHUZV]HJRUHNRUGXSRGDQHMVWURQ\ 7DZáDFLZRü]ZUDFDMHGQ]NLONXZDUWRFLForward Only (0), Keyset (1), Dynamic (2EG(Static (3-HMZDUWRüPR*QDRNUHOLüZ\áF]QLH ZPRPHQFLHJG\]ELyUUHNRUGyZMHVW]DPNQLW\DVáX*\RQDGRRNUHODQLD VSRVREXZMDNL]ELyUUHNRUGyZPD]RVWDüRWZRU]RQ\-HMZDUWR üpr*qd WDN*HSRGDüMDNRDUJXPHQWZ\ZRáDQLDPHWRG\Open2SLVND*GHJRW\SX NXUVRUDRUD]MHJR]QDF]HQLH]RVWDáRZ\MDQLRQHZGDOV]HMF]FLUR]G]LDáX
11 &]öè,, 7DEHOD :ádflzrflrelhnwx5hfrugvhw±fljgdov]\ :ädflzrè CacheSize Recordcount Source EditMode ActiveConnection LockType Bookmark Filter Status 2SLV 7DZáDFLZRüRNUHODLORüUHNRUGyZNWyUDMHVWMHGQRUD]RZRSRELHUana od GRVWDUF]\FLHODGDQ\FK-HMGRP\OQDZDUWRüZ\QRVL1, co oznaf]d*hw\onr DNWXDOQ\UHNRUGMHVWSU]HFKRZ\ZDQ\ZSDPLFLSRGUFzQHM-HOLZDUWRü ZáDFLZRFLEG]LHZ\*V]DWRUHNRUG\SU]HFKRZyZDQHZSDPLFLSRGUF]QHM QLHNRQLHF]QLHPXV]RGSRZLDGDüU]HF]ywistym danym przechowywanym wed]lhpr*qdmhmhgqdnrgzlh*\ü]dsrprfphwrg\resync. 7DZáDFLZRüMHVWSRZV]HFKQLHZ\NRU]\VW\ZDQDMHGQDNQLH]DZV]HMHM ZDUWRüMHVWSRSUDZQDOXEZRJyOHGRVWSQD-HOL]ELyUUHNRUGyZÄQLHZLH LOHUHNRUGyZZQLP]QDMGXMHVLOXEQLHMHVWZVWDQLHRNUeOLüLFKLORFLWR ZDUWRüWHMZáDFLZRFLZ\QRVL 12JyOQLHU]HF]ELRUFZDUWRFLWHM ZáDFLZRFLQLHPR*QDX]QDü]DSHZQD*GRPRPHQWXJG\]RVWDQLH odwiedzony ostatni rekord zbioru (MoveLast). 7DZáDFLZRü]DZLHUDWHNVWSROHFHQLD64/MDNLHPD]RVWDüZ\NRQDQHOXE QD]ZSURFHGXU\RVDG]RQHMMHMZDUWRüPR*QDSRGDüEH]SRUHdnio przed RWZRU]HQLHP]ELRUXUHNRUGyZOXEMDNRDUJXPHQWZ\ZRáDQLDPHWRG\ Open. 2NUHODVWDQDNWXDOQHJRUHNRUGXLPR*HSU]\MPRZDüMHGQ]QDVWSXMcych ZDUWRFLNone (0) (brak), Edit In Progress (1) (edycja w toku), Add In Progress (2GRGDZDQLHZWRNXEG(Deleted (3XVXQLW\ 7DZáDFLZRüVáX*\RG]ZUDFDQLDOXEXVWDZLDQLDRELHNWXConnection wykorzystywanego przez aktualny zbiór rekordów. 2NUHODMDNLURG]DMEORNRZDQLD]RVWDáQDU]XFRQ\QDDNWXDOQLHHG\W owany UHNRUG:DUWRüPR*HSRVLDGDüMHGQ]QDVWSXMF\FKZDUWRFLRead-Only (1) (tylko do odczytu), Pessimistic (2) (pesymistyczna), Optimistic (3) (optymistyczna), Batch Optimistic (4) (wsadowa optymistyczna). Znaczenia poszczególnych typów blondg]rvwdá\srgdqhzgdov]hmf]fl UR]G]LDáX -HOL]ELyUUHNRUGyZXPR*OLZLDZ\NRU]\VW\ZDQLH]DNáDGHNFRPR*HV] VSUDZG]Lü]DSRPRFPHWRG\SupportsWREG]LHV]PyJá]DSLVDüZDUWRü WHMZáDFLZRFLZ]PLHQQHM:SU]\V]áRFLEG]LHV]PyJáZUyFLü EH]SRUHGQLRGRWHJRVDPHJRUHNRUGXSU]\SLVXMFWHMZáDFiZRFLZDUWRü ]DSLVDQZ]PLHQQHM:DUWRüZáDFLZRFLMHVWXQLNDOQDGODGDQHJR]ELRUX UHNRUGyZ'ZDLGHQW\F]QHUHNRUG\ZUy*Q\FK]ELoUDFKQLHPRJPLHüWHM VDPHMZDUWRFLZáDFLZRFLBookmark, jednak wszystkie rekordy obiektu RecordsetVWZRU]RQHJR]DSRPRFPetody CloneEGPLDá\WDNVDP ZDUWRüWHMZáDFLZRFLMDNLFKRU\JLQDá\ 7DZáDFLZRüRNUHODZDUXQHNMDNLEG]LHVSUDZG]DQ\GODZV]\Vtkich UHNRUGyZDNWXDOQLH]QDMGXMF\FKVLZ]ELRU]H:VNáDG]ELRUXUHNRUGyZ ZHMGW\ONRWHUHNRUG\NWyUHVSHáQLSRGDQHNU\WHULD.U\WeULDWHPRJ SU]\ELHUDüSRVWDüQD]ZD3ROD ZDUWRü, np.: ("IDGoscia = 123"). =ZUDFDDNWXDOQ\VWDQUHNRUGX]XZ]JOGQLHQLHPZV]HONLFKSURFHGXU masowych oraz procedur osadzonych.
12 5R]G]LDä 7ZRU]HQLHDSOLNDFMLED]GDQ\FKSU]\X\FLXRELHNWÑZGDQ\FK$FWLYH; 7DEHOD :ádflzrflrelhnwx5hfrugvhw±fljgdov]\ :ädflzrè CursorLocation MarshalOptions 2SLV 7DZDUWRüQLHPD]DVWRVRZDQLDZ$63JG\*RNUHODRQDF]\NXUVRU]RVWDá VWZRU]RQ\QDVHUZHU]HF]\WH*QDNRPSXWHU]HX*\WNRZQLND3U]\ wykorzystaniu ADO w ASP kursor zawsze jest tworzony na serwerze. 3RGREQLHMDNZSU]\SDGNXZáDFLZRFL&XUVRU/RFDWLRQWDN*HLWDZáDFLZRü PDZSá\ZQDVSRVyEZMDNL]ELyUUHNRUGyZMHVWSU]HQoV]RQ\SRPLG]\ VHUZHUHPDNRPSXWHUHPX*\WNRZQLND:SU]\SDGNX$63QLHMHVWRQD wykorzystywana. 7DEHOD Kolekcje obiektu Recordset.ROHNFMD Properties Fields 2SLV -DNZND*G\PRELHNFLH$'2WDN*HLWXWDMNROHNFMDProperties zawiera ZV]\VWNLHZáDFLZRFLRELHNWXRUD]RGSRZLDGDMFHLPZDUWoFL =DZLHUDJUXSRELHNWyZFieldSRMHGQ\PGODND*GHMNROXPQ\]ELRUXUHNRUGyZ 7DNROHNFMDMHVWSU]\GDWQDGRRNUHODQLDZV]\VWNLFKNROXPQ]ELRUXUHNRUGyZJG\ QLHV]QDQHLFKQD]Z\LSRáR*HQLH :\NRU]\VWDQLH$'2GRVWZRU]HQLD DSOLNDFML)RUXP8\WNRZQLNÑZ $E\SRND]DüZMDNLVSRVyEQDOH*\X*\ZDüRELHNWyZRPyZLRQ\FKZSRSU]HGQLHMF] ci rozdziaáxzwhmvhnfml]rvwdqlhsu]hgvwdzlrq\nrpsohwq\nrgiruxpx*\tkowników. 7HQV\VWHPEG]LHZ\NRU]\VW\ZDüED]GDQ\FK0LFURVRIW$FFHVVMHGQDN]HZ]JOGX QD WR L* SRáF]HQLH ] GDQ\PL MHVW UHDOL]RZDQH SRSU]H] 2'%& Z\NRU]\VWDQLH LQQHM ED]\GDQ\FKMDNQDSU]\NáDG64/6HUYHU]DMPXMHMHG\QLHNLONDPLQXW6\VWHP]RVWD nie stworzony w sposób jak najprostszy, bez wykorzyvwdqld *DGQ\FK REUD]NyZ DQL Z\P\OQ\FKVSRVREyZIRUPDWRZDQLD7DNLSURMHNWV\VWHPX]RVWDáSRG\NWRZDQ\FKFL ]DSHZQLHQLDMDNQDMZLNV]HMSURVWRW\NRGXDQLHGODWHJR*HQLHMHVWRQZymagany. %D]öGDQ\FKRUD]FDä\NRG$63PRHV]]QDOHèQDZLWU\QLH::::\ GDZQLFWZD+(/,21SRGDGUHVHP ftp://ftp.helion.com.pl/przyklady/asp.zip. 3RVNRSLRZDQLXSOLNXDUFKLZXPUR]SDNXMJRDQDVWöSQLHXPLHèQD VHUZHU]HFDäñ]DZDUWRèNDUWRWHNLRozdzial-11
13 &]öè,, 3UH]HQWDFMDV\VWHPX $SOLNDFMHIRUXPX*\WNRZQLNyZVGRVWSQHMX*RGGDZQD±LVWQLHMGáX*HMQL*,QWHUQHW 3RF]WNoZRLVWQLDá\SRGSRVWDFL%%6yZ±Bulletin Boards Services miejsc, do których PRJáHSU]HVyáDüS\WDQLDF]\WDüLQQHS\WDQLDDQDZHWF]DVDPLRWU]\P\ZDüRGSRwie- G]L%%6\LVWQLHMFDá\F]DVMHGQDNQLHPDOZFDáRFL]RVWDá\]DVWSLRQHRGSRZLHdnikami internetowymi grupami dysnxv\mq\pl7hv\vwhp\nwyu\fksu]\nádg]rvwdásu]hgvwd wioq\ QD U\VXQNX V QLHPDO LGHnW\F]QH 8*\WNRZQLF\ ]D SRPRF VSHFMDOQHJR oprogramowania takiego jak Outlook Express, przejogdmzlagrprfllwzru]zádvqh 5\VXQHN *UXS\G\VNXV\MQHV SRSXODUQF]FL Internetu *UXSDG\VNXV\MQDSU]HGVWDZLRQDQDU\VXQNXLVWQLHMHZU]HF]\ZL VWRFLLMHVWEDUG]RSU]\GDWQDGODSURJUDPLVWÑZ$630RQDMñ]QDOHè QD VHUZHU]H msnews.microsoft.com D XF]HVWQLFWZR Z QLHM QLH Z\ PDJDSRGDZDQLDMDNLHJRNROZLHNKDVäDDQLLGHQW\ILNDWRUDX\WNRZQLND 6\VWHP NWyU\ VWZRU]\V] ]D SRPRF$63EG]LH PXVLDá G\VSRQRZDü W\PL VDP\PL PR*OLZRFLDPLFRLVWQLHMFHJUXS\G\VNXV\MQH/LVWDIXQNFMLV\VWHPXSRPR*H&L]Dpro- MHNWRZDüNRQLHF]QHVWURQ\RUD]VWUXNWXUED]\GDQ\FK X 8*\WNRZQLF\PXV]E\üZVWDQLHWZRU]\üQRZHZLDGRPRFL X 8*\WNRZQLF\ PXV] E\ü Z VWDQLH SU]HJOGDü ZLDGRPRFL XWZRU]RQH SU]H] QLFKVDP\FKRUD]SU]H]LQQ\FKX*\WNRZQLNyZ X 8*\WNRZQLF\PXV]E\üZVWDQLHRGSRZLDGDüQDZLDGRPRFLDLFKRGpowie- G]L SRZLQQ\ E\ü SUH]HQWRZDQH Z WDNL VSRVyE DE\ E\áR ZLDGRPR L*V RQH ]ZL]DQH]RU\JLQDOQZLDGRPoFL
14 5R]G]LDä 7ZRU]HQLHDSOLNDFMLED]GDQ\FKSU]\X\FLXRELHNWÑZGDQ\FK$FWLYH; X 8*\WNRZQLF\SRZLQQLE\üZVWDQLHXVXQüZLDGRPRüNWyUVWZRU]\OLMHGQDN QLHPRJG\VSRQRZDüPR*OLZRFLXVXZDQLDZLDGRPRFLVWZRU]RQ\FKSU]H] LQQ\FKX*\WNRZQLNyZ X 8*\WNRZQLF\PXV]E\üZMDNLVSRVyELGHQW\ILNRZDQLDE\LFKZLDGRPRFL PRJá\E\üR]QDF]DQH 7HIXQNFMHQLHPDOEH]SRUHGQLRUHSUH]HQWXMWRFRV\VWHPPXVLURELüMHGQDNGRGDWNR wo stwau]dmnlondqlhmdzq\fkz\pdjd0ldqrzlflhv\vwhppxvlsu]hfkrz\zdüzld GRPRFLRUD]OLVWX*\WNRZQLNyZLLFKLQIRUPDFMLLGHQW\ILNDF\MQ\FK %D]DGDQ\FK 7DEHOD Tabela User 3LHUZV]\PHWDSHPEG]LHVWZRU]HQLHED]\GDQ\FKVSHáQLDMFHMSRGDQHZ\PDJDQLD.R nief]qh EG]LH Z\NRU]\VWDQLH MHGynie dwóch tabel: jednej do przechowywania listy X*\WNRZQLNyZLGUuJLHMGRSU]HFKRZ\ZDQLDZLDGRPRFL3RODWDEHORUD]LFKW\S\]R VWDá\SU]HGVWDZLRQHZWDEHODFKRUD] 1D]ZDSROD 7\SSROD 'äxjrèsrod ID AutoNumer QLHGRVWSQD FirstName Tekst 30 LastName Tekst 50 Tekst 50 LastVisit Data/Godzina QLGRVWSQD UserID Tekst 20 Password Tekst 20 7DEHOD Tabela Message 1D]ZDSROD 7\SSROD 'äxjrèsrod ID AutoNumer QLHGRVWSQD UserID Liczba /LF]EDFDáNRZLWDGáXJD Parent Liczba /LF]EDFDáNRZLWDGáXJD Subject Tekst 50 Date Data/Godzina QLHGRVWSQD Message Memo QLHGRVWSQD
15 &]öè,, $E\XPR*OLZLüDSOLNDFML$63NRU]\VWDQLH]WHMED]\GDQ\FKEG]LHV]PXVLDáXPLHFLü MQDVHrZHU]H :::LVWZRU]\üGODQLHMQD]Z (UyGáDGDQ\FK2'%&SOLNRZOXE V\VWHPRZ : SU]HdVWDZLRQ\FK GDOHM SU]\NáDGDFK ]DáR*\áHP *H WR ]URELáHRUD]*H QDGDáHQD]ZLH(UyGáDGDQ\FKQD]ZÄ)RUXP :LFHMLQIRUPDFMLGRW\F]F\FKWZRrze- QLDQD]Z(UyGHáGDQ\FK]QDMG]LHV]ZSoprzednim rozdziale.,ghqw\ilndfmdx\wnrzqlnñz 5\VXQHN 8*\WNRZQLF\V identyfikowani za SRPRFWHMVWURQ\ logowania =SXQNWXZLG]HQLDX*\WNRZQLNyZSLHUZV]\PNURNLHPSU]\NRU]\VWDQLX]IRUXPEG]LH zalogowaqlhvlgrv\vwhpx:w\pzádqlhplhmvfxsrzlqlhq]df]\qdüvl7zymnrg.rg SU]HGVWDZLRQ\ QD OLVWLQJX WZRU]\ VWURQ ORJRZDQLD NWyU SRND]DQR QD U\ sunku /LVWLQJ7DVWURQD:::SR]ZDODX*\WNRZQLNRPQD]DORJRZDQLHVLGRV\VWHPX/RJowanie.htm) 1. <HTML> 2. <HEAD> 3. 7,7/(!/RJRZDQLHGR)RUXP8*\WNRZQLNyZ7,7/(! 4. </HEAD> <BODY BACKGROUND=""> $/,*1 &(17(5!)RUXP8*\WNRZQLNyZ%5!=DORJXMVL+! <FORM ACTION="ObslugaLogowania.asp" METHOD="POST" TARGET="_parent"> 11. <DIV ALIGN="CENTER"> 12. <CENTER> 13. <TABLE BORDER="0"> 14. <TR> 15. 7'!67521*!,'X*\WNRZQLND67521*! 16. <INPUT TYPE="TEXT" SIZE="20" NAME="UserName"></TD> 17. </TR> 18. <TR> 19. 7'!67521*!+DVáR67521*! 20. <INPUT TYPE="PASSWORD" SIZE="20" NAME="Password"</TD> 21. </TR>
16 5R]G]LDä 7ZRU]HQLHDSOLNDFMLED]GDQ\FKSU]\X\FLXRELHNWÑZGDQ\FK$FWLYH; 22. <TR> 23. </TR> 24. <TR> 25. <TD> 26.,13877<3( 68%0,71$0( /RJLQ9$/8( =DORJXMVLGR ÖREV]DUXX*\WNRZQLNyZ! 27.,13877<3( 5(6(71$0( &]\ü9$/8( :\F]\üIRUPXODU]! 28. </TD> 29. </TR> 30. </TABLE> 31. </CENTER> 32. </DIV> 33. <DIV ALIGN="CENTER"> 34. <CENTER> 35. +!-HOL]DSRPQLDáHOXE(OHSRGDáHVZRMHKDVáRWR 36. <A HREF="ZapomnianeHaslo.asp" TARGET="_parent">kliknij Ötutaj</A> 37..</H6> 38. </CENTER> 39. </DIV> 40. <DIV ALIGN="CENTER"> 41. <CENTER> 42. +!%,*!1RZ\X*\WNRZQLNXD+5() 1RZ\8]\WNRZQLNDVS!NOLNQLM Ötutaj</A> 43..</BIG></H6> 44. </CENTER> 45. </DIV> 46. </FORM> 47. </BODY> 48. </HTML> :LNV]RüVWURQ\SU]HGVWDZLRQHMQDOLVWLQJXMHVWEDUG]RSURVW\PNRGHP+70/±QLH MHVW WR VWURQD $63 3RQL*HM Z\MDQLRQH ]RVWDá\ OLQL NWyUH PRJ ]DLQWHUHVRZDü &LHELH MDNRSURJUDPLVW/LQLD]DZLHUDMFD]QDF]QLNRWZLHUDMF\IRUPXODU]+70/RNUH la plik, jaki zostanie wykonaq\srnolnqlflx QD SU]\FLVNX 6XEPLW Z FHOX REVáX*HQLH daq\fk ZSLVDQ\FK Z IRUPXODU]X : W\P SU]\SDGNX GR REVáXJL GDQ\FK VáX*\ SOLN ObslugaLogowania.aspSRGDZDQLHFLH*NLQLHMHVWNRQLHF]QHJG\*SOLNMHVWSU]H FKRZ\ZDQ\ZWHMVDPHMNDUWRWHFHFRIRUPXODU]:OLQLDFKL]RVWDá\XPLHV]F]RQH SROD VáX*FH RGSRZLHGQLR GR SRGDQLD QD]Z\ X*\WNRZQLND L KDVáD :D*Q\P V]F]HgóáHPQDMDNLQDOH*\]ZUyFLüXZDJZW\FKOLQLDFKVQD]Z\QDGDQHREXSRORPJG\* pováx*rqhgrsreudqldzduwrflw\fksyo]nrohnfmlrequest.form w programie ob- VáXJXMF\PIRrmularz. Kod przedstawiony na listingu 11.3 tworzy prosty formularz. Strona, która w rzeczywi- VWRFLáF]\VL]ED]GDQ\FKLVSUDZG]DSRSUDZQRüLQIRUPDFMLRWR*VDPRFLX*\WNR wnind MHVW RNUHORQD MDNR ÄFHO IRUPXODU]D MHVW WR VWURQD ObslugaLogowania.asp. Inne formularze HTML i odsrzldgdmfhlpvnu\sw\$63]rvwdá\vwzru]rqhgodreváxjl UHMHVWUDFMLQRZ\FKX*\WNRZQLNyZRUD]SoPRF\X*\WNRZQLNRPNWyU]\]DSRPQLHOLVZR MHJRKDVáD 0LHMVFHPZNWyU\PVVSUDZG]DQHLQIRUPDFMHSRGDQHSU]H]X*\WNRZQLNDMHVWSURce- GXUDREVáXJLVWURQ\ORJRZDQLDSU]HGVWDZLRQDQDOLVWLQJX%D]XMFQDSRSUDZQRFL SRGDQHJR LGHQW\ILNDWRUD X*\WNRZQLND RUD] KDVáD WD VWURQD PXVL ]GHF\GRZDü MDN RE VáXJLZDüSRSUDZQHRUD]QLHSRSUDZQHSUyE\ORJRZDQLD
17 &]öè,, /LVWLQJWeryfikacja formularza logowania z listingu <HTML> 2. <HEAD> 3. 7,7/(!/RJRZDQLHX*\WNRZQLNDGRV\VWHPX)RUXP Ö8*\WNRZQLNyZ7,7/(! 4. </HEAD> 5. <BODY BGCOLOR="#FFFFFF"> 6. <% 7. Dim Conn 8. Dim RSUser 9. Dim SQL Set Conn = Server.CreateObject("ADODB.Connection") 12. Set RSUser = Server.CreateObject("ADODB.Recordset") Conn.Open "Forum" SQL = "SELECT * FROM User WHERE UserID='" & _ 17. Request.Form("UserName") & "'" 18. RSuser.Open SQL,Conn,1, If RSUser.EOF Then 21. %> 22. +$/,*1 &(17(5!8*\WNRZQLNQLHLVWQLHMH+! 23. <H3 ALIGN="CENTER"><%= Request.Form("UserName") %></H3> 24. <H3 ALIGN="CENTER"><A HREF="Logowanie.htm" TARGET="_parent">Kliknij ÖWXWDMDE\]DORJRZDüVLSRQRZQLH$!+! 25. <P> </P> 26. <H3 ALIGN="CENTER"> LUB </H3> 27. <P> </P> 28. <H3 ALIGN="CENTER"><A HREF="NowyUzytkownik.asp" Ö7$5*(7 BSDUHQW!.OLNQLMWXWDMDE\GRáF]\üGR)RUXP$!+! 29. <% 30. Else 31. If RSUser("Password") <> Request.Form("Password") Then 32. %> 33. +$/,*1 &(17(5!3RGDQRQLHSUDZLGáRZHKDVáRGOD+! 34. <H3 ALIGN="CENTER"><%= Request.Form("UserName") %></H3> 35. <H3 ALIGN="CENTER"><A HREF="Logowanie.htm" TARGET="_parent">Kliknij ÖWXWDMDE\]DORJRZDüVLSRQRZQLH$!+! 36. <P> </P> 37. <H3 ALIGN="CENTER"> LUB </H3> 38. <P> </P> 39. <H3 ALIGN="CENTER"><A HREF="ZapomnianeHaslo.asp">Kliknij tutaj, aby 40. SU]HVáDü&LKDVáR]DSRPRFSRF]W\HOHNWURQLF]QHM$!+! 41. <% 42. Else 43. Session("User") = "Yes" 44. Session("User_ID") = RSUser("ID") 45. Session("UserName") = RSUser("FirstName") & " " & ÖRSUser("LastName") 46. %> 47. +$/,*1 &(17(5!/RJRZDQLHSRP\OQH+! 48. <H3 ALIGN="CENTER">Witamy ponownie <%= RSUser("FirstName") %></H3> 49. +$/,*1 &(17(5!2VWDWQLRRGZLHG]LáHV\VWHP ÖRSUser("LastVisit") %></H3> 50. <H3 ALIGN="CENTER"> 51. $+5() )RUXPDVS7$5*(7 BSDUHQW!.OLNQLMWXWDMDE\ZHMüQD Ö)RUXP8*\WNRZQLNyZ$!
18 5R]G]LDä 7ZRU]HQLHDSOLNDFMLED]GDQ\FKSU]\X\FLXRELHNWÑZGDQ\FK$FWLYH; 52. </H3> 53. <% 54. RSUser("LastVisit") = Now 55. RSUser.Update 56. End If 57. End If %> 60. </BODY> 61. </HTML> 3U]HGVWDZLRQ\SRZ\*HMVNU\SWSUyEXMHSREUDüUHNRUGED]\GDQ\FKGODSRGDQHJRLGHQ tyilndwrudx*\wnrzqlndolqlhgr-holwdnluhnrugqlhlvwqlhmhr]qdf]dwr*hqlh SRGDQRSRSUDZQHJRLGHQW\ILNDWRUDLVNU\SWZ\ZLHWODRGSRZLHGQLNRPXQLNDWOLQLH ±-HOLUHNRUGLVWQLHMHWRNROHMQ\IUDJPHQWNRGXOLQLH±VSUDZG]DF]\SR GDQRSRSUDZQHKDVáR-HOLQLHWRZyZLHWODQ\MHVWNROHMQ\NRPXQLNDW:SU]\SDGNX JG\ SRGDQR SRSUDZQH KDVáR MHVW Z\NRQ\ZDQ\ NRG OLQLH ± NWyU\ ]DSLVXMH Z\EUDQHZDUWRFLZRELHNFLHSessionG]LNLF]HPXEG]LHPR*QD]QLFKVNRU]\VWDü ZSU]\V]áRFL1DVWSQLHMHVWZ\ZLHWODQ\NRPXQLNDWZLWDMF\X*\WNRwnika (linie 43. ±1DNRFXMHVWXDNWXDOQLDQDZDUWRüSRODLastVisit, w której jest zapisywaqdgdwddnwxdoqhm ZL]\W\ -HVW WR RVWDWQLD F]\QQRü SR NWyUHM Z\NRQ\ZDQLH VWURQ\ zostaqlh]dnrf]one. 3RZ\*V]\NRGSU]HGVWDZLDNLONDIXQNFML$'2ND*GD]QLFK]RVWDáDEDUG]LHMV]F]HgóáR ZRRSLVDQDZQDVWSQ\FKVHkFMDFKUR]G]LDáX 2WZLHUDQLHSRäñF]HQLD /LQLHLOLVWLQJXWZRU]LRWZLHUDMSRáF]HQLH]ED]GDQ\FK1RZ\SRF] tkozr]dpnqlw\relhnw&rqqhfwlrqmhvwwzru]rq\]dsrprfphwrg\server.createobject,ghqw\ilndwru NODV\ &ODVV,' $'2'%&RQQHFWLRQ MHVW NRQLHF]Q\ JG\* LQIRUPXMH RQ PHWRG R W\P MDNL RELHNW QDOH*\ VWZRU]\ü 1DVWSQLH Z OLQLL MHVW Z\ZRá\ZDQD PHWRGD Open QRZHJR SRáF]HQLD MDNR DUJXPHQW MHM Z\ZRáDQLD MHVW SRGDZDQDQD]ZD(UyGáDGDQ\FKZ\NRU]\VW\ZDQHMED]\GDQ\FK-HMSLHUZV]\SDUDPHWU MHVW RGSRZLHGQLNLHP ZáDFLZRFL ConnectionString obiektu Connection i mo*h ]RVWDü RNUHORQ\ SU]HG Z\ZRáDQLHP PHWRG\ Open, jak pokazano na poni*szym SU]\NáDG]LH Set Conn = Server.CreateObject("ADODB.Connection") Conn.ConnectionString = "Forum" Conn.Open 3RZ\*V]\NRGMHVWFDáNRZLFLHUyZQRZD*Q\NRGRZLSU]HGVWDZLRQHPXQDOLVWLQJX± Z\NRQXMHWHVDPHF]\QQRFLFKRüZQLHFRLQQ\VSRVyE:W\PSU]\SDGNXZáDFLZRü ConnectionString ]DZLHUD SR SURVWX QD]Z (UyGáD GDQ\FK MHGQDN PR*H RQD ]DZLHUDüWDN*HLQQHLQIRUPDFMHWDNLHMDNLGHQW\ILNDWRUX*\WNRZQLNDLKDVáRGRVWSXGR ED]\GDQ\FK-HOLGODSU]\NáDGXGRVWSGRED]\GDQ\FKZ\PDJDáE\X*\FLDLGHQW\fi- NDWRUDX*\WNRZQLNDRZDUWRFL"sa"RUD]SXVWHJRKDVáDWRPyJáE\X*\üZáDFLZRü ConnectionStringRZDUWRFL "DSN=Forum;userid=sa;pwd=;"
19 &]öè,, 3DPLWDM*HPHWRGD2SHQSRELHUDWDN*HGZDRSFMRQDOQHSDUDPHWU\RSUyF] ConnectionString±LGHQW\ILNDWRUX*\WNRZQLNDRUD]KDVáR-HOLFKFHV]WRPR*HV]SRGDüWH ZDUWRFLMDNRRGG]LHOQHDUJXPHQW\ Conn.Open "Forum", "sa", "" 1LH]DOH*QLH RG PHWRG\ MDNLHM X*\MHV] SU]HG Z\NRU]\VWDQLHP RELHNWX Connection, EG]LHV]JRPXVLDáVWZRU]\üLRWZRU]\ü 7ZRU]HQLHLRWZLHUDQLH]ELRUXUHNRUGÑZ /LQLH L OLVWLQJX WZRU] L RWZLHUDM ]ELyU UHNRUGyZ RELHNW Recordset). WZ\ZRáaniu metody Open]RVWDáDX*\WDJUXSDSDUDPHWUyZ3RGREQLHMDNZSU]\padku omówionej wczeqlhm PHWRG\ Open obiektu Connection WDN*H L WHUD] ND*G\ zdujxphqwyzpr*h]rvwdürnueorq\su]\z\nru]\vwdqlxzádflzrflnwyuhmzduwrü MHVW SRGDZDQD SU]HG Z\ZRáDQLHP PHWRG\ Open.RG SU]HGVWDZLRQ\ SRQL*HM ] IXQ kcjonalnego punktu widzenia, odpowiada kodowi z listingu RSUser.Source = SQL Set RSUser.ActiveConnection = Conn RSUser.CursorType = 1 'Keyset RSUser.LockType = 2 'Pesymistyczny RSUser.Open 0XVLV]SDPLWDüRSRGDQLXW\FKZDUWRFLQLH]DOH*QLHRGPHWRG\MDNGRWHJRZ\korzy- VWDV]JG\*ZSU]HFLZQ\PZ\SDGNX]RVWDQ]DVWRVRZDQHZDUWRFLGRP\OQH-HOLQLH dysponujesz stworzonym i otworzonym obiektem Connection, jednak pomimo tego FKFHV]RWZRU]\ü]ELyUUHNRrGyZWRPR*HV]]DVWSLüDUJXPHQW ConnIDNW\F]Q\PáD FXFKHP]QDNyZX*\ZDQ\PGRQDZL]aQLDSRáF]HQLD]ED]GDQ\FK RSUser.Open SQL, "Forum", 1,2 :\GDMHVL*HWDNDPHWRGDGDMHGRNáDGQLHLGHQW\F]QHUH]XOWDW\MDNSRSU]HGQLDWDNMH GQDNQLHMHVW=DND*G\PUD]HPJG\]ELyUUHNRUGyZMHVWWZRU]RQ\SU]\Z\NRU]\VWDQLX WHM PHWRG\ RNUHODQLD SRáF]HQLD MHVW WZRU]RQ\ QRZ\ RELHNW Connection. Przedsta- ZLRQ\SRQL*HMNRGSRZRGXMHVWZorzenie trzech obiektów Connection: Set RSPrzykalad1 = Server.CreateObject("ADODB.Recordset") Set RSPrzykalad2 = Server.CreateObject("ADODB.Recordset") Set RSPrzykalad3 = Server.CreateObject("ADODB.Recordset") RSPrzyklad1.Open SQL, "Forum", 1, 2 RSPrzyklad2.Open SQL, "Forum", 1, 2 RSPrzyklad3.Open SQL, "Forum", 1, 2 -HGQDNNRGSU]HGVWDZLRQ\SRQL*HMZ\NRU]\VWXMHW\ONRMHGHQRELHNWConnectionFKRü jego wykonanie daje identyczne rezultaty): Set RSPrzykalad1 = Server.CreateObject("ADODB.Recordset") Set RSPrzykalad2 = Server.CreateObject("ADODB.Recordset") Set RSPrzykalad3 = Server.CreateObject("ADODB.Recordset") Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "Forum" RSPrzyklad1.Open SQL, Conn, 1, 2 RSPrzyklad2.Open SQL, Conn, 1, 2 RSPrzyklad3.Open SQL, Conn, 1, 2
20 5R]G]LDä 7ZRU]HQLHDSOLNDFMLED]GDQ\FKSU]\X\FLXRELHNWÑZGDQ\FK$FWLYH; :\NRU]\VWDQLH W\ONR MHGQHJR RELHNWX &RQQHFWLRQ RJUDQLF]D REFL*HQLH VHUZHUD ED]\ daq\fkgrmhgqhjrsráf]hqldqdnd*g\z\nrq\zdq\zvsyáelh*qlhvnu\sw3r]zdodwr na otrzymanie makv\pdoqhmolf]e\uyzqrf]hvq\fksráf]hjg\*mhgqrsráf]hqlhmhvw PLQLPDOQOLF]ESRáF]HMDNPR*QDVWZRU]\üQDMHGQHMVWURQLH:QDVWSQHMVHNFML ]RVWDQLHSU]HGVWDZLRQDPHWRGRNUHOania czy zbiór rekordów zawiera jakiekolwiek da- QHQLH]DOH*QLHRGPHWRG\MDND]RVWDáDZ\NRU]ystana do jego stworzenia. 6SUDZG]DQLHF]\]ELÑUUHNRUGÑZMHVWSXVW\ Zanim zrobisz cokolwiek ze zbiorem rekordów otworzonym w linii 18. listingu 11.4, QDOH*\VSUDZG]LüF]\QLHMHVWRQSXVW\'RWHJRZáDQLHVáX*\NRGXPLHV]F]RQ\ZOLQLL -HOL]ELyUUHNRUGyZQLHMHVWSXVW\WRSRMHJRRWZRU]HQLXZVND(QLNUHNRUGXEG]LH umieszczony na pierwv]\puhnrug]lhdzádflzrüeofeg]lhpldádzduwrüfalse. :ádflzrüwdqlh]zárf]qlhsrrwzru]hqlx]elruxuhnrugyzeg]lhpldádzduwrütrue W\ONR L Z\áF]QLH ZWHG\ JG\ ]ELyU UeNRUGyZ EG]LH SXVW\ -HOL VSUyEXMHV] Z\ZRáDü MDNNROZLHNPHWRGRELHNWXRecordsetMHOLZVND(QLNUHNRUGyZQLH]QDMGXMHVLQD SRSUDZQ\PUHNRUG]LHQDSU]\NáDGJG\ZáDFLZRüBOF lub EOFPDZDUWRütrue), to ]RVWDQLHZ\JHQHURZDQ\EáG 6SUDZG]HQLH Z\äñF]QLH ZäDFLZRFL EOF EöG]LH Z\VWDUF]DMñFH W\ONR ZWHG\ JG\ ]RVWDQLH Z\NRQDQH WX SR RWZRU]HQLX ]ELRUX UHNRUGÑZ -HOLLVWQLHMHPROLZRèHSU]HGZ\NRQDQLHPWHVWXE\ä\UHDOL]RZDQH MDNLH RSHUDFMH QD ]ELRU]H UHNRUGÑZ WR SRZLQLHQH VSUDZG]Dè ]DUÑ ZQRZäDFLZRèEOFMDNLBOF 3RELHUDQLHZDUWRFL]H]ELRUXUHNRUGÑZ -HOL]ELyUUHNRUGyZQLHMHVWSXVW\WRSURJUDPEG]LHPyJáVNRU]\VWDü]SyO]ELRUX3R QL*HM]oVWDáDSRGDQDVNáDGQLDX*\ZDQDGRSRELHUDQLDZDUWRFLSyO]ELRUXUHNRUGyZ <NazwaZbioruRekordów>("<NazwaPola>") 7RSROHFHQLHPR*H]RVWDüZ\NRU]\VWDQHGRSREUDQLDOXERNUHOHQLDZDUWRFLGRZROQHJR SROD:U]HF]\ZLVWRFLMHVWRQRRGSRZLHGQLNLHPSRQL*V]HJRSROHFHQLD RSUser.Fields.Item("UserID").Value ']LHMHVLWDNJG\*NROHNFMDFieldsMHVWGRP\OQZáDFLZRFLRELHNWXRecordset, ZáDFiZRü Item±GRP\OQZáDFLZRFL NROHNFML Fields D ZáDFLZRü Value GRP\OQ ZáaFLZRFL RELHNWX Field :ádqlh GODWHJR RED SROHFHQLD V VRELH UyZQRZD*QH 7R ZD*QD LQIRrPDFMD NWyU ZDUWR ]DSDPLWDü ± SR FR ERZLHP X*\ZDü EDUG]LHMVNRPSOLNRZDQHMVNáDGQL 0RG\ILNRZDQLHZDUWRFLZ]ELRU]HUHNRUGÑZ -HOLQLHRWZRU]\áH]ELRUXUHNRUGyZMDNRSU]H]QDF]RQHJRW\ONRGRRGF]\WXSDWU]RPywione ZF]HQLHMZáDFLZRFLCursorType oraz LockTypeWREG]LHV]PyJáPRdyfiko- ZDü ZDUWRFL SyO X*\ZDMF GR WHJR GZXHWDSRZHJR SURFHVX : SLHUZV]HM NROHMQRFL
21 &]öè,, SU]\X*\FLXQRUPDOQHJRRSHUDWRUDSU]\SLVDQLDXPLHFLV]ZDUWRFLZZ\EUDQ\FKSRODFK SDWU]OLQLDOLVWLQJXDQDVWSQLHZ\ZRáDV]PHWRGUpadate-HOL]PRdyfiku- MHV] ZDUWRFL SyO D QDVWSQLH ]DPNQLHV] ]ELyU UHNRUGyZ OXE SU]HMG]LHV] GR LQQHJR UHNRUGX WR ZSURZDG]RQH PRG\ILNDFMH ]RVWDQ XWUDFRQH =ELRU\ UHNRUGyZ X*\ZDQH wqlhnwyu\fklqq\fkprghodfkgdq\fkwdnlfkmdn'$2z\pdjdmde\su]hgprg\ ILNDFM ZDUWRFL SyO ]RVWDáD Z\ZRáDQD PHWRGD Edit. Metoda ta nie istnieje jednak w$'2d]dwhpmhmx*\flhvsrzrgxmhz\jhqhurzdqlheágxä2emhfwgrhvqrwvxssruw this method ). 7ZRU]HQLHQRZHJRX\WNRZQLND 5\VXQHN Formularz rejestracji nowych X*\WNRZQLNyZ pozwala X*\WNRZQLNRPQD podanie informacji, NWyUH]RVWDQ zapisane w bazie danych :SRSU]HGQLHMVHNFML]RVWDáDSU]HGVWDZLRQDVWURQDVáX*FDGRSRGDZDQLDLGHQW\ILNDWRUD X*\WNRwQLNDRUD]KDVáDMHGQDNVNGELRUVLWHZDUWRFL":V\VWHPLHPXVL]QDMGRZDü VLVWURQDSR]ZaODMFDQDUHMHVWUDFMQRZ\FKX*\WNRZQLNyZFRSR]ZROLLPQDNRrzystanie ]IRUXP7DVWURQD]RVWDáDMX*SRáF]RQD]HVWURQVáX*FGRORJRZDQLDX*\WNRwni- NyZMHMNRG]RVWDáSU]HGVWDZLRQ\QDOLVWLQJX5\VXQHNSU]HGVWDZLDIRUPXODU] UHMHVWUDF\MQ\QRZ\FKX*\WNRZQLNyZWZorzony przez kod z listingu /LVWLQJ7HQIRUPXODU]+70/SURVLX*\WNRZQLNDRSRGDQLHLQIRUPDFMLNRQLHF]Q\FKGRVWZRU]HQLD nowego rekordu w tabeli User (NowyUzytkownik.asp) 1. <HTML> 2. <HEAD> ,7/(!5HMHVWUDFMDQRZ\FKX*\WNRZQLNyZ7,7/(! 5. </HEAD> <BODY BGCOLOR="#FFFFFF" TEXT="#000000"> $/,*1 &(17(5!)RUPXODU]UHMHVWUDFMLQRZ\FKX*\WNRZQLNyZ+! <FORM METHOD="POST" ACTION="StworzUzytkownika.asp"> 12. <DIV ALIGN="CENTER"><CENTER><TABLE BORDER="1"> 13. <TR>
22 5R]G]LDä 7ZRU]HQLHDSOLNDFMLED]GDQ\FKSU]\X\FLXRELHNWÑZGDQ\FK$FWLYH; 14. 7'!67521*!,PL67521*!7'! 15. <TD><INPUT TYPE="TEXT" NAME="txtFirstName" SIZE="30"></TD> 16. </TR> 17. <TR> 18. <TD><STRONG>Nazwisko:</STRONG></TD> 19. <TD><INPUT TYPE="TEXT" NAME="txtLastName" SIZE="30"></TD> 20. </TR> 21. <TR> 22. <TD><STRONG>Adres </STRONG></TD> 23. <TD><INPUT TYPE="TEXT" NAME="txt Address" SIZE="50"></TD> 24. </TR> 25. <TR> 26. <TD><STRONG> </STRONG></TD> 27. <TD> </TD> 28. </TR> 29. <TR> 30. 7'!67521*!,GHQW\ILNDWRUX*\WNRZQLND67521*!7'! 31. <TD><INPUT TYPE="TEXT" NAME="txtUserID" SIZE="20"></TD> 32. </TR> 33. <TR> 34. 7'!67521*!+DVáR67521*!7'! 35. <TD><INPUT TYPE="PASSWORD" NAME="txtPassword" SIZE="20"></TD> 36. </TR> 37. </TABLE> 38. </CENTER></DIV> 39. <DIV ALIGN="CENTER"> 40. <CENTER> 41. 3!,13877<3( 68%0,79$/8( 6WZyU]QRZHJRX*\WNRZQLND ÖNAME="B1"> 42.,13877<3( 5(6(79$/8( :\F]\üZV]\VWNLHSROD1$0( %!3! 43. </CENTER> 44. </DIV> 45. </FORM> 46. </BODY> 47. </HTML> Listing 11.5 przedstawia kod formularza HTML. Sam formularz zawiera kod, którego Z ZLNV]oFL QLH PXVLV] SLVDü VDP 3U]HGVWDZLRQ\ IRUPXODU] PR*QD VWZRU]\ü Z GR ZROQ\PHG\WRU]H+70/MHGQ\P]OHSV]\FKFKRüQLHMHG\Q\PPR*HE\ü)URQW3DJH : U]HF]\ZLVWRFL VDP XNáDG IRrPXODU]D QLH MHVW ZD*Q\ GOD SURJUDPLVW\ ]QDF]HQLH posiada jedynie fakt istnienia pól i przycisków formularza oraz ich nazwy. Nazwy pól RUD]SU]\FLVNyZIRUPXODU]D]GHILQLRZDQH]RVWDá\ZOLQLDFKLV RQHZ\NRU]\VW\ZDQHZVNU\SFLHNWyU\REVáXJXMHZ\QLNLZ\NRQDQLDWHMVWURQ\1D]ZD VNU\SWXREVáXJXMFHJRIRUPXODU]]RVWDáDSRGDQDZOLQLLDMHJRNRGPR*QD]QDOH(ü na listingu /LVWLQJ7HQVNU\SWSU]HWZDU]DZDUWRFLZSURZDG]RQHGRIRUPXODU]DQDVWURQLH1RZyUzytkownik.asp LWZRU]\QRZHJRX*\WNRZQLNDZWDEHOLUser (StworzUzytkownika.asp) 1. <HTML> 2. <HEAD> 3. 7,7/(!6WZyU]QRZHJRX*\WNRZQLND7,7/(! 4. </HEAD> <BODY BGCOLOR="#FFFFFF"> 7. <% 8. Dim Conn
23 &]öè,, 9. Dim RSUser 10. Dim SQL Set Conn = Server.CreateObject("ADODB.Connection") 13. Set RSUser = Server.CreateObject("ADODB.Recordset") Conn.Open "Forum" SQL = "SELECT * FROM User WHERE UserID='" & ÖRequest.Form("txtUserid") & "'" RSUser.Open SQL,Conn,1, If Not RSUser.EOF Then 22. %> $/,*1 &(17(5!8*\WNRZQLNMX*LVWQLHMH+! <H3 ALIGN="CENTER"> <%= Request.Form("txtUserId") %></H3> <H3 ALIGN="CENTER"><A HREF="NowyUzytkownik.asp" TARGET="_parent"> 29..OLNQLXWXWDMDE\SRGDüLQQ\LGHQW\ILNDWRUX*\WNRZQLND$!+! <P> </P> <H3 ALIGN="CENTER">LUB</H3> <P> </P> <H3 ALIGN="CENTER"><A HREF="ZapomnianeHaslo.asp" TARGET="_parent"> 38..OLNQLMWXWDMMHOLFKFHV]DE\SU]HVáDü&LKDVáRSRF]W 39. HOHNWURQLF]QMHOL]DSRPQLDáHJRDZF]HQLHM]DUHMHVWURZDáHVL ÖSU]\X*\FLXWHJRLGHQW\ILNDWRUD$!+! 40. <% 41. Else RSUser.AddNew 44. RSUser("FirstName") = Request.Form("txtFirstName") 45. RSUser("LastName") = Request.Form("txtLastName") 46. RSUser("UserID") = Request.Form("txtUserID") 47. RSUser("Password") = Request.Form("txtPassword") 48. RSUser(" ") = Request.Form("txt ") 49. RSUser("LastVisit") = Now() 50. RSUser.Update 51. %> $/,*1 &(17(5!6WZRU]RQRQRZHJRX*\WNRZQLND+! <H3 ALIGN="CENTER"> 56. :LWDP\QD)RUXP8*\WNRZQLNyZ 5HTXHVW)RUPW[W)LUVW1DPH! 57. </H3> <H3 ALIGN="CENTER"> 60. $+5() /RJRZDQLHKWP7$5*(7 BSDUHQW!.OLNQLMWXWDMDE\VL Ö]DORJRZDü$!+! 61. <% 62. End If 63. %> 64. </BODY> 65. </HTML>
24 5R]G]LDä 7ZRU]HQLHDSOLNDFMLED]GDQ\FKSU]\X\FLXRELHNWÑZGDQ\FK$FWLYH; 7HQ VNU\SW SU]HSURZDG]D W\ONR MHGQ NRQWURO SRSUDZQRFL GDQ\FK XPLHV]F]RQH wolqldfk ± VSUDZG]DMF F]\ SRGDQ\ LGHQW\ILNDWRU X*\WNRZQLND MX* LVWQLHMH ZuSHáQLHSXVWHZDUWRFL]RVWDá\E\]DDNFHSWRZDQHMHGQDNMHVWWRGRSU]\MFLDZSU]\ padku testowego systemu ADO. ZaGDQLHPMDNLHPLDáLOXVWURZDüWHQNRQNUHWQ\VNU\SW MHVWGRGDZDQLHQRZHJRUHNRUGXGR]ELRUXUHNRUGyZ]DGDQLHWR]RVWDáRV]F]HJyáRZLHM omówione w kolejnych sekcjach. 'RGDZDQLHUHNRUGÑZGR]ELRUXUHNRUGÑZ 3RVSUDZG]HQLX*HZSURZDG]RQ\LGHQW\ILNDWRUX*\WNRZQLNDQLHZ\VWSXMHMX*ZED]LH GDQ\FKOLQLDOLVWLQJXQDGV]HGáF]DVDE\GRGDüX*\WNRZQLNDGRWDEHOL=ELyU renrugyzpxvl]rvwdüzf]hqlhmrwzru]rq\qdwdeholgrnwyuhmfkfhv]grgdzdüuhkordy. :SRZ\*V]\PVNU\SFLH]ELyUUHNRUGyZ]RVWDáRWZRU]RQ\QDWDEHOL UserSU]\X*\ciu krywhulyz NWyUH QLH ]RVWDá\ VSHáQLoQH 'R RWZDUFLD ]ELRUX UHNRUGyZ SRVáX*\áR SROH cenie SQL umieszczone w linii 17. Nawet pomiprwhjr*hqlh]rvwdá\]zuyfrqh*dgqh UHNRUG\]ELyUUHNRUGyZFDá\F]DVZVND]XMHQDWDEHO8VHUD]DWHPGRGDZDQHUHNRUG\ EGXPLHV]F]DQHZáDQLHZQLHM-HOLEG]LHV]SRWU]HERZDáRWZRU]\ü]ELyUUHNRUGyZ Z\áF]QLHZFHOXGRGDZDQLDQRZ\FKUHNRUGyZWRZSROHFHQLX64/SRZLQLHQHSRGDü WDNLHNU\WHULDNWyUHVSRZRGXM*H QLH ]RVWDQ ]ZUyFRQH*DGQH UHNRUG\7DNLP SROH FHQLHPPR*HE\ü SELECT * FROM User WHERE 1=2 1LH PD *DGQHJR VHQVX Z ]X*\ZDQLX SDPLFL L ]DVREyZ SURFHVRUD QD SHáQ\ ]ELyU UH NRUGyZMHOLQLHMHVWRQGRQLF]HJRSRWU]HEQ\.LHG\EG]LHV]MX*G\VSRQRZDá]ELRUHPUHNRUGyZWRGRGDQLHIDNW\F]QHJRUHNRUGXMHVW ádwz\pwuymhwdsrz\psurfhvhp 1. :\ZRáDMPHWRGAddNew (linia 43.). 2. 3U]\SLV]SRORPRGSRZLHGQLHZDUWRFLOLQLH± 3. :\ZRáDMPHWRGUpdate (linia 50.). =DXZD**HQLHPXVLV]RNUHODüZDUWRFLSROD,'LGHQW\ILNDWRUDJG\*MHVWRQDRNUH lana autopdw\f]qlhsrsu]h] LQNUHPHQWDFM ZDUWRFL WHJR VDPHJR SROD SRSU]HGQLHJR UHNRUGXMHVWWRSROHDXWRLQNUHPHQWXMFH:V]HONDZHU\ILNDFMDQDSR]LRPLHUHNRUGX ZW\PZHU\ILNDFMDLQGHNVyZMHVWZ\NRQ\ZDQDZPRPHQFLHZ\ZRáDQLDPHWRG\UpdateD]DWHP]D]Z\F]DMZáDQLHZW\PPLHMVFXSRMDZLDMVLEáG\%áG\SRZRdowane SU]H] QLH]JRGQRü W\SyZ OXE ZLHONRFL SyO V JHQerowane w liniach, w których ]QDMGXMHVLSU]\SLVDQLHZDUWRFLGRSROD :\ZLHWODQLH)RUXP *áyzq VWURQ WZRU]RQHJR V\VWHPX MHVW Forum.asp przedstawiona na listingu áX*\ RQD GR Z\ZLHWODQLD ZLDGRPRFL SRJUXSRZDQ\FK ZHGáXJ SURZDG]RQ\FK UR] PyZ1DWHMVWURQLHX*\tNRZQLNPR*HNOLNQüQDGRZROQHMZLDGRPRFLFRVSRZRGXMH Z\ZLHWOHQLHMHMWHNVWXOXEGRGDüQRZZLDGRPRü1DU\VXQNX]RVWDáDSU]HGsta-
25 &]öè,, 5\VXQHN Wyniki wykonania Forum.asp SU]HGVWDZLDMOLVW wszystkich ZLDGRPRFL zapisanych w bazie danych ZLRQDNRPSOHWQDVWURQDZ\ZLHWORQDZSU]eJOGDUFH)XQNFMDRGSRZLDGDQLDQDZLDdo- PRFLMHVWGRVWSQDW\ONRQDVWURQLHSUH]HQWXMFHMWUHüZLDGRPRFL /LVWLQJ7DVWURQDZ\ZLHWODZV]\VWNLHZLDGRPRFLSU]HFKRZ\ZDQHZWDEHOL0HVVDJHV)RUXPDVS 1. <HTML> 2. <SCRIPT LANGUAGE="VBSCRIPT" RUNAT="SERVER"> 3. Sub WyswietlWiadomosciPotomne( Parent, Level ) Dim RSMessages 6. Dim SQL 7. Dim i Set RSMessages = Server.CreateObject("ADODB.Recordset") SQL = "SELECT Message.ID, " & _ 12. "Message.Subject, Message.Date, " & _ 13. "User.UserID FROM Message, User " & _ 14. "WHERE Message.UserID = User.ID AND " & _ 15. "Message.Parent=" & Parent RSMessages.Open SQL,Conn,1, Do While Not RSMessages.EOF Response.Write "<TR>" 22. Response.Write "<TD>" For i = 1 to level 25. Respnse.Write " " 26. Next Response.Write "<A HREF='Wiadomosc.asp?id=" 29. Response.Write RSMessages("ID") & "'>" 30. Response.Write RSMessages("Subject") 31. Response.Write "</A>" 32. Response.Write "</TD><TD>" 33. Response.Write RSMessages("UserID") 34. Response.Write "</TD><TD>" 35. Response.Write FormatDateTime( RSMessages("Date"),2) 36. Response.Write "</TD></TR>" WyswietlWiadomosciPotomne RSMessages("ID"), Level RSMessages.MoveNext 40.
26 5R]G]LDä 7ZRU]HQLHDSOLNDFMLED]GDQ\FKSU]\X\FLXRELHNWÑZGDQ\FK$FWLYH; 41. Loop End Sub 44. </SCRIPT> <HEAD> 47. 7,7/(!)RUXP8*\WNRZQLNyZ7,7/(! 48. </HEAD> 49. <BODY> <TABLE BORDER="1" WIDTH="100%"> 52. <TR> 53. 7':,'7+!67521*!:LDGRPRFL67521*!7'! 54. 7':,'7+!67521*!:\VáDQ\SU]H]67521*!7'! 55. 7':,'7+!67521*!'DWDZ\VáDQLD67521*!7'! 56. </TR> <% Dim Conn 61. Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "Forum" WyswietlWiadomosciPotomne 0, %> 68. </TABLE> $/,*1 &(17(5!$+5() 1RZD:LDGRPRVFDVS!'RGDMQRZ ÖZLDGRPRü$!+! 71. </BODY> 72. </HTML> 6WURQDSU]HGVWDZLRQDQDOLVWLQJXG]LDáDG]LNLZ\NRU]\VWDQLXprocedury rekurencyjnej FR R]QDF]D *H SURFHGXUD WD Z\ZRáXMH VDPD VLHELH 3URFHGXUD WD QRVL QD]Z WyswietlWiadomosciPotomne L ]RVWDáD ]DSLVDQD Z OLQLDFK ± 'R VWZRrzenia FDáHMVWURQ\NRQLHF]QHMHVWSRGDQLHW\ONRGZyFKSDUDPHWUyZ3LHUZV]\]QLFKRNUHOD dla jakiej wiadoprfl JáyZQHM SRZLQQ\ ]RVWDü Z\ZLHWORQH ZLDGRPRFL SRWRPQH ZDUWRüWHJRSDUDPHWUXR]QDF]D*HSRZLQLHQ]RVWDüZ\ZLHWORQ\QDMZ\*szy poziom ZLDGRPRFL F]\OL WH NWyUH QLH PDM ZLDGRPRFL QDGU]GQ\FK 7HQ DUJXment jest Z\NRU]\VW\ZDQ\MDNRF]üSROHFHQLD64/X*\ZaQHJRGRSRELHUDQLDZLDGRPRFL]ED ]\ SDU] OLQLH ± 'OD ND*GHM ZLDGRPRFL RGQDOH]LRQHM ÄSRQL*HM GDQHM ZLDGRPRFL QDGU]GQHM IXQNFMD WyswietlWiadomosciPotomne jest wyzrá\zdqd SRQRZQLH MHGQDN W\P UD]HP Z MHM Z\ZRáDQLX MDNR ZLDGRPRü QDGU]dna jest podazdq\ LGHQW\ILNDWRU DNWXDOQHM ZLDGRPRFL OLQLD : WHQ VSRVyE SRZVWDMH baug]rqlhzlhonliudjphqwnrgxnwyu\mhvwzvwdqlhreváx*\ügrzroqlorüzldgrprci. Drugi argument funkcji WyswietlWiadomosciPotomne VáX*\ GR NRQWURORZDQLD ZFLQDQLD ZLDGRPRFLLRNUHOD QD MDNLP SR]LRPLH RJyOQHJR GU]HZD DNWXDOQD ZLDdo- PRüMHVWZ\ZLHWODQD 3U]HFKRG]HQLHSRPLöG]\UHNRUGDPL Procedura podana na listingu 11.7 przedstawia sposób wykorzystania metod obiektu ReFRUGVHW VáX*F\FK GR SRUXV]DQLD VL SRPLG]\ UHNRUGDPL 0HWRG\ WH SR]ZDODMQD
27 &]öè,, pobranie po kolei ka*ghjruhnrugx]qdmgxmfhjrvlz]elru]huhnrugyzlzykonanie na QLPVHULLRSHUDFML:OLQLDFK±MHVWXPLHV]F]RQDSWODNWyUDEG]LHZ\NRnywana D*GRRVLJQLFLDNRFD]ELRUXUHNRrdów (EOF:ND*GHMLWHUDFMLSWOLZ\ZRá\wana, jest metoda MoveNext obiektu Recordset FR SRZRGXMH SU]HVXQLFLH ZVND(nika do QDVWSQHJRUHNRUGX-HOLWRSROHFHQLH]RVWDáRE\]DSoPQLDQHSRZVWDáDE\QLHVNRF]RQD SWODJG\*QLJG\QLH]RVWDáE\RVLJQLW\NRQLHF]ELRUXUHNRrdów. 7ZRU]HQLH85/LQDSRGVWDZLHLQIRUPDFML]ED]\GDQ\FK )XQNFMRQDOQD PR*OLZRü NOLNQLFLD QD NRQNUHWQHM ZLDGRPRFL MHVW LPSOHPHQWRZDQD przez stwou]hqlhgodnd*ghmzldgrprfl85/dsu]hnd]xmfhjrmhmlghqw\ilndwrugrsol ku Wiadomosc.asp =DGDQLH WR MHVW Z\NRQ\ZDQH G]LNL X*\FLX podstawienia, ZVWDZLDMFHPXZDUWRü]H]ELRUXUHNRrGyZGRNRGX+70/ND*GHJRSRáF]HQLD=DOHFD VL ]DFKRZ\ZDQLH MDN QDMSURVWV]HM SRVWDFL 85/OL L SU]HND]\ZDQLH GR QLFK MHG\QLH LGHQW\ILNDWRUDOXEVáRZDNOXF]RZHJR3U]HGVWDZLRQDSRZ\*HMVWURQDZFDáRFLED]XMH QDZLDGRPRFLDFK]DSLVDQ\FKZED]LHGDQ\FKV\VWHPXMHGQDNPXVLLVtQLHüMDNDPHto- GDGRGDZDQLDZLDGRPRFLGRWHMED]\0HWRGDWDMHVWGRVWDUF]DQDSU]H]VWURQNowa- Wiadomosc.asp RSLVDQZQDVWSQHM VHNFML NRG WHM VWURQ\ SU]HGVWDZLRQ\ ]RVWDá QD listingu /LVWLQJ6WURQDVáX*FDGRWZRU]HQLDQRZ\FKZLDGRPRFL1RZD:LDGRPRVFDVS 1. <HTML> 2. <HEAD> 3. 7,7/(!6WZyU]QRZZLDGRPRVü7,7/(! 4. </HEAD> 5. <BODY BGCOLOR="#FFFFFF" TEXT="#000000"> <% If Request.QueryString("Type") = "Reply" Then %> 8. +$/,*1 &(17(5!2GSRZLHG]QDZLDGRPRü+! <FORM ACTION="DodajNowaWiadomosc.asp?ID=<%= ÖRequest.QueryString('ID')%>" 11. METHOD="POST" TARGET="_parent"> 12. <% Else %> 13. ',9$/,*1 &(17(5!&(17(5!+!1RZDZLDGRPRü+! 14. </CENTER></DIV> <FORM ACTION="DodajNowaWiadomosc.asp" METHOD="POST" ÖTARGET="_parent"> 18. <% End If %> 19. <TABLE BORDER="0"> 20. <TR> 21. <TD>Temat:</TD> 22. <TD><INPUT ID="txtSubject" NAME="txtSubject" SIZE="50" 23. VALUE="<%= Request.QueryString("Subject") %>" ></TD> 24. </TR> 25. <TR> 26. 7'9$/,*1 723!:LDGRPRü7'! 27. <TD><TEXTAREA ID="txtMessage" NAME="txtMessage" ROWS="4" ÖCOLS="50"> </TEXTAREA></TD> 30. </TR>
28 5R]G]LDä 7ZRU]HQLHDSOLNDFMLED]GDQ\FKSU]\X\FLXRELHNWÑZGDQ\FK$FWLYH; 31. <P><INPUT NAME="cmdSubmit" TYPE="SUBMIT" Ö9$/8( :\OLM! QEVS QEVS 32.,13871$0( FPG5HVHW7<3( 5(6(79$/8( :\F]\ü Öformularz"></P> 33. </TABLE> 34. </FORM> 35. </BODY> 36. </HTML> 5\VXQHN Ten formularz HTML gromadzi informacje, które SRVáX*GR stworzenia nowej ZLDGRPRFLIRUXP X*\WNRZQLNyZ.RG SU]HGVWDZLRQ\ QD OLVWLQJX WZRU]\ SURVW\ IRUPXODU] +70/ NWyU\ PR*QD ]REDF]\ü QD U\VXQNX 3RZ\*V]D VWURQD ]DZLHUD WDN*H QLHZLHONL IUDJPHQW NRGX $63 NWyU\ SR]ZDOD MHM IXQNFMRQRZDü ]DUyZQR MDNR IRUPXODU] VáX*F\ GR WZRU]HQLD QRZ\FKZLDGRPRFLMDNLIRUPXODU]VáX*F\GRRGSRZLDGDQLDQDZLDGRPRFLSU]HVáDQH do forum. Podczas odpowiadania na wiadoprüolqlh±prg\ilnxm85/xplh szczony w parametrze actionirupxodu]dgrgdmfgrqlhjrlghqw\ilndwruzldgrprci. 7HQ SDUDPHWU ZUD] ] ]DZDUWRFL VDPHJR IRUPXODU]D SU]HV\áDQ\ MHVW GR SURJUDPX REVáXJLDodajNowaWiadomosc.asp), którego kod przedstawiono na listingu NU\SW REVáXJXMF\ RWU]\PXMH Z\QLNL ] IRUPXODU]D SU]HGVWDZLRQHJR QD U\VXQNX i musi zapivdü MH Z ED]LH GDQ\FK &]\QQRFL Z\NRQ\ZDQH SU]\ GRGDZDQLX QRZ\FK wiagrprfl]rvwdá\rsivdqhzqdvwsqhmvhnfmlur]g]ldáx 3U]HWZDU]DQLHIRUPXODU]DQRZHMZLDGRPRFL Strona DodajNowaWiadomosc.asp NWyUHM NRG ]RVWDá SU]HGVWDZLRQ\ QD OLVWLQJX GRGDMHQRZZLDGRPRüGRV\VWHPX]DFKRZXMFVLSU]\W\PZUy*Q\VSRVyE w]doh*qrflrgwhjrf]\]dslv\zdqdzldgrprümhvw]xsháqlhqrzdf]\wh* VWDQRZL RGSRZLHG(/LVWLQJ]DZLHUDNRGX*\ZDQ\GRSU]HWZRU]HQLDZLDGRPRFL±F]\OLGR dodania nowego rekordu do bazy danych.
29 &]öè,, /LVWLQJ6WZRU]HQLHQRZHMZLDGRPRFLOXERGSRZLHG]LQDSRGVWDZLHZDUWRFLSU]HND]anych parametrów (DodajNowaWiadomosc.asp) 1. LANGUAGE=VBScript %> 2. <HTML> 3. <% 4. Dim Conn 5. Dim RSAddMessage 6. Dim SQL Set Conn = Server.CreateObject("ADODB.Connection") 9. Set RSAddMessage = Server.CreateObject("ADODB.Recordset") Conn.Open "Forum" SQL = "SELECT * FROM Message Where 1=2" RSAddMessage.Open SQL, Conn, 1, RSAddMessage.AddNew 18. RSAddMessage("Subject") = Request.Form("txtSubject") 19. RSAddMessage("UserID") = Session("User_ID") 20. RSAddMessage("Date") = Now() 21. If Request.QueryString("ID") > 0 Then 22. RSAddMessage("Parent") = Request.QueryString("ID") 23. Else 24. RSAddMessage("Parent") = End If RSAddMessage("Message") = Request.Form("txtMessages") 28. RSAddMessage.Update %> <HEAD> 33. 7,7/(!'RGDMZLDGRPRü7,7/(! 34. </HEAD> <BODY BGCOLOR="#FFFFFF" TEXT="#000000"> $/,*1 &(17(5!7ZRMDZLDGRPRü]RVWDáDGRGDQD+! <P ALIGN="CENTER"><A HREF="Forum.asp"> 41..OLNQLMWXWDMDE\SRZUyFLüQD)RUXPX*\WNRZQLNyZ$! 42. </BODY> 43. </HTML> 1DMZD*QLHMV]\ VNU\SW WHM VWURQ\ ]QDMGXMH VL Z OLQLDFK ± 7HQ VNU\SW WZRU]\ QRZ\ UHNRUG SR NROHL ]DSLVXMH ZDUWRFL MHJR SyO D QDVWSQLH Z ]DOH*QRFL F]\ ZLDGRPRü MHVW RGSRZLHG]L F]\ QLH SROX ZLDGRPRFL QDGU]GQHM MHVW SU]\SLV\ZDQ\ LGHQW\ILNDWRU ZLDGRPRFL QD NWyU RGSRZLaGDP\ OXE ZDUWRü 0. Po zapisaniu wszy- VWNLFKZLDGRPRFLMHVWZ\ZRá\ZDQDPHWRGDUpdateZOLQLL'RGDQDZLDGRPRü SRMDZLVLQDOLFLHZ\ZLHWODQHMSU]H]VWURQForum.asp]DUD]SRMHMRGZLH*HQLX 7HUD] G\VSRQXMHP\ MX*ZLNV]RFLPR*OLZRFL IXQNFMRQDOQ\FK WZRU]RQHJR IRUXP 8*\WNRZQLN PR*H VL]DORJRZDü GRGDü ZLDGRPRü L Z\ZLHWOLü OLVW ZV]\VWNLFK GR VWSQ\FKZLDGRPRFLFDá\F]DVEUDNXMHMHGQDNNLONXHOHPHQWyZ3RGVWDZRZ\P]QLFK
30 5R]G]LDä 7ZRU]HQLHDSOLNDFMLED]GDQ\FKSU]\X\FLXRELHNWÑZGDQ\FK$FWLYH; MHVWPR*OLZRüZ\ZLHWOHQLDSRMHG\nF]HMZLDGRPRFL'ROLVW\ZLDGRPRFLGRGDOLP\ MX*85/HNWyUHPDMXPR*OLZLüZ\ZLHWOHQLHZLDGRPRFLSDWU]OLQLH±OLstin- JXMHGQDNMDNQDUD]LHQLH]RVWDáVWZRU]RQ\*DGHQNRGNWyU\E\MHREVáXJLZDá 7HNNRGMHVWVWRVXQNRZRZD*Q\GODWHJRWH*]RVWDQLHRPyZLRQ\ZQDVWpnej sekcji. 3U]HJOñGDQLHSRMHG\QF]\FKZLDGRPRFL 1D OLVWLQJX ]RVWDá SU]HGVWDZLRQ\ VNU\SW VáX*F\ GR Z\ZLHWODQLD SRMHG\QF]\FK wiadomofl&]\qqrfluhdol]rzdqh]dsrprf$'2qdwhmvwurqlhvwdnlhvdphmdn na poprzednich stroqdfk %H] $'2 FDá\ V\VWHP QLH PyJáE\ ZLHOH ]G]LDáDü /LVWLQJ zawiera kod strony Wiadomosc.aspX*\ZDQHMGRZ\ZLHWODQLDND*GHMZ\EUDQHM ZLDGRPRFL /LVWLQJ7DVWURQDZ\ZLHWODZLDGRPRFL]DSLVDQHZV\VWHPLHQDSRGVWDZLHSU]HND]DQego do niej identyfikatora (Wiadomosc.asp) 1. <HTML> 2. <% 3. Dim Conn 4. Dim RSMessage 5. Dim TheSubject 6. Dim TheMessage 7. Dim SQL Set Conn = Server.CreateObject("ADODB.Connection") 10. Set RSMessage = Server.CreateObject("ADODB.Recordset") Conn.Open "Forum" SQL = "SELECT Message.ID, " & _ 15. "Message.Subject, Message.Date, Message.Message, " & _ 16. "User.UserID, User.FirstName, User.LastName, FROM Message, User " & _ 17. "WHERE Message.UserID = User.ID AND " & _ 18. "Message.ID =" & Request.QueryString("ID") RSMessage.Open SQL, Conn, 1, If Not RSMessage.EOF Then TheSubject = Server.HTMLEncode(RSMessage("Subject")) 25. TheMessage = Server.HTMLEncode(RSMessage("Message")) 26. ThePoster = RSMessage("FirstName") & " " & RSMessage("LastName") 27. QueryString = "Type=Reply&ID=" & RSMessage("ID") & "&Subject=" & _ 28. Server.URLEncode(RSMessage("Subject")) End If 31. %> 32. <HEAD> 33. <TITLE><%= TheSubject %></TITLE> 34. </HEAD> <BODY> <TABLE BORDER="0" WIDTH="100%" CELLSPACING="4" CELLPADDING="4"> 39. <TR> 40. <TD WIDTH="100%"><STRONG><FONT FACE="ARIAL">
31 &]öè,, 41. Temat: <%= TheSubject %></FONT></STRONG></TD> 42. </TR> 43. <TR> 44. <TD WIDTH="100%"><STRONG><FONT FACE="ARIAL"> 45. <%= TheMessage %></FONT></STRONG></TD> 46. </TR> 47. <TR> 48. <TD WIDTH="100%"><STRONG><FONT FACE="ARIAL"> 49. :\VáDQDSU]H] 7KH3RVWHU!)217!67521*!7'! 50. </TR> 51. <TR> 52. <TD WIDTH="100%"><STRONG><FONT FACE="ARIAL"> 53. $+5() 1RZD:LDGRPRVFDVS" 4XHU\6WULQJ!2GSRZLHG]QDW ÖZLDGRPRü!$! 54. </FONT></STRONG></TD> 55. </TR> 56. </TABLE> <P> </P> 59. </BODY> 60. </HTML> 5\VXQHN Skrypt Wiadomosc.asp Z\ZLHWODZ\EUDQ ZLDGRPRü i pozwala X*\WNRZQLNRZLQD odpowiedzenie na QL.RGZ\ZLHWODMF\ZLDGRPRüMHVWSURVW\SUH]HQWXMHRQZLDGRPRüZVSRVyEF]\WHOQ\ SDWU]U\VXQHNL]DSHZQLD*H*DGQH]QDNLVSHFMDOQHQLH]DEXU]MHMZ\JOGXOLQLH ±=PLHQQHSRUHGQLHVX*\ZDQHZ\áF]QLHGRXSURV]F]HQLDNRGXVWURQ\LQLH V NRQLHF]QH : OLQLL QD VDP\P NRFX WDEHOL VáX*FHM GR SU]HGVWDZLHQLD ZLDdo- PRFLMHVWXPLHV]F]DQ\85/GRVWURQ\NowaWiadomosc.aspRPyZLRQHMZHZF]H QLHMV]HMF]FLUR]G]LDáX:W\PZ\SDGNX]HZ]JOGXQDWR*HFKFHV]RGSRwieG]LHü QDRJOGDQZLDGRPRüGRDGUHVX85/MHVWGRGDZDQDJUXSDSDUDPHWUyZ3U]HsyáDQ\ MHVW LGHQW\ILNDWRU ZLDGRPRFL QD NWyU RGSRZLDGDP\ MHM WHPDW RUD] SDUDPHWU Type X*\ZDQ\ SU]H] VNU\SW NowaWiadomosc.asp OLVWLQJ GR RNUHOHQLD VSRsobu ]DSLVDQLDQRZHMZLDGRPRFL 3RGVXPRZDQLHV\VWHPX)RUXP8\WNRZQLNÑZ 6WZRU]\áHMX*]QDF]QZLNV]RüDSOLNDFMLIRUXPX*\WNRZQLNyZ6\VWHPMHVWMX*SUD wie komsohwq\qlholf]fnlonxpqlhm]qdf]f\fkv]f]hjyáyznwyuh]rvwdqsu]hgsta- ZLRQHMDNRüZLF]HQLDSRGNRQLHFWHJRUR]G]LDáX
Materiały do laboratorium MS ACCESS BASIC
Materiały do laboratorium MS ACCESS BASIC Opracowała: Katarzyna Harężlak Access Basic jest językiem programowania wykorzystywanym w celu powiązania obiektów aplikacji w jeden spójny system. PROCEDURY I
o partnerstwie publiczno-prywatnym.
SENAT RZECZYPOSPOLITEJ POLSKIEJ V KADENCJA Warszawa, dnia 20 czerwca 2005 r. Druk nr 984 0$56=$à(. 6(-08 RZECZYPOSPOLITEJ POLSKIEJ Pan Longin PASTUSIAK 0$56=$à(. 6(1$78 RZECZYPOSPOLITEJ POLSKIEJ =JRGQLH
Materiały pomocnicze do zajęć z przedmiotu Projekt ADP
Dr Janusz Górczyński Materiały pomocnicze do zajęć z przedmiotu Projekt ADP Czym jest projekt ADP? Projekt Microsoft Access (.adp) jest typem pliku programu Access, który zapewnia skuteczny dostęp w trybie
Jan Bień. Modelowanie obiektów mostowych w procesie ich eksploatacji
Jan Bień Modelowanie obiektów mostowych w procesie ich eksploatacji Oficyna Wydawnicza Politechniki Wrocławskiej Wrocław 2002 63,675(&, 1. SYSTEMOWE WSPOMAGANIE EKSPLOATACJI OBIEKTÓW MOSTOWYCH... 7 1.1.
Dostęp do baz danych z serwisu www - PHP. Wydział Fizyki i Informatyki Stosowanej Joanna Paszkowska, 4 rok FK
Dostęp do baz danych z serwisu www - PHP Wydział Fizyki i Informatyki Stosowanej Joanna Paszkowska, 4 rok FK Bazy Danych I, 8 Grudzień 2009 Plan Trochę teorii Uwagi techniczne Ćwiczenia Pytania Trójwarstwowy
Zajęcia 13 wykorzystanie MySQL w PHP cz. 2
Zajęcia 13 wykorzystanie MySQL w PHP cz. 2 Przykład 1 wyświetlanie danych [ Plik wyswietlanie.php ] $polaczenie = mysql_connect("localhost", "root", "") or die("nie mozna polaczyc z baza!"); mysql_select_db("test",
1. PARAMETRY TECHNICZNE WAG NAJAZDOWYCH.
.ZLHFLH 2 1. PARAMETRY TECHNICZNE WAG NAJAZDOWYCH. Typ wagi 2EFL*HQLH maksymalne Max [kg] WPT/4N 400H WPT/4N 800H WPT/4N 1500H 400 800 1500 2EFL*HQLH PLQLPDOQH Min [kg] 4 10 10 'RNáDGQRü RGF]\WX d [g]
1.1. System otwartych baz danych ODBC. System otwartych baz danych ODBC. Interfejs ODBC. Interfejs ODBC. System otwartych baz danych ODBC
1 Katedra Optoelektroniki i Systemów Elektronicznych 2 Oprogramowanie Systemów Elektronicznych Zagadnienia: Temat wykładu 1. Interfejs ODBC 2. 3. 3 Interfejs ODBC 4 Interfejs ODBC ODBC (Open DataBase Connectivity)
KWIT WYWOZOWY/PODWOZOWY (KW)
KWIT WYWOZOWY/PODWOZOWY (KW).ZLW Z\ZR]RZ\SRGZR]RZ\ MHVW GRNXPHQWHP VWDQRZLF\P SRGVWDZ SU]HPLHV]F]HQLD Z\URELRQ\FKLRGHEUDQ\FKPDWHULDáyZGU]HZQ\FKSU]\X*\FLXNRQQ\FKLPHFKDQLF]Q\FKURGNyw WUDQVSRUWRZ\FKDSRSRGSLVDQLXSU]H]RGELRUFVWDQRZLGRZyGGRVWDZ\RNUHORQHMZQLPPDV\
DAO. tworzenie tabeli
Mały poradnik do projektu z baz danych macie przykładowe kody DAO I ADODB, pewnie nie wszystkie, jak będą prośby to się dopisze co trzeba na razie będzie to wersja: 0.1 tego dokumentu. Na czerwono zaznaczyłem
Manipulowanie danymi przy użyciu DAO
Manipulowanie danymi przy użyciu DAO DAO Data Access Objects Korzystając z obiektów DAO można manipulować danymi z kodu procedur VBA np. Otwarta baza danych jest reprezentowana przez obiekt Database TableDef
SIECI KOMPUTEROWE I BAZY DANYCH
Akademia Górniczo-Hutnicza Wydział Inżynierii Mechanicznej i Robotyki Katedra Robotyki i Dynamiki Maszyn SIECI KOMPUTEROWE I BAZY DANYCH ĆWICZENIE NR 10 Temat: INTERFEJS SYSTEMU BAZODANOWEGO W PHP. BUDOWA
Paweł Rajba
Paweł Rajba pawel@cs.uni.wroc.pl http://www.itcourses.eu/ Wprowadzenie Używanie kursorów Rodzaje kursorów Praca z kursorami Co to jest kursor? Cykl życia kursora utworzenie pobieranie wartości ewentualnie
Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.
Prezentacja Danych i Multimedia II r Socjologia Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL. Celem ćwiczeń jest poznanie zasad tworzenia baz danych i zastosowania komend SQL. Ćwiczenie I. Logowanie
Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Informatyki i Elektroniki
Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Informatyki i Elektroniki Instrukcja do zajęć laboratoryjnych Przetwarzanie i organizowanie danych : bazy danych Nr ćwiczenia 10 Temat Aplikacje
SENAT RZECZYPOSPOLITEJ POLSKIEJ V KADENCJA. Warszawa, dnia 3 sierpnia 2005 r. Druk nr 1074
SENAT RZECZYPOSPOLITEJ POLSKIEJ V KADENCJA Warszawa, dnia 3 sierpnia 2005 r. Druk nr 1074 PREZES RADY MINISTRÓW Marek BELKA Pan Longin PASTUSIAK 0$56=$à(. 6(1$78 RZECZYPOSPOLITEJ POLSKIEJ 6]DQRZQ\ 3DQLH
Aplikacje WWW - laboratorium
Aplikacje WWW - laboratorium Język JavaScript Celem ćwiczenia jest przygotowanie formularza na stronie WWW z wykorzystaniem języka JavaScript. Formularz ten będzie sprawdzany pod względem zawartości przed
Projekt strony internetowej firmy organizującej przyjęcia
Politechnika Śląska Gliwice Wydział Automatyki, Elektroniki i Informatyki Rok akademicki 2010/2011 Kierunek: Automatyka i Robotyka, semestr 5 Semestr zimowy Projekt strony internetowej firmy organizującej
4 Web Forms i ASP.NET...149 Web Forms...150 Programowanie Web Forms...150 Możliwości Web Forms...151 Przetwarzanie Web Forms...152
Wstęp...xv 1 Rozpoczynamy...1 Co to jest ASP.NET?...3 W jaki sposób ASP.NET pasuje do.net Framework...4 Co to jest.net Framework?...4 Czym są Active Server Pages (ASP)?...5 Ustawienia dla ASP.NET...7 Systemy
Spis treœci :VWS... 5. Poziom podstawowy... 9. Poziom rozszerzony... 61. 5R]ZL]DQLD... 95 6áRZQLF]HN... 125 Literatura... 127
Spis treœci Twoja matura Geografia :VWS... 5 Poziom podstawowy... 9 I. 3RGVWDZ\ NRU]\VWDQLD ] Uy*QRURGQ\FK (UyGHá LQIRUPDFML JHRJUaficznej... 9 II. Funkcjonowanie systemu przyrodniczego Ziemi... 16 III.
Administracja i programowanie pod Microsoft SQL Server 2000
Administracja i programowanie pod Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 5 Kursory w SQL Serverze Wprowadzenie Modele kursorów Używanie kursorów Rodzaje kursorów Praca
'otwarcie i ustawienie zbioru rekordow na podstawie tabeli Studenci Set rs = CurrentDb.OpenRecordset("Studenci", dbopensnapshot)
Tworzenie rozwiązań baz danych w Visual Basic for Applications dla MS Access 2010 Dr inż. Dariusz Mrozek (na podstawie materiałów firmy Microsoft) Microsoft Access jest zintegrowanym systemem do tworzenia
Zapis stenograficzny (1537) 188. posiedzenie.rplvml3rolw\nl6sráhf]qhml=gurzld w dniu 30 listopada 2004 r.
ISSN 1643-2851 SENAT RZECZYPOSPOLITEJ POLSKIEJ Zapis stenograficzny (1537) 188. posiedzenie.rplvml3rolw\nl6sráhf]qhml=gurzld w dniu 30 listopada 2004 r. V kadencja 3RU]GHN REUDG,QIRUPDFMD QD WHPDW SUREOHPX
Zapis stenograficzny (1653) 27. posiedzenie Komisji Spraw Unii Europejskiej w dniu 25 lutego 2005 r.
ISSN 1643-2851 SENAT RZECZYPOSPOLITEJ POLSKIEJ Zapis stenograficzny (1653) 27. posiedzenie Komisji Spraw Unii Europejskiej w dniu 25 lutego 2005 r. V kadencja Zapis stenograficzny jest tekstem nieautoryzowanym.
Funkcje i instrukcje języka JavaScript
Funkcje i instrukcje języka JavaScript 1. Cele lekcji a) Wiadomości Uczeń : zna operatory i typy danych języka JavaScript, zna konstrukcję definicji funkcji, zna pętlę If i For, Do i While oraz podaje
Zapis stenograficzny (1532) 187. posiedzenie.rplvml3rolw\nl6sráhf]qhml=gurzld w dniu 25 listopada 2004 r.
ISSN 1643-2851 SENAT RZECZYPOSPOLITEJ POLSKIEJ Zapis stenograficzny (1532) 187. posiedzenie.rplvml3rolw\nl6sráhf]qhml=gurzld w dniu 25 listopada 2004 r. V kadencja 3RU]GHN REUDG 1. Rozpatrzenie ustawy
MySQL. Æwiczenia praktyczne
IDZ DO PRZYK ADOWY ROZDZIA SPIS TRE CI KATALOG KSI EK KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG MySQL. Æwiczenia praktyczne Autor: Marek Nowakowski ISBN: 83-7197-884-7 Format: B5, stron: 114 TWÓJ KOSZYK DODAJ
Oracle PL/SQL. Paweł Rajba.
Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 2 Kusory Wprowadzenie Kursory użytkownika Kursory domyślne Zmienne kursora Wyrażenia kursora - 2 - Wprowadzenie Co to jest kursor?
INSTRUKCJA OBSŁUGI I INSTALOWANIA ZMYWARKI DO NACZYŃ MODEL: STX2C
INSTRUKCJA OBSŁUGI I INSTALOWANIA ZMYWARKI DO NACZYŃ MODEL: STX2C Wyłączny Przedstawiciel na Polskę: DOM BANCO Sp. z o.o., al. Krakowska 5, 05-090 Raszyn k/warszawy Tel.: 0 22 720 11 99, fax: 0 22 720
Ewolucyjna optymalizacja wielokryterialna
Algorytmy genetyczne (seminarium) SURZDG]F\ GULQ*+DOLQD.ZDQLFND termin: URGD 15 13 00 data: 2000.05.10 autor: 0DUFLQ:FLXELDN nr ind. 82443 informatyka, semestr 6. Ewolucyjna optymalizacja wielokryterialna
Piotr 7U\EDáD. Leasing 3RUDGQLN3U]HGVLELRU \
Piotr 7U\EDáD Leasing 3RUDGQLN3U]HGVLELRU \ Autor Piotr 7U\EDáD Redakcja i korekta Ewa Skrzypkowska Copyright by 3ROVND $JHQFMD 5R]ZRMX 3U]HGVLELRUF]RFL Projekt serii Tadeusz Korobkow 3URMHNW RNáDGNL Andrzej
ZAAWANSOWANE BAZY DANYCH I HURTOWNIE DANYCH MySQL, PHP
ZAAWANSOWANE BAZY DANYCH I HURTOWNIE DANYCH MySQL, PHP Zad. 1 Dla każdego zamówienia wyznaczyć jego wartość. Należy podać numer zamówienia oraz wartość. select z.id_zamowienia, sum(ilosc*cena) as wartosc
MVC w praktyce tworzymy system artykułów. cz. 2
MVC w praktyce tworzymy system artykułów. cz. 2 W drugiej części artykułu o wzorcu MVC stworzymy część skryptu, odpowiedzialną za obsługę kategorii. Tworzymy kontroler kategorii Na początek stwórzmy plik
3URMHNWRZDQLHVFKHPDWyZ UHODF\MQ\FKED]GDQ\FK± 1RUPDOL]DFMD. =E\V]NR.UyOLNRZVNL ,QVW\WXW,QIRUPDW\NL3ROLWHFKQLNL3R]QDVNLHM 3R]QDXO3LRWURZR
3URMHNWRZDQLHVFKHPDWyZ UHODF\MQ\FKED]GDQ\FK± 1RUPDOL]DFMD =E\V]NR.UyOLNRZVNL,QVW\WXW,QIRUPDW\NL3ROLWHFKQLNL3R]QDVNLHM 3R]QDXO3LRWURZR HPDLO=E\V]NR.UyOLNRZVNL#FVSXWSR]QDSO 1LHZáDFLZH]DSURMHNWRZDQLHVFKHPDWyZ
Ćwiczenia 2 IBM DB2 Data Studio
Ćwiczenia 2 IBM DB2 Data Studio Temat: Aplikacje w Data Studio 1. Projekty Tworzenie procedur, UDF, trygerów zaczynamy od utworzenia projektu File -> New -> Project wybieramy Data Development Project.
Platforma.NET laboratorium 4 Aktualizacja: 15/11/2013. Visual Basic.NET dostęp do bazy danych. Baza Microsoft SQL Server Compact
Platforma.NET laboratorium 4 Aktualizacja: 15/11/2013 Prowadzący: mgr inż. Tomasz Jaworski Strona WWW: http://tjaworski.kis.p.lodz.pl/ Visual Basic.NET dostęp do bazy danych Baza Microsoft SQL Server Compact
mysql> UPDATE user SET Password=PASSWORD('pass') WHERE user='root'; Query OK, 2 rows affected (0.05 sec) Rows matched: 2 Changed: 2 Warnings: 0
Uprawnienia dla uż ytkowników MANIPULACJA UPRAWNIENIAMI Przechodzimy do cześci nadawania oraz odbierania uprawnie ń. Wszelkie zmiany dotyczące tabel w bazie mysql można przeprowadza ć za pomoc ą znanych
Smarty PHP. Leksykon kieszonkowy
IDZ DO PRZYK ADOWY ROZDZIA SPIS TREœCI KATALOG KSI EK KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG Smarty PHP. Leksykon kieszonkowy Autor: Daniel Bargie³ ISBN: 83-246-0676-9 Format: B6, stron: 112 TWÓJ KOSZYK
Współpraca PHP z MySql
Współpraca PHP z MySql 1. Wyświetlanie danych z bazy: show.php mysql_select_db("login") or die('nie można wybrać bazy danych: '. if($link) echo "Połączono z bazą"; $zapytanie="select * FROM studenci";
Aplikacje WWW - laboratorium
Aplikacje WWW - laboratorium JavaServer Pages Celem ćwiczenia jest zbudowanie kilku prostych stron internetowych z użyciem technologii JSP. Podczas ćwiczenia wykorzystany zostanie algorytm sortowania bąbelkowego
Programowanie MSQL. show databases; - pokazanie jakie bazy danych są dostępne na koncie
Programowanie MSQL show databases; - pokazanie jakie bazy danych są dostępne na koncie show databases; - wyświetlenie wszystkich baz danych na serwerze create database nazwa; - za nazwa wstawiamy wybraną
ASP.NET MVC. Podstawy. Zaawansowane programowanie internetowe Instrukcja nr 3
3 ASP.NET MVC Podstawy 1 1. Cel zajęć Celem zajęć jest zapoznanie się z podstawami ASP.NET MVC 2.0 Framework. 2. Zadanie Proszę zbudować prostą aplikację WWW przy zastosowaniu framework a ASP.NET MVC 2.0
Kursory. A. Pankowska 1
Kursory 1 Kursory Kursor jest mechanizmem pozwalającym obsłużyć zbiór zawierający wiele wierszy danych (generowany np. poleceniem SELECT). Jak wskaźnik przebiega on po kolejnych krotkach ze zbioru danych,
Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych
Języki programowania wysokiego poziomu PHP cz.4. Bazy danych PHP i bazy danych PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych: MySQL moduł mysql albo jego nowsza wersja mysqli (moduł
Język PHP. Studium Podyplomowe Sieci Komputerowe i Aplikacje Internetowe. v1.7, 2007/11/23
Język PHP Studium Podyplomowe Sieci Komputerowe i Aplikacje Internetowe v1.7, 2007/11/23 1 Wprowadzenie Język PHP [1] jest obiektowym językiem skryptowym przeznaczonym do implementacji wstawek programowych
Dokumentacja smsapi wersja 1.4
Dokumentacja smsapi wersja 1.4 1. Wprowadzenie Platforma smsapi została skierowana do użytkowników chcących rozbudować swoje aplikacje o system wysyłania smsów. Aplikacja ta w prosty sposób umożliwia integrację
Opis systemu. BillNet S.A. 1
Opis systemu BillNet S.A. 1 6SLVWUHFL 1. OPIS SYSTEMU BILLNET...3 1.1 U)
Aplikacje WWW - laboratorium
Aplikacje WWW - laboratorium Język JavaScript Celem ćwiczenia jest przygotowanie formularza HTML z wykorzystaniem języka JavaScript. Formularz ten będzie sprawdzany pod względem zawartości przed wysłaniem
Laboratorium 15: Bazy Danych Tworzenie bazy danych i programowanie elementów nawigacyjnych aplikacji stworzonej przy pomocy technologii dbexpress
Laboratorium 15: Bazy Danych Tworzenie bazy danych i programowanie elementów nawigacyjnych aplikacji stworzonej przy pomocy technologii dbexpress dr inż. Marcin Witczak Instytut Sterowania i Systemów Informatycznych,
0HWRG\HNVSORUDFMLGRVWSQHZ2UDFOHi Data Mining
Ä,QWHJUDFMDWHFKQLNHNVSORUDFMLGDQ\FK]V\VWHPHP]DU]G]DQLDED]GDQ\FKQDSU]\NáDG]LH2UDFOHL'DWD0LQLQJ 37 Wprowadzenie (NVSORUDFMDGDQ\FK]ZDQDWDN*HRGNU\ZDQLHPZLHG]\ZED]DFKGDQ\FKdata mining, knowledge discovery in
Zestaw üwicze z przegldark Internet Explorer. Przegld wybranych funkcji programu
1 Zestaw üwicze z przegldark Internet Explorer Przegld wybranych funkcji programu 2 Podstawy obsáugi programu opis funkcji jakie speániaj poszczególne paski okna przegldarki Pasek Menu 3DVHNQDU]G]L Przyciski
UMOWA NR RAP/130/2010
UMOWA NR RAP/130/2010 Zawarta w dniu.. 2010 r ZH:URFáDZLXSRPLG]\ 8QLZHUV\WHWHP3U]\URGQLF]\PZH:URFáDZLX 50-:URFáDZul. C. K. Norwida 25/27 NIP: 896 000 53 54, Regon: 000001867 reprezentowanym przez: mgr
KLASYCZNA I PROBABILISTYCZNA TEORIA TESTU ANALIZA PORÓWNAWCZA
BARBARA C,).2:,&= Instytut Pedagogiki, Akademia Bydgoska, Bydgoszcz KLASYCZNA I PROBABILISTYCZNA TEORIA TESTU ANALIZA PORÓWNAWCZA (J]DPLQ\]HZQWU]QHNWyUHRGNLONXODWVWDá\VLWUZDá\PHOHPHQWHPSRl- VNLHJRV\VWHPXNV]WDáFHQLDVSRZRGRZDá\]QDF]Q\Z]Uost
STWORZENIE BIBLIOTEKI SŁUŻĄCEJ DO WCZYTYWANIA
LABORATORIUM SYSTEMÓW MOBILNYCH STWORZENIE BIBLIOTEKI SŁUŻĄCEJ DO WCZYTYWANIA DANYCH Z PLIKÓW MIF, SHP I ICH KONWERSJI DO POSTACI RELACYJNEJ I. Temat ćwiczenia Stworzenie biblioteki słuŝącej do wczytywania
2. Kliknij Insert->Userform. Jeżeli Toolbox nie pojawi się automatycznie, kliknij View -> Toolbox. Otrzymany widok powinien być jak poniżej.
Formularze VBA Przykład1 INTERAKTYWNY FORMULARZ Program tworzący interaktywny formularz. Objaśnienie: w dowolnym momencie można wprowadzić wartość w polu tekstowym ID, Excel VBA wczytuje odpowiedni rekord.
Baza danych do przechowywania użytkowników
System logowania i rejestracji jest bardzo przydatną funkcjonalnością na każdej stronie. Umożliwia sprawną identyfikację i zarządzanie użytkownikami. Strona ze skryptem logowania nabiera dużej wartości.
,1)<1,(56.,(%$=<'$1<&+'/$0$à<&+35=('6, %,2567: ENGINEERING DATA BASES FOR SMALL ENTERPRISES
53 M>D J. Wróbel Institute of Machine Design Fundamentals, Warsaw University of Technology, Poland,1)
PL/SQL. Zaawansowane tematy PL/SQL
PL/SQL Zaawansowane tematy PL/SQL Cele Poznanie złożonych i referencyjnych typów danych Poznanie konstrukcji kursora Poznanie kodu składowanego Poznanie procedur i funkcji 2 Złożone typy danych RECORD
Ćwiczenie 1. Model konceptualny i fizyczny bazy danych. Zadanie 1. Pomoc. Pytania kontrolne
Ćwiczenie 1 Model konceptualny i fizyczny bazy danych. Zadanie 1 Zaprojektować bazę danych realizującą, w sposób wyczerpujący, określony system rzeczywisty. Projekt wykonać w oparciu o model konceptualny
Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)
Uwagi dotyczące notacji kodu! Wyrazy drukiem prostym -- słowami języka VBA. Wyrazy drukiem pochyłym -- inne fragmenty kodu. Wyrazy w [nawiasach kwadratowych] opcjonalne fragmenty kodu (mogą być, ale nie
W SQL Serwerze 2008 wprowadzono parametry tablicowe (Table Valued Parameters - TVP).
Procedury składowane c.d. Parametry tablicowe w Transact-SQL. W SQL Serwerze 2008 wprowadzono parametry tablicowe (Table Valued Parameters - TVP). Zadanie 1. Proszę napisad procedurę składowaną, która
NIP TEL. (032) TEL/FAX (032) DATA r. 6RVQRZLHF$O=Z\FLVWZD %5$1)$ PW
NIP 629-001-22-49 TEL. (032) 264 27 19 TEL/FAX (032) 264 19 12 e-mail : bpr_inwestprojekt@interia.pl NR UMOWY : WDR.3420-10/06 574/2006 =$0$:,$-&< DATA 05.2006 r. NR PROJEKTU 5776 GMINA SOSNOWIEC 0,$672326,$'$-&(35$:$32:,$78
Wprowadzenie do Doctrine ORM
Wprowadzenie do Doctrine ORM Przygotowanie środowiska Do wykonania ćwiczenia konieczne będzie zainstalowanie narzędzia Composer i odpowiednie skonfigurowanie Netbeans (Tools->Options->Framework & Tools->Composer,
Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza
4 Budowa prostych formularzy, stany sesji, tworzenie przycisków Plan Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza 2 Formularz i jego typy Tworzenie formularza
Wdrożenie modułu płatności eservice. dla systemu Gekosale 1.4
Wdrożenie modułu płatności eservice dla systemu Gekosale 1.4 - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie do integracji...
Laboratorium nr 4. Temat: SQL część II. Polecenia DML
Laboratorium nr 4 Temat: SQL część II Polecenia DML DML DML (Data Manipulation Language) słuŝy do wykonywania operacji na danych do ich umieszczania w bazie, kasowania, przeglądania, zmiany. NajwaŜniejsze
Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 6 12. Prosta obsługa Bazy w PHP
Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 6 12. Prosta obsługa Bazy w PHP 12.1 Wprowadź i zanalizuj mechanizm działania prostej bazy danych na poniŝszym przykładzie ksiąŝki telefonicznej
: Autor: Ks. Wojciech Cichosz. 2. 7\WXá:\FKRZDQLHFKU]HFLMDVNLHZREHFSRVWPRGHUQLVW\F]QHMSURZRNDFML. 3. 'UyGáR*GDVN
1. Autor: Ks. Wojciech Cichosz 2. 7\WXá:\FKRZDQLHFKU]HFLMDVNLHZREHFSRVWPRGHUQLVW\F]QHMSURZRNDFML 3. 'UyGáR*GDVN :67 3 =DZV]HWDNLH5]HF]\SRVSROLWHEG MDNLHLFKPáRG]LH*\FKRZDQLH (J. Zamoyski =DPRüU OHG]FRJURPQHG]LHG]LFWZRLERJDFWZRNXOWXU\áDWZRGRVWU]HF*HZFHQWUXP
PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych:
PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych: MySQL moduł mysql albo jego nowsza wersja mysqli (moduł mysqli ma dwa interfejsy: proceduralny i obiektowy) PostgreSQL Oracle MS
Zastosowanie w InTouch u kontrolki ActiveX wwgenericsqlgrid do odczytywania informacji z baz danych
Informator Techniczny nr 74 26-10-2004 INFORMATOR TECHNICZNY WONDERWARE Zastosowanie w InTouch u kontrolki ActiveX wwgenericsqlgrid do odczytywania informacji z baz danych Kontrolka ActiveX wwgenericsql
Marek Panfil. =$5='=$1,(1$/()12&,$0, :0$à<0,5('1,0 35=('6, %,2567:,(
Marek Panfil =$5='=$1,(1$/()12&,$0, :0$à
Internetowe bazy danych
Wyższa Szkoła Technologii Teleinformatycznych w Świdnicy Internetowe bazy danych wykład 8 dr inż. Jacek Mazurkiewicz e-mail: Jacek.Mazurkiewicz@pwr.wroc.pl Dynamicznie tworzony formularz // nazwa tabeli,
Ćwiczenie 7 Komponent IBQuery - uruchamianie zapytań aktualizujących. 1. Przygotować w nowym katalogu aplikację do aktualizacji bazy SKOKI.GDB.
Wydział: Zarządzania i Modelowania Komputerowego Kierunek: Inżynieria Danych Przedmiot: Programowanie baz danych w środowisku RAD-C++ Rok 2 Semestr 4 Ćwiczenie 7 Komponent IBQuery - uruchamianie zapytań
Spis treœci WSTÊP... 3 KLUCZ ODPOWIEDZI... 138 BIBLIOGRAFIA... 210
Spis treœci WSTÊP... 3 I. 8NáDG NU*HQLD L XNáDG RGSRUQRFLRZ\ F]áRZLHND poziom podstawowy... 9 II. 8NáDG NU*HQLD L XNáDG RGSRUQRFLRZ\ F]áRZLeka poziom rozszerzony... 14 III. 8NáDG QHUZRZ\ F]áRZLHND poziom
Rejestracja i Logowania - PHP/MySQL
Artykuł pobrano ze strony eioba.pl Rejestracja i Logowania - PHP/MySQL Opis skryptu służącego do rejestrowania oraz logowania się użytkowników z użyciem bazy danych. Aby w pełni zrozumieć poniższy artykuł
SQL 4 Structured Query Lenguage
Wykład 5 SQL 4 Structured Query Lenguage Instrukcje sterowania danymi Bazy Danych - A. Dawid 2011 1 CREATE USER Tworzy nowego użytkownika Składnia CREATE USER specyfikacja użytkownika [, specyfikacja użytkownika]...
Bazy Danych i Usługi Sieciowe
Bazy Danych i Usługi Sieciowe Ćwiczenia I Paweł Daniluk Wydział Fizyki Jesień 2011 P. Daniluk (Wydział Fizyki) BDiUS ćw. I Jesień 2011 1 / 15 Strona wykładu http://bioexploratorium.pl/wiki/ Bazy_Danych_i_Usługi_Sieciowe_-_2011z
Współpraca PHP z MySql cz.2
Współpraca PHP z MySql cz.2 Edycja danych w bazie za pomocą PHP (edit.php i editaction.php) edit.php edytuj studenta $link = mysql_connect("localhost", "login", "haslo") or die ("Nie można połączyć
Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8
Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8 Bazowy skrypt PHP do ćwiczeń z bazą MySQL: Utwórz skrypt o nazwie cw7.php zawierający następującą treść (uzupełniając go o właściwą nazwę uŝytkownika
Formularze w PHP dla początkujących
Instrukcja numer 07 Formularze w PHP dla początkujących Zaawansowane techniki tworzenie stron WWW Bazy danych w PHP dla początkujących Formularze stworzone w HTML mogą służyć jako metoda pobierania informacji
Autor: Joanna Karwowska
Autor: Joanna Karwowska Wygodniejszym i wydajniejszym sposobem przechowywania i korzystania z dużej ilości danych zapisanych na serwerze jest współpraca z relacyjną bazą danych. 2 1. Utworzyć bazę danych.
PODSTAWY BAZ DANYCH 13. PL/SQL
PODSTAWY BAZ DANYCH 13. PL/SQL 1 Wprowadzenie do języka PL/SQL Język PL/SQL - rozszerzenie SQL o elementy programowania proceduralnego. Możliwość wykorzystywania: zmiennych i stałych, instrukcji sterujących
Projektowanie baz danych za pomocą narzędzi CASE
Projektowanie baz danych za pomocą narzędzi CASE Metody tworzenia systemów informatycznych w tym, także rozbudowanych baz danych są komputerowo wspomagane przez narzędzia CASE (ang. Computer Aided Software
Systemy internetowe. Wykład 4 mysql. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science
Systemy internetowe Wykład 4 mysql MySQL - wstęp SZBD: komercyjne: Microsoft SQL Server, Oracle, DB2... darmowe: MySQL, PostgreSQL, Firebird... MySQL darmowy (użytek niekomercyjny) Wady: niska wydajność
Internetowe bazy danych
Wyższa Szkoła Technologii Teleinformatycznych w Świdnicy Internetowe bazy danych wykład 7 dr inż. Jacek Mazurkiewicz e-mail: Jacek.Mazurkiewicz@pwr.wroc.pl Sesje i stan aplikacji w kategorii czasu okres
JavaScript - wykład 4. Zdarzenia i formularze. Obsługa zdarzeń. Zdarzenia. Mysz. Logiczne. Klawiatura. Beata Pańczyk
Obsługa zdarzeń JavaScript - wykład 4 Zdarzenia i formularze Beata Pańczyk zdarzenia - wszystko co zachodzi w związku z obiektami JavaScript (np. window) i elementami XHTML przeglądarka moŝe wywołać funkcję
Plan wykładu BAZY DANYCH II WYKŁAD 4. Co to jest kursor? Rodzaje kursorów
Plan wykładu Kursory: deklaracja, otwieranie, pobieranie danych, zamykanie Kursory: atrybuty Kursory: pętle, rekordy Kursory z parametrami BAZY DANYCH II WYKŁAD 4 dr inż. Agnieszka Bołtuć Co to jest kursor?
SENAT RZECZYPOSPOLITEJ POLSKIEJ V KADENCJA SPRAWOZDANIE. KOMISJI 867$:2'$:67:$,35$:25='12&, oraz KOMISJI SPRAW ZAGRANICZNYCH
SENAT RZECZYPOSPOLITEJ POLSKIEJ V KADENCJA Warszawa, dnia 19 maja 2004 r. Druk nr 675 S SPRAWOZDANIE KOMISJI 867$:2'$:67:$,35$:25='12&, oraz KOMISJI SPRAW ZAGRANICZNYCH RSURMHNFLHXVWDZ\R]PLDQLHXVWDZ\RZVSyáSUDF\5DG\0LQLVWUyZ]6HMPHPL6HQDWHP
TECHNOLOGIE SIECI WEB
TECHNOLOGIE SIECI WEB Prowadzący: dr inż. Jan Prokop, e-mail: jprokop@prz.edu.pl, Politechnika Rzeszowska, Wydział Elektrotechniki i Informatyki LABORATORIUM ĆWICZENIE nr 8 Temat: Podstawy technologii
strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych
SQL SQL (ang. Structured Query Language): strukturalny język zapytań używany do tworzenia strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych
Technologie Internetowe Raport z wykonanego projektu Temat: Internetowy sklep elektroniczny
Technologie Internetowe Raport z wykonanego projektu Temat: Internetowy sklep elektroniczny AiRIII gr. 2TI sekcja 1 Autorzy: Tomasz Bizon Józef Wawrzyczek 2 1. Wstęp Celem projektu było stworzenie sklepu
SENAT RZECZYPOSPOLITEJ POLSKIEJ V KADENCJA. Warszawa, dnia 18 marca 2004 r. SPRAWOZDANIE KOMISJI ROLNICTWA I ROZWOJU WSI
SENAT RZECZYPOSPOLITEJ POLSKIEJ V KADENCJA Warszawa, dnia 18 marca 2004 r. Druk nr 613 Z SPRAWOZDANIE KOMISJI ROLNICTWA I ROZWOJU WSI (wraz z zestawieniem wniosków).rplvmd QD SRVLHG]HQLX Z GQLX PDU D U
Kierunek: ETI Przedmiot: Programowanie w środowisku RAD - Delphi Rok III Semestr 5
Kierunek: ETI Przedmiot: Programowanie w środowisku RAD - Delphi Rok III Semestr 5 Ćwiczenie 11 Aktualizacja bazy cd. Uzupełnij aplikację przygotowaną na ćwiczeniach poprzednich. Dodaj obsługę opcji Aktualizacja/Tabela
Kryształowy blask ognia ręcznie zamknięty w wyszukanych szklanych formach idealny dla restauracji domu biura
Fireligh Glass przedstawicielstwo w Polsce, Litwie, Łotwie, Estonii i Ukrainie firelightglasspolska firelight glass świece szklane ul. Papieża Jana Pawła II 10 lok. II, 16-400 Suwałki mob: +48 606 413
Szablon główny (plik guestbook.php) będzie miał postać:
Skrypt: Księga gości Skrypt generujący księgę gości będzie się składał z trzech części: szablonu głównego, który należy zapisać pod nazwą guestbook.php, formularza służącego do dodawania wpisów, który
TEMAT ĆWICZENIA Zapoznanie z technologią LINQ
POLITECHNIKA WROCŁAWSKA KOŁO NAUKOWE KREDEK Laboratorium nr 4 TEMAT ĆWICZENIA Zapoznanie z technologią LINQ Wykonał: Mateusz Woszczyk 155693 Termin: Cz / 19.00 Data wykonania ćwiczenia: 20.11.2011 1. LINQ
T A B E L E i K W E R E N D Y
BAZY DANYCH LABORATORIUM T A B E L E i K W E R E N D Y W bazie danych programu Microsoft Access informacje rozmieszczone tabelami w tabelach.! " # o czekoladkach ich nazwy, rysunki i koszty produkcji.