Zobacz przyk³adowy rozdzia³. Aktualny cennik ksi¹ ek em. Informacje o nowoœciach em. Zamów najnowszy katalog

Wielkość: px
Rozpocząć pokaz od strony:

Download "Zobacz przyk³adowy rozdzia³. Aktualny cennik ksi¹ ek em. Informacje o nowoœciach em. Zamów najnowszy katalog"

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

Bardziej szczegółowo

o partnerstwie publiczno-prywatnym.

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

Bardziej szczegółowo

Materiały pomocnicze do zajęć z przedmiotu Projekt ADP

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

Bardziej szczegółowo

Jan Bień. Modelowanie obiektów mostowych w procesie ich eksploatacji

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.

Bardziej szczegółowo

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

Bardziej szczegółowo

Zajęcia 13 wykorzystanie MySQL w PHP cz. 2

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",

Bardziej szczegółowo

1. PARAMETRY TECHNICZNE WAG NAJAZDOWYCH.

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]

Bardziej szczegółowo

1.1. System otwartych baz danych ODBC. System otwartych baz danych ODBC. Interfejs ODBC. Interfejs ODBC. System otwartych baz danych ODBC

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)

Bardziej szczegółowo

KWIT WYWOZOWY/PODWOZOWY (KW)

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\

Bardziej szczegółowo

DAO. tworzenie tabeli

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

Bardziej szczegółowo

Manipulowanie danymi przy użyciu DAO

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

Bardziej szczegółowo

SIECI KOMPUTEROWE I BAZY DANYCH

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

Bardziej szczegółowo

Paweł Rajba

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

Bardziej szczegółowo

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Ć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

Bardziej szczegółowo

Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Informatyki i Elektroniki

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

Bardziej szczegółowo

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

Bardziej szczegółowo

Aplikacje WWW - laboratorium

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

Bardziej szczegółowo

Projekt strony internetowej firmy organizującej przyjęcia

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

Bardziej szczegółowo

4 Web Forms i ASP.NET...149 Web Forms...150 Programowanie Web Forms...150 Możliwości Web Forms...151 Przetwarzanie Web Forms...152

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

Bardziej szczegółowo

Spis treœci :VWS... 5. Poziom podstawowy... 9. Poziom rozszerzony... 61. 5R]ZL]DQLD... 95 6áRZQLF]HN... 125 Literatura... 127

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.

Bardziej szczegółowo

Administracja i programowanie pod Microsoft SQL Server 2000

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

Bardziej szczegółowo

'otwarcie i ustawienie zbioru rekordow na podstawie tabeli Studenci Set rs = CurrentDb.OpenRecordset("Studenci", dbopensnapshot)

'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

Bardziej szczegółowo

Zapis stenograficzny (1537) 188. posiedzenie.rplvml3rolw\nl6sráhf]qhml=gurzld w dniu 30 listopada 2004 r.

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

Bardziej szczegółowo

Zapis stenograficzny (1653) 27. posiedzenie Komisji Spraw Unii Europejskiej w dniu 25 lutego 2005 r.

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.

Bardziej szczegółowo

Funkcje i instrukcje języka JavaScript

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

Bardziej szczegółowo

Zapis stenograficzny (1532) 187. posiedzenie.rplvml3rolw\nl6sráhf]qhml=gurzld w dniu 25 listopada 2004 r.

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

Bardziej szczegółowo

MySQL. Æwiczenia praktyczne

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

Bardziej szczegółowo

Oracle PL/SQL. Paweł Rajba.

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?

Bardziej szczegółowo

INSTRUKCJA OBSŁUGI I INSTALOWANIA ZMYWARKI DO NACZYŃ MODEL: STX2C

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

Bardziej szczegółowo

Ewolucyjna optymalizacja wielokryterialna

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

Bardziej szczegółowo

Piotr 7U\EDáD. Leasing 3RUDGQLN3U]HGVLELRU \

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

Bardziej szczegółowo

Podstawy JavaScript ćwiczenia

Podstawy JavaScript ćwiczenia Podstawy JavaScript ćwiczenia Kontekst:

Bardziej szczegółowo

ZAAWANSOWANE BAZY DANYCH I HURTOWNIE DANYCH MySQL, PHP

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

Bardziej szczegółowo

MVC w praktyce tworzymy system artykułów. cz. 2

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

Bardziej szczegółowo

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

Bardziej szczegółowo

Ćwiczenia 2 IBM DB2 Data Studio

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

Bardziej szczegółowo

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Smarty PHP. Leksykon kieszonkowy

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

Bardziej szczegółowo

Współpraca PHP z MySql

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";

Bardziej szczegółowo

Aplikacje WWW - laboratorium

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

Bardziej szczegółowo

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 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ą

Bardziej szczegółowo

ASP.NET MVC. Podstawy. Zaawansowane programowanie internetowe Instrukcja nr 3

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

Bardziej szczegółowo

Kursory. A. Pankowska 1

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,

Bardziej szczegółowo

Języki programowania wysokiego poziomu. PHP cz.4. Bazy 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ł

Bardziej szczegółowo

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

Bardziej szczegółowo

Dokumentacja smsapi wersja 1.4

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ę

Bardziej szczegółowo

Opis systemu. BillNet S.A. 1

Opis systemu. BillNet S.A. 1 Opis systemu BillNet S.A. 1 6SLVWUHFL 1. OPIS SYSTEMU BILLNET...3 1.1 U)

Bardziej szczegółowo

STACJE ELEKTROENERGETYCZNE

STACJE ELEKTROENERGETYCZNE :$/'(0$5'2à *$ STACJE ELEKTROENERGETYCZNE 2),&

Bardziej szczegółowo

Aplikacje WWW - laboratorium

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

Bardziej szczegółowo

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 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,

Bardziej szczegółowo

0HWRG\HNVSORUDFMLGRVWSQHZ2UDFOHi Data Mining

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

Bardziej szczegółowo

Zestaw üwicze z przegldark Internet Explorer. Przegld wybranych funkcji programu

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

Bardziej szczegółowo

UMOWA NR RAP/130/2010

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

Bardziej szczegółowo

KLASYCZNA I PROBABILISTYCZNA TEORIA TESTU ANALIZA PORÓWNAWCZA

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

Bardziej szczegółowo

STWORZENIE BIBLIOTEKI SŁUŻĄCEJ DO WCZYTYWANIA

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

Bardziej szczegółowo

2. Kliknij Insert->Userform. Jeżeli Toolbox nie pojawi się automatycznie, kliknij View -> Toolbox. Otrzymany widok powinien być jak poniżej.

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.

Bardziej szczegółowo

Baza danych do przechowywania użytkowników

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.

Bardziej szczegółowo

,1)<1,(56.,(%$=<'$1<&+'/$0$à<&+35=('6, %,2567: ENGINEERING DATA BASES FOR SMALL ENTERPRISES

,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)

Bardziej szczegółowo

PL/SQL. Zaawansowane tematy PL/SQL

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

Bardziej szczegółowo

Ćwiczenie 1. Model konceptualny i fizyczny bazy danych. Zadanie 1. Pomoc. Pytania kontrolne

Ć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

Bardziej szczegółowo

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

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

Bardziej szczegółowo

W SQL Serwerze 2008 wprowadzono parametry tablicowe (Table Valued Parameters - TVP).

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

Bardziej szczegółowo

NIP TEL. (032) TEL/FAX (032) DATA r. 6RVQRZLHF$O=Z\FLVWZD %5$1)$ PW

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

Bardziej szczegółowo

Wprowadzenie do Doctrine ORM

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,

Bardziej szczegółowo

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza

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

Bardziej szczegółowo

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

Bardziej szczegółowo

Laboratorium nr 4. Temat: SQL część II. Polecenia DML

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

Bardziej szczegółowo

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

Bardziej szczegółowo

: Autor: Ks. Wojciech Cichosz. 2. 7\WXá:\FKRZDQLHFKU]HFLMDVNLHZREHFSRVWPRGHUQLVW\F]QHMSURZRNDFML. 3. 'UyGáR*GDVN

: 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

Bardziej szczegółowo

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: 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

Bardziej szczegółowo

Zastosowanie w InTouch u kontrolki ActiveX wwgenericsqlgrid do odczytywania informacji z baz danych

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

Bardziej szczegółowo

Internetowe bazy danych

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,

Bardziej szczegółowo

Ćwiczenie 7 Komponent IBQuery - uruchamianie zapytań aktualizujących. 1. Przygotować w nowym katalogu aplikację do aktualizacji bazy SKOKI.GDB.

Ć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ń

Bardziej szczegółowo

Spis treœci WSTÊP... 3 KLUCZ ODPOWIEDZI... 138 BIBLIOGRAFIA... 210

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

Bardziej szczegółowo

Rejestracja i Logowania - PHP/MySQL

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ł

Bardziej szczegółowo

SQL 4 Structured Query Lenguage

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

Bardziej szczegółowo

Bazy Danych i Usługi Sieciowe

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

Bardziej szczegółowo

Współpraca PHP z MySql cz.2

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ć

Bardziej szczegółowo

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8

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

Bardziej szczegółowo

Formularze w PHP dla początkujących

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

Bardziej szczegółowo

Autor: Joanna Karwowska

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.

Bardziej szczegółowo

PODSTAWY BAZ DANYCH 13. PL/SQL

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

Bardziej szczegółowo

Projektowanie baz danych za pomocą narzędzi CASE

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

Bardziej szczegółowo

Systemy internetowe. Wykład 4 mysql. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science

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ść

Bardziej szczegółowo

Internetowe bazy danych

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

Bardziej szczegółowo

JavaScript - wykład 4. Zdarzenia i formularze. Obsługa zdarzeń. Zdarzenia. Mysz. Logiczne. Klawiatura. Beata Pańczyk

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ę

Bardziej szczegółowo

Plan wykładu BAZY DANYCH II WYKŁAD 4. Co to jest kursor? Rodzaje kursorów

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?

Bardziej szczegółowo

SENAT RZECZYPOSPOLITEJ POLSKIEJ V KADENCJA SPRAWOZDANIE. KOMISJI 867$:2'$:67:$,35$:25='12&, oraz KOMISJI SPRAW ZAGRANICZNYCH

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

Bardziej szczegółowo

TECHNOLOGIE SIECI WEB

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

Bardziej szczegółowo

strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych

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

Bardziej szczegółowo

Technologie Internetowe Raport z wykonanego projektu Temat: Internetowy sklep elektroniczny

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

Bardziej szczegółowo

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

Bardziej szczegółowo

Kierunek: ETI Przedmiot: Programowanie w środowisku RAD - Delphi Rok III Semestr 5

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

Bardziej szczegółowo

Kryształowy blask ognia ręcznie zamknięty w wyszukanych szklanych formach idealny dla restauracji domu biura

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

Bardziej szczegółowo

Szablon główny (plik guestbook.php) będzie miał postać:

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

Bardziej szczegółowo

TEMAT ĆWICZENIA Zapoznanie z technologią LINQ

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

Bardziej szczegółowo

T A B E L E i K W E R E N D Y

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.

Bardziej szczegółowo