└. ╪≤δσφΦφ, Microsoft
╧≡αΓΦδε∞ ⌡ε≡ε°σπε ≥εφα ∩≡Φ φα∩Φ±αφΦΦ ±≥α≥σΘ, ∩≡ ∞ε ΦδΦ Ωε±Γσφφε τα≥≡απΦΓα■∙Φ⌡ ≥σ∞≤ ╤σ≥Φ, ±≥αδε ΓΓσΣσφΦσ, ±εΣσ≡µα∙σσ ⌠Φδε±ε⌠±ΩΦΘ αφαδΦτ ∩≡Φ≡εΣ√ Σαφφεπε εß∙σ±≥Γσφφεπε ΓδσφΦ Φ ∩≡Φ≈Φφ ±≥εδⁿ Γτ≡√Γφεπε ≡ε±≥α σπε ∩ε∩≤δ ≡φε±≥Φ. ┬ ±Φδ≤ α∩≡Φε≡Φ επ≡αφΦ≈σφφεπε εß·σ∞α ∩≡ε±≥≡αφ±≥Γα Φ Γ≡σ∞σφΦ ∞√ ∩ετΓεδΦ∞ ±σßσ ε≥±≥≤∩Φ≥ⁿ ε≥ ²≥επε ∩≡αΓΦδα Φ ∩σ≡σΘΣσ∞ ±≡ατ≤ Ω ßεδσσ ∩≡εταΦ≈σ±ΩΦ∞ Γε∩≡ε±α∞ ∩≡αΩ≥ΦΩΦ ±ετΣαφΦ Internet/Intranet ∩≡ΦδεµσφΦΘ Σδ ≡αßε≥√ ± Microsoft SQL Server.
Internet ΣσΘ±≥ΓΦ≥σδⁿφε φσεµΦΣαφφε ß≤≡φε Γε≡Γαδ± Γ ≤±≥ε Γ°≤■± µΦτφⁿ ≡ατ≡αßε≥≈ΦΩεΓ ΩδΦσφ≥-±σ≡Γσ≡φ√⌡ ∩≡ΦδεµσφΦΘ. ╬ΣφαΩε ∩σ≡Γεφα≈αδⁿφ√Θ °εΩ ΣεΓεδⁿφε ß√±≥≡ε ∩≡ε°σδ, ΩαΩ ≥εδⁿΩε φα±≥≤∩Φδε ε±ετφαφΦσ φσ⌡Φ≥≡επε Γ εß∙σ∞-≥ε ⌠αΩ≥α, ≈≥ε ±≥≡≤Ω≥≤≡α ╚φ≥σ≡φσ≥/Φφ≥≡αφσ≥ ∩≡ΦδεµσφΦΘ Φ∞σσ≥ ∞φεπε εß∙σπε ± ≥≡αΣΦ÷ΦεφφεΘ ∩δα≥⌠ε≡∞εΘ "ΩδΦσφ≥-±σ≡Γσ≡". ╧≡αΓΦδⁿφσσ πεΓε≡ , World Wide Web ≥αΩµσ ε±φεΓ√Γασ≥± φα ΩδΦσφ≥-±σ≡Γσ≡φεΘ α≡⌡Φ≥σΩ≥≤≡σ. ┬ ±α∞ε∞ Σσδσ, Web-ß≡α≤τσ≡ Γδ σ≥± ≥Φ∩Φ≈φ√∞ ΩδΦσφ≥±ΩΦ∞ front-end'ε∞, ε±φεΓφεσ ε≥δΦ≈Φσ Ωε≥ε≡επε ε≥ ΩδΦσφ≥±ΩΦ⌡ ∞σ±≥, ∩ε±≥≡εσφφ√⌡ ± ∩ε∞ε∙ⁿ■ Visual C++, Visual Basic, Visual FoxPro Φ Σ≡≤πΦ⌡ ±≡σΣ±≥Γ ≡ατ≡αßε≥ΩΦ, ±ε±≥εΦ≥ Γ ßεδσσ πΦßΩε φα±≥≡αΦΓασ∞εΘ ⌠≤φΩ÷Φεφαδⁿφε±≥Φ, Ωε≥ε≡α ∞εµσ≥ ε∩≡σΣσδ ≥ⁿ± Σαµσ Γε Γ≡σ∞ Γ√∩εδφσφΦ ∩≡επ≡α∞∞√. ╧≡Φ ²≥ε∞ φσ ≥≡σß≤σ≥± φΦ ∩σ≡σΩε∞∩Φδ ÷ΦΦ, φΦ ∩σ≡σ≤±≥αφεΓΩΦ ∞εΣ≤δσΘ, ≈≥ε ≤µσ ±α∞ε ∩ε ±σßσ Γδ σ≥± φσ≥≡ΦΓΦαδⁿφεΘ ταΣα≈σΘ Γ ßεδⁿ°Φ⌡ Φ ±δεµφ√⌡ ΩδΦσφ≥-±σ≡Γσ≡φ√⌡ ±Φ±≥σ∞α⌡ ∞α±°≥αßα Ωε≡∩ε≡α÷ΦΦ. ╧≡αΓΣα, ∩σ≡Γεφα≈αδⁿφε ß≡α≤τσ≡√ Φ±∩εδⁿτεΓαδΦ±ⁿ ≥εδⁿΩε ΩαΩ ±≡σΣ±≥Γα ⌠ε≡∞α≥Φ≡εΓαφΦ ±≥α≥Φ≈σ±Ωεπε ≥σΩ±≥α. ╬ΣφαΩε αΩ≥ΦΓφε ≡ατΓΦΓα■∙ΦΘ± Γ Internet ßΦτφσ± Γ±Ωε≡σ ∩σ≡σ±≥αδ ΣεΓεδⁿ±≥ΓεΓα≥ⁿ± ∩≡ε±≥εΘ ∩≤ßδΦΩα÷ΦσΘ ≡σΩδα∞√ ∩≡σΣ∩≡Φ ≥Φ Φ ±∩≡αΓε≈φεΘ Φφ⌠ε≡∞α÷ΦΦ ε σπε Σσ ≥σδⁿφε±≥Φ. ═α∩≡Φ∞σ≡, ΩδΦσφ≥ Φ∞σδ ∩εδφεσ ∩≡αΓε ⌡ε≥σ≥ⁿ Γ√ß≡α≥ⁿ Φτ ≡σΩδα∞φεπε ∩≡ε±∩σΩ≥α ⌠Φ≡∞√ ∩εφ≡αΓΦΓ°Φσ± σ∞≤ εß≡ατ÷√ Φ ±εΓσ≡°Φ≥ⁿ ∩εΩ≤∩Ω≤. ╧εΣεßφε ≥Φ∩Φ≈φε∞≤ Φφ≥σ≡⌠σΘ±≤ ΩδΦσφ≥±Ωεπε ∩≡ΦδεµσφΦ φα VB, VFP Φ ≥.Σ., ±÷σφα≡ΦΘ ≡αßε≥√ ∩≡σΣ∩εδαπαδ τα∩εδφσφΦσ ΩδΦσφ≥ε∞ φσΩε≥ε≡εΘ ⌠ε≡∞√, φα±σδσφφεΘ, Γεεß∙σ πεΓε≡ , ≡ατδΦ≈φ√∞Φ ²δσ∞σφ≥α∞Φ ≤∩≡αΓδσφΦ , ε≥∩≡αΓΩ≤ ±εε≥Γσ≥±≥Γ≤■∙σπε τα∩≡ε±α φα ±σ≡Γσ≡ Φ ∩≡Φσ∞ ≡στ≤δⁿ≥α≥εΓ εß≡αßε≥ΩΦ. ╥αΩΦ∞ εß≡ατε∞, ≥≡σßεΓαφΦ ßΦτφσ±α Γ√ΣΓΦφ≤δΦ φα ∩σ≡Γ√Θ ∩δαφ ∩≡Φφ÷Φ∩√ ΣΦφα∞Φ≈σ±Ωεπε ΓταΦ∞εΣσΘ±≥ΓΦ ß≡α≤τσ≡α Φ Web-±σ≡Γσ≡α Γφ≤≥≡Φ ±σ±±ΦΦ, ≈≥ε τα±≥αΓΦδε ταΣ≤∞α≥ⁿ± ΩαΩ εß αΩ≥ΦΓφεΘ ≡εδΦ ß≡α≤τσ≡α, ≥αΩ Φ ε ≡α±°Φ≡σφΦΦ ⌠≤φΩ÷Φεφαδⁿφε±≥Φ ±σ≡Γσ≡α ∩ε ±≡αΓφσφΦ■ ± ∩≡ε±≥√∞ ⌡≡αφσφΦσ∞ Φ ∩σ≡σ±√δΩεΘ HTML-ΣεΩ≤∞σφ≥εΓ.
╧σ≡Γ√∞ ±∩ε±εßε∞ ∩εΓ√°σφΦ αΩ≥ΦΓφε±≥Φ Web-±≥≡αφΦ÷ ±≥αδΦ ∩≡ΦδεµσφΦ Common Gateway Interface (CGI), ∩ε±ΩεδⁿΩ≤ ±∩σ÷Φ⌠ΦΩα÷Φ CGI ∩ετΓεδ σ≥ ß≡α≤τσ≡≤ Γ√τΓα≥ⁿ ≥ε≥ ΦδΦ ΦφεΘ Φ±∩εδφ σ∞√Θ ∞εΣ≤δⁿ ΦδΦ ±Ω≡Φ∩≥ φα Web-±σ≡Γσ≡σ, Ωε≥ε≡√Θ ∞επ εß≡α≥Φ≥ⁿ± ± τα∩≡ε±ε∞ Ω ßατσ Σαφφ√⌡, ∩ε±≥≡εΦ≥ⁿ Γ HTML-ΩεΣα⌡ ±≥≡αφΦ÷≤ ≡στ≤δⁿ≥α≥εΓ Φ ∩σ≡σΣα≥ⁿ σσ εß≡α≥φε Web-±σ≡Γσ≡≤, Ωε≥ε≡√Θ µσ, Γ ±Γε■ ε≈σ≡σΣⁿ, ε≥±√δαδ ≡στ≤δⁿ≥α≥√ ß≡α≤τσ≡≤. CGI-∩≡ΦδεµσφΦ ∞επ≤≥ ±εΣσ≡µα≥ⁿ Γ√τεΓ√ Σ≡≤πΦ⌡ ∩≡επ≡α∞∞φ√⌡ (φα∩Φ±αφφ√⌡, φα∩≡Φ∞σ≡, φα ╤++) ΦδΦ Ωε∞αφΣφ√⌡ (.bat, .cmd) ⌠αΘδεΓ. ╤ ∩ε∞ε∙ⁿ■ CGI-cΩ≡Φ∩≥εΓ, α ≥ε≈φσσ φα τ√Ωσ PERL (Practical Extraction and Reporting Language), ∩ε±≥≡εσφε φσ∞αδε Φφ≥σ≡αΩ≥ΦΓφ√⌡ Web-∩≡ΦδεµσφΦΘ. ╩ ±εµαδσφΦ■, ΩαµΣ√Θ ≥αΩεΘ ±Ω≡Φ∩≥ Φ±∩εδφ σ≥± ΩαΩ ΦφεΘ, φσµσδΦ Web-±σ≡Γσ≡, ∩≡ε÷σ±±, ≈≥ε ß√±≥≡ε "±·σΣασ≥" ≡σ±≤≡±√ Σαµσ Σε±≥α≥ε≈φε "φαΓε≡ε≈σφφεΘ" ∩ε ±σπεΣφ °φΦ∞ ∞σ≡Ωα∞ ∞α°Φφ√, ε±εßσφφε ∩≡Φ ßεδⁿ°ε∞ ΩεδΦ≈σ±≥Γσ τα⌡εΣεΓ φα ±σ≡Γσ≡.
╧ε∞Φ∞ε Φ±∩εδφσφΦ CGI-±Ω≡Φ∩≥εΓ, Microsoft Internet Information Server (MS IIS) ∩≡σΣε±≥αΓδ σ≥ ≡ατ≡αßε≥≈ΦΩα∞ Γετ∞εµφε±≥ⁿ ±ετΣαφΦ ± ∩ε∞ε∙ⁿ■ ±εε≥Γσ≥±≥Γ≤■∙σπε API (ISAPI) ∩≡ΦδεµσφΦΘ Γ ΓΦΣσ dll, τα∩≤±Ω Ωε≥ε≡√⌡ ∩≡εΦ±⌡εΣΦ≥ Γ ε≥Γσ≥ φα Ωε∞αφΣ≤ ΦδΦ Γ√ßε≡ δΦφΩα φα Web-±≥≡αφΦ÷σ. ╩αµΣεσ ≥αΩεσ ∩≡ΦδεµσφΦσ Γ√∩εδφ σ≥± Γ αΣ≡σ±φε∞ ∩≡ε±≥≡αφ±≥Γσ Web-±σ≡Γσ≡α, ≈≥ε, σ±≥σ±≥Γσφφε, ∩εΓ√°ασ≥ ±Ωε≡ε±≥ⁿ ≡αßε≥√ Φ ±≤∙σ±≥Γσφφε ²Ωεφε∞Φ≥ ∞α°Φφφ√σ ≡σ±≤≡±√. ┬ ταΓΦ±Φ∞ε±≥Φ ε≥ ±δεµφε±≥Φ ±αΘ≥α Φ ∩≡ΦδεµσφΦΘ, dll ∞επ≤≥ ß√≥ⁿ ∩≡σΣταπ≡≤µσφ√ εΣφεΓ≡σ∞σφφε ± τα∩≤±Ωε∞ ±σ≡Γσ≡α, δΦßε ∩εΣπ≡≤µα≥ⁿ± /Γ√π≡≤µα≥ⁿ± Φτ ∩α∞ ≥Φ ∩ε ∞σ≡σ φσεß⌡εΣΦ∞ε±≥Φ.
╓σδⁿ■ φα±≥ε ∙σΘ ±≥α≥ⁿΦ Γδ σ≥± ≡α±±Ωατ ε ±∩ε±εßα⌡ ∩ε±≥≡εσφΦ αΩ≥ΦΓφ√⌡ Web-±≥≡αφΦ÷ Φ ±≡σΣ±≥Γα⌡ Φ⌡ ΓταΦ∞εΣσΘ±≥ΓΦ ± Microsoft SQL Server. ╩ φαΦßεδσσ ΦτΓσ±≥φ√∞ ±≡σΣ±≥Γα∞ ≡ατ≡αßε≥ΩΦ ∩≡ΦδεµσφΦΘ φα ε±φεΓσ ISAPI ε≥φε± ≥± Γ⌡εΣ ∙ΦΘ Γ ±ε±≥αΓ MS IIS Internet Database Connector (IDC), α ≥αΩµσ ±ΓεßεΣφε ≡α±∩≡ε±≥≡αφ σ∞√Θ dbWeb. ╩≡ε∞σ ²≥επε, ∞√ ≡α±±∞ε≥≡Φ∞ ∩≡ε±≥≤■, φε Σε±≥α≥ε≈φε ∞ε∙φ≤■ ≤≥ΦδΦ≥≤ Γ ±ε±≥αΓσ ±α∞επε MS SQL Server 6.5 ∩εΣ φατΓαφΦσ∞ SQL Web Assistant. ┬ ταΓσ≡°σφΦσ ∞√ ∩επεΓε≡Φ∞ ε ≡ατΓΦ≥ΦΦ ±≥≡α≥σπΦΦ ≡α±∩≡σΣσδσφφ√⌡ Γ√≈Φ±δσφΦΘ, Ωε∞∩εφσφ≥φε∞ ∩εΣ⌡εΣσ Ω ±ετΣαφΦ■ ≡α±∩≡σΣσδσφφ√⌡ ∩≡ΦδεµσφΦΘ Φ ε Ωεφ÷σ∩÷ΦΦ αΩ≥ΦΓφ√⌡ ±σ≡Γσ≡φ√⌡ ±≥≡αφΦ÷ ΩαΩ φαπδ ΣφεΘ ≡σαδΦτα÷ΦΦ Ωε∞∩εφσφ≥ Σε±≥≤∩α Ω MS SQL Server ≈σ≡στ ╚φ≥σ≡φσ≥/Φφ≥≡αφσ≥. ╧ετΦ÷ΦεφΦ≡εΓαφΦσ ²≥Φ⌡ ±≡σΣ±≥Γ ∩ε °Ωαδσ "±δεµφε±≥ⁿ/⌠≤φΩ÷Φεφαδⁿφε±≥ⁿ" ∩≡ΦΓεΣΦ≥± φα ≡Φ±.1.
┬ ±ε±≥αΓ Microsoft SQL Server 6.5 Γ⌡εΣΦ≥ SQL Web Assistant (±∞.≡Φ±.2), ± Ωε≥ε≡επε ß√δε ß√ ÷σδσ±εεß≡ατφε φα≈α≥ⁿ φα°σ ≡α±±∞ε≥≡σφΦσ, ≥αΩ ΩαΩ ²≥ε ΣεΓεδⁿφε ∩≡ε±≥α Γ Φ±∩εδⁿτεΓαφΦΦ ≤≥ΦδΦ≥α, φσ ≥≡σß≤■∙α τφαφΦ HTML Φ ±σ≡ⁿστφεΘ ∩≡αΩ≥ΦΩΦ ≡αßε≥√ ± SQL. Web Assistant Φ∞σσ≥ Φφ≥σ≡⌠σΘ± ∞α±≥σ≡α (wizard), ≥.σ. ±ε±≥εΦ≥ Φτ ≡ Σα ∩ε±δσΣεΓα≥σδⁿφ√⌡ ⌠ε≡∞ ± Γε∩≡ε±α∞Φ, ε≥Γσ≈α φα Ωε≥ε≡√σ αΣ∞ΦφΦ±≥≡α≥ε≡ ∞εµσ≥ ±²Ωεφε∞Φ≥ⁿ Γ≡σ∞ ∩ε Γ√∩εδφσφΦ■ ≡≤≥Φφφεπε HTML-ΩεΣΦ≡εΓαφΦ Φ ∩εδ≤≈Φ≥ⁿ πε≥εΓ≤■ (Γ HTML-ΩεΣα⌡) ±≥≡αφΦ÷≤, ±εΣσ≡µα∙≤■ ≡στ≤δⁿ≥α≥√ ε∩≤ßδΦΩεΓαφΦ ∩≡εΦτΓεδⁿφεπε τα∩≡ε±α Ω ßατσ. ╧εδ≤≈σφφα ±≥≡αφΦ÷α φσ Γδ σ≥± αΩ≥ΦΓφεΘ Γ ±≥≡επε∞ ±∞√±δσ ²≥επε ±δεΓα, ≥αΩ ΩαΩ ∩≤ßδΦΩ≤σ≥± ∩≡Φ ∩ε∞ε∙Φ push-∞σ≥εΣα (c∞.≡Φ±.4), ≥.σ. εßφεΓδσφΦσ ∩≡εΦ±⌡εΣΦ≥ ∩ε ΦφΦ÷Φα≥ΦΓσ ±σ≡Γσ≡α, Φ φσ Σε∩≤±Ωασ≥ εßφεΓδσφΦ ±ε ±≥ε≡εφ√ ΩδΦσφ≥α. ╬ΣφαΩε ±σ≡Γσ≡ ∞εµσ≥ ∩≡εΦτΓεΣΦ≥ⁿ εßφεΓδσφΦσ (∩σ≡σπσφσ≡α÷Φ■) ±≥≡αφΦ÷√ φα ≥≡Φππσ≡φεΘ ε±φεΓσ ΦδΦ φα ε±φεΓσ ≡α±∩Φ±αφΦΘ ταΣα≈ ∩εΣ ≤∩≡αΓδσφΦσ∞ SQL Executive. ╠α±≥σ≡ ≡αßε≥ασ≥ ≥εδⁿΩε ± ßατα∞Φ Σαφφ√⌡ MS SQL Server Φ Φ±∩εδⁿτ≤σ≥ ≥≡Φ ⌡≡αφΦ∞√⌡ ∩≡ε÷σΣ≤≡√ sp_makewebtask, sp_runwebtask Φ sp_dropwebtask. ╧≡Φ φσεß⌡εΣΦ∞ε±≥Φ εφΦ ∞επ≤≥ Φ±∩εδⁿτεΓα≥ⁿ± ±α∞ε±≥ε ≥σδⁿφε Γ ΩεΣα⌡ T-SQL.
╨α±±∞ε≥≡Φ∞ ±δσΣ≤■∙ΦΘ ∩≡ε±≥εΘ ∩≡Φ∞σ≡. ╧≤±≥ⁿ ∞√ Φ∞σσ∞ φσΩε≥ε≡≤■ ßατ≤ Σαφφ√⌡ MS SQL Server, ±εΣσ≡µα∙≤■ ≥αßδΦ÷≤ rates ± Ω≤≡±α∞Φ Γαδ■≥.
id | kod | kurs |
1 | ┬αδ■≥α 1 | 1000.00 |
2 | ┬αδ■≥α 2 | 2000.00 |
3 | ┬αδ■≥α 3 | 3000.00 |
4 | ┬αδ■≥α 4 | 4000.00 |
5 | ┬αδ■≥α 5 | 5000.00 |
6 | ┬αδ■≥α 6 | 6000.00 |
7 | ┬αδ■≥α 7 | 7000.00 |
8 | ┬αδ■≥α 8 | 8000.00 |
9 | ┬αδ■≥α 9 | 9000.00 |
╠√ ⌡ε≥Φ∞ ∩≤ßδΦΩεΓα≥ⁿ φα Web ε∩σ≡α≥ΦΓφ√σ Σαφφ√σ εß Φτ∞σφσφΦΦ Ω≤≡±εΓ, ΩαΩ ≥εδⁿΩε ≥αΩεΓ√σ ß≤Σ≤≥ Φ∞σ≥ⁿ ∞σ±≥ε. ─δ ²≥επε ∞√ ε∩≡σΣσδ σ∞ ταΣα≈≤ ∩≤ßδΦΩα÷ΦΦ:
sp_makewebtask @outputfile = 'c:\rates.htm', @query = 'select kod, kurs from rates', @procname=web_rates,@resultstitle = '╩≤≡±√ Γαδ■≥', @URL = "http://www.microsoft.com", @reftext = 'Microsoft Home Page', @whentype=9
╧≡αΩ≥Φ≈σ±ΩΦ Γ±σ τφα≈σφΦ ∩α≡α∞σ≥≡εΓ τΣσ±ⁿ Φφ≥≤Φ≥ΦΓφε ∩εφ ≥φ√. ┬ ∩ε ±φσφΦΦ φ≤µΣασ≥± ≥εδⁿΩε ∩ε±δσΣφΦΘ @whentype, Ωε≥ε≡√Θ ετφα≈ασ≥, ≈≥ε ±≥≡αφΦ÷α Σεδµφα ß√≥ⁿ ±ετΣαφα ±≡ατ≤ ∩ε Γ√∩εδφσφΦΦ Σαφφεπε ε∩σ≡α≥ε≡α, α ≥αΩµσ Γ ΣαδⁿφσΘ°σ∞ ∩ε ∞σ≡σ ∩ε±≥≤∩δσφΦ τα∩≡ε±εΓ. ╧εδφ√Θ ∩σ≡σ≈σφⁿ ∩α≡α∞σ≥≡εΓ ∩≡ε÷σΣ≤≡√ Φ Φ⌡ φατφα≈σφΦσ ∩≡ΦΓεΣΦ≥± Γ ≡≤ΩεΓεΣ±≥Γσ ∩ε τ√Ω≤ T-SQL.
─αδσσ ∞√ ∞εµσ∞ ε∩≡σΣσδΦ≥ⁿ ≥≡Φππσ≡ φα Γ±σ ΓΦΣ√ ≥≡αφταΩ÷ΦΘ Γ ≥αßδΦ÷σ rates:
if exists (select * from sysobjects where id = object_id('dbo.tr') and sysstat & 0xf = 8)
drop trigger dbo.tr
go
create trigger tr on dbo.rates for insert,update,delete
as exec sp_runwebtask @procname=rates
go
╥σ∩σ≡ⁿ δ■ßεσ Φτ∞σφσφΦσ Γ ≥αßδΦ÷σ rates Γ√τεΓσ≥ εßφεΓδσφΦσ ±≥≡αφΦ÷√ c:\rates.htm. ┬ ±ΓεσΘ ∩≡στσφ≥α÷ΦΦ φα Γ√±≥αΓΩσ UnixExpo'97 φσ∞φεπε ≤±δεµφΦδ ταΣα≈≤ Φ ∩ε±√δαδ τα∩≡ε± φα MS SQL Server ∩ε ²δσΩ≥≡εφφεΘ ∩ε≈≥σ φσ∩ε±≡σΣ±≥Γσφφε Γ ≥σδσ ∩Φ±ⁿ∞α ± ≥σ∞εΘ SQL.
update rates set kurs=kurs+100 where id=1
═α MS SQL Server Γ ²≥ε≥ ∞ε∞σφ≥ ß√δα τα∩≤∙σφα ≤≥ΦδΦ≥α SQLMail, εßσ±∩σ≈ΦΓα■∙α ΓταΦ∞εΣσΘ±≥ΓΦσ ± ²δσΩ≥≡εφφεΘ ∩ε≈≥εΘ, Φ ⌡≡αφΦ∞α ∩≡ε÷σΣ≤≡α
sp_processmail @subject='SQL', @dbuse='db_rates', @set_user='dbo',
±∞√±δ Ωε≥ε≡εΘ ±ε±≥ε δ Γ ≥ε∞, ≈≥εß√ ±ΩαφΦ≡εΓα≥ⁿ ±εΣσ≡µΦ∞εσ ∙ΦΩα Γ⌡εΣ ∙Φ⌡ ±εεß∙σφΦΘ, Γ√ßΦ≡α≥ⁿ Φτ φΦ⌡ φσ∩≡ε≈Φ≥αφφ√σ ± ≥σ∞εΘ SQL Φ ∩σ≡σΣαΓα≥ⁿ ±εΣσ≡µα∙ΦΘ± τα∩≡ε± φα Γ√∩εδφσφΦσ MS SQL Server. ╩αΩ ≥εδⁿΩε ∩Φ±ⁿ∞ε ∩ε±≥≤∩αδε, τα∩≡ε± εß≡αßα≥√Γαδ± Φ ≥≡Φππσ≡ ΦφΦ÷ΦΦ≡εΓαδ εßφεΓδσφΦσ ±εε≥Γσ≥±≥Γ≤■∙σΘ ±≥≡αφΦ÷√.
Microsoft dbWeb ∩≡σΣ±≥αΓδ σ≥ ±εßεΘ °δ■τ ∞σµΣ≤ 32-ßΦ≥φ√∞Φ ODBC-≡σ±≤≡±α∞Φ, Γ Ωα≈σ±≥Γσ Ωε≥ε≡√⌡ ∞επ≤≥ Γ√±≥≤∩α≥ⁿ, φα∩≡Φ∞σ≡, Microsoft SQL Server, Microsoft Access, Microsoft Visual FoxPro, Oracle Φ ≥.Σ., Φ MS IIS. dbWeb ∩≡σΣ≤±∞α≥≡ΦΓασ≥ ±ετΣαφΦσ ±⌡σ∞√, ±εΣσ≡µα∙σΘ ε∩Φ±αφΦσ Σαφφ√⌡ Φ ±Γ ταφφ√⌡ ± φΦ∞Φ Web-±≥≡αφΦ÷. ╬φ ∩εΣΣσ≡µΦΓασ≥ Φ±∩εδφσφΦσ τα∩≡ε±εΓ Γ ≡σαδⁿφε∞ ≡σµΦ∞σ Γ≡σ∞σφΦ φα ε±φεΓσ "pull"-∞εΣσδΦ ∩≤ßδΦΩα÷ΦΦ, ∩ετΓεδ ≥σ∞ ±α∞√∞ ±ετΣαΓα≥ⁿ αΩ≥ΦΓφ√σ Web-±≥≡αφΦ÷√.
Microsoft dbWeb ±≥≡≤Ω≥≤≡φε ±ε±≥εΦ≥ Φτ ΣΓ≤⌡ ε±φεΓφ√⌡ Ωε∞∩εφσφ≥: dbWeb Service Φ dbWeb Administrator (c∞.≡Φ±.5). dbWeb Service Γδ σ≥± ≥Φ∩Φ≈φ√∞ ISAPI-∩≡ΦδεµσφΦσ∞, Ωε≥ε≡εσ εß≡αßα≥√Γασ≥ ∩εδⁿτεΓα≥σδⁿ±ΩΦσ τα∩≡ε±√, φα∩≡αΓδ σ∞√σ ∩ε±σ≥Φ≥σδσ∞ ±≥≡αφΦ÷√ ≈σ≡στ ß≡α≤τσ≡, Φ ≤∩≡αΓδ σ≥ ±εσΣΦφσφΦ ∞Φ ∞σµΣ≤ ß≡α≤τσ≡ε∞, ODBC-≡σ±≤≡±ε∞ Φ IIS. ╩ ⌠≤φΩ÷Φ ∞ dbWeb Administrator ε≥φε±Φ≥± ±ετΣαφΦσ HTML-±≥≡αφΦ÷, ±εΣσ≡µα∙Φ⌡ ≡στ≤δⁿ≥α≥√ Γ√∩εδφσφΦ τα∩≡ε±εΓ φα ε±φεΓσ ≤µσ ≤∩ε∞ΦφαΓ°Φ⌡± ±⌡σ∞, ± ∩ε∞ε∙ⁿ■ Ωε≥ε≡√⌡ ε±≤∙σ±≥Γδ σ≥± ≤∩≡αΓδσφΦσ ∩≤ßδΦΩ≤σ∞√∞Φ Σαφφ√∞Φ. ╤⌡σ∞√ ε∩≡σΣσδ ■≥ ±α∞ τα∩≡ε± Φ ±≥≡≤Ω≥≤≡≤ ±≥≡αφΦ÷. ╧≡Φ ²≥ε∞ φσ ≥≡σß≤σ≥± τφαφΦ HTML ΦδΦ ISAPI, ≥αΩ ΩαΩ Γ ±ε±≥αΓ dbWeb Administrator Γ⌡εΣΦ≥ Φφ≥σ≡αΩ≥ΦΓφ√Θ ∞α±≥σ≡-∩ε±≥≡εΦ≥σδⁿ ±⌡σ∞ (Schema Wizard), Ωε≥ε≡√Θ Γ ≥≡αΣΦ÷ΦεφφεΘ Σδ δ■ßεΘ ∩≡επ≡α∞∞√-∞α±≥σ≡α ∞αφσ≡σ ∩ετΓεδ σ≥ ταΣα≥ⁿ ∩εδ ∩εΦ±Ωα ∩ε ∞σ≥εΣ≤ Query-by-Example (QBE), Γ√ß≡α≥ⁿ ∩εδ Σδ ε≥εß≡αµσφΦ Γ ≥αßδΦ÷σ ±≥≡αφΦ÷√ ≡στ≤δⁿ≥α≥εΓ Φ ε∩≡σΣσδΦ≥ⁿ ∩σ≡σ⌡εΣ√ Φτ ±∩Φ±Ωα τα∩Φ±σΘ Γ ε≥Σσδⁿφ√σ ±≥≡αφΦ÷√, ±εΣσ≡µα∙Φσ ≡ατΓσ≡φ≤≥≤■ Φφ⌠ε≡∞α÷Φ■ ∩ε ≥σΩ≤∙σΘ τα∩Φ±Φ. ═α±≥≡εΘΩεΘ ±εε≥Γσ≥±≥Γ≤■∙Φ⌡ ±ΓεΘ±≥Γ ∞εµφε ≡ατ≡σ°α≥ⁿ ΦδΦ τα∩≡σ∙α≥ⁿ ε∩σ≡α÷ΦΦ Γ±≥αΓΩΦ, ≤ΣαδσφΦ Φ ≡σΣαΩ≥Φ≡εΓαφΦ . ─δ ∩≡εΓσ≡ΩΦ ∩≡αΓ ∩εδⁿτεΓα≥σδ Φ±∩εδⁿτ≤σ≥± ±Φ±≥σ∞α ßστε∩α±φε±≥Φ ≥εΘ ╤╙┴─, Ω Ωε≥ε≡εΘ ∩≡εΦ±⌡εΣΦ≥ Σε±≥≤∩. dbWeb Φ∞σσ≥ Γ ±Γεσ∞ ±ε±≥αΓσ °Φ≡εΩΦΘ ±∩σΩ≥≡ °αßδεφεΓ ±≥≡αφΦ÷, Ωε≥ε≡√σ ∩≡Φ φσεß⌡εΣΦ∞ε±≥Φ ∞επ≤≥ ß√≥ⁿ δσπΩε ε≥Ωε≡≡σΩ≥Φ≡εΓαφ√ Φ φα±≥≡εσφ√ ≡ατ≡αßε≥≈ΦΩε∞ Σδ ßεδσσ ∩εδφεπε ±εε≥Γσ≥±≥ΓΦ σπε ταΣα≈α∞. ╥αΩΦ∞ εß≡ατε∞, dbWeb φσ Γδ σ≥± Ωεφσ≈φ√∞ ∩εδⁿτεΓα≥σδⁿ±ΩΦ∞ ∩≡ΦδεµσφΦσ∞. ╤Ωε≡σσ σπε ∞εµφε ε⌡α≡αΩ≥σ≡ΦτεΓα≥ⁿ ΩαΩ Σε±≥α≥ε≈φε δσπΩΦΘ Γ Φ±∩εδⁿτεΓαφΦΦ Φφ±≥≡≤∞σφ≥α≡ΦΘ ≡ατ≡αßε≥ΩΦ, Ωε≥ε≡√Θ, ΩαΩ Γ± ΩΦΘ ∞α±≥σ≡, φσ ∩εΣΣσ≡µΦΓασ≥ τ√Ωα ∩≡επ≡α∞∞Φ≡εΓαφΦ Φ ε≥≥επε, φα ∞εΘ Γτπδ Σ, φσ±ΩεδⁿΩε ∩≡εΦπ≡√Γασ≥ Γ ⌠≤φΩ÷Φεφαδⁿφε±≥Φ ≡α±±∞ε≥≡σφφε∞≤ φα∞Φ ≡αφσσ SQL Web Assistant, φσ±∞ε≥≡ φα Γετ∞εµφε±≥ⁿ ΦφΦ÷ΦΦ≡≤σ∞επε ∩ε±σ≥Φ≥σδσ∞ εßφεΓδσφΦ Φφ⌠ε≡∞α÷ΦΦ Γ ßατσ. ╥σ∞ φσ ∞σφσσ, ²≥α ∩≡επ≡α∞∞α ≤±∩σ°φε ±∩≡αΓδ σ≥± ± αΓ≥ε∞α≥Φτα÷ΦσΘ ßεδⁿ°Φφ±≥Γα ≡≤≥Φφφ√⌡ ε∩σ≡α÷ΦΘ ∩ε ε≡παφΦτα÷ΦΦ ±εσΣΦφσφΦΘ Φ ∩≤ßδΦΩα÷ΦΦ Σαφφ√⌡ Φτ ┴─ Φ ∩εΩ≡√Γασ≥, ∩ε ≡ατφ√∞ ε÷σφΩα∞, ∩ε≡ ΣΩα 40-60% ∩ε≥≡σßφε±≥σΘ ßΦτφσ±α ±≡σΣφσ±≥α≥Φ±≥Φ≈σ±ΩεΘ ⌠Φ≡∞√ ∩≡Φ ε≡παφΦτα÷ΦΦ Σε±≥≤∩α Ω ±ΓεΦ∞ Φ±≥ε≈φΦΩα∞ Σαφφ√⌡ ≈σ≡στ Internet. dbWeb Γδ σ≥± ±ΓεßεΣφε ≡α±∩≡ε±≥≡αφ σ∞√∞ ∩≡ΦδεµσφΦσ∞ Φ ∞εµσ≥ ß√≥ⁿ ≤±≥αφεΓδσφ ± Microsoft Technet, Windows NT Resource Kit ΦδΦ φσ∩ε±≡σΣ±≥Γσφφε ± www.microsoft.com.
IDC Γδ σ≥± Σ≡≤πΦ∞ ∩≡Φ∞σ≡ε∞ Σε±≥α≥ε≈φε ΣαΓφε Φ ≤±∩σ°φε Φ±∩εδⁿτ≤σ∞επε ISAPI-∩≡ΦδεµσφΦ . ╬φ Γ⌡εΣΦ≥ Γ ±ε±≥αΓ MS IIS. ╤ ∩ε∞ε∙ⁿ■ Γ√τεΓεΓ ⌠≤φΩ÷ΦΘ ODBC API IDC εßσ±∩σ≈ΦΓασ≥ ∩≡ ∞≤■ ±Γ τⁿ ∞σµΣ≤ ∩εδ ∞Φ HTML-⌠ε≡∞√ Φ ±εε≥Γσ≥±≥Γ≤■∙Φ∞ ODBC-Σε±≥ΦµΦ∞√∞ Φ±≥ε≈φΦΩε∞ Σαφφ√⌡, φα∩≡Φ∞σ≡, ßατεΘ Σαφφ√⌡ MS SQL Server, ßστ φσεß⌡εΣΦ∞ε±≥Φ φα∩Φ±αφΦ τα∞√±δεΓα≥√⌡ CGI-±Ω≡Φ∩≥εΓ. ╤⌡σ∞α ≡αßε≥√ IDC ∩εΩαταφα φα ≡Φ±.6.
─δ Σε±≥≤∩α Ω Σαφφ√∞ Φ ∩≤ßδΦΩα÷ΦΦ φα Web IDC Φ±∩εδⁿτ≤σ≥ ⌠αΘδ√ ΣΓ≤⌡ ≥Φ∩εΓ- .idc Φ .htx. ╘αΘδ ± ≡α±°Φ≡σφΦσ∞ idc ±εΣσ≡µΦ≥ Γ±■ φσεß⌡εΣΦ∞≤■ Φφ⌠ε≡∞α÷Φ■ ε ±εσΣΦφσφΦΦ ± Φ±≥ε≈φΦΩε∞ Σαφφ√⌡, ≥σΩ±≥ τα∩≡ε±α, α ≥αΩµσ ±±√δΩ≤ φα ±εε≥Γσ≥±≥Γ≤■∙ΦΘ htx-⌠αΘδ. ╘αΘδ ± ≡α±°Φ≡σφΦσ∞ htx ±δ≤µΦ≥ °αßδεφε∞ ±≥≡αφΦ÷√, φα Ωε≥ε≡εΘ ß≤Σ≤≥ ε∩≤ßδΦΩεΓαφ√ Σαφφ√σ Φτ ßατ√, α ≥αΩµσ ²δσ∞σφ≥√ ε⌠ε≡∞δσφΦ Γ ΓΦΣσ ±≥α≥Φ≈σ±Ωεπε ≥σΩ±≥α, π≡α⌠ΦΩΦ, ΓΦΣσε Φ ≥.∩.
MS IIS ≡α±∩ετφασ≥ ≡α±°Φ≡σφΦσ .idc ΩαΩ Γ√τεΓ httpodbc.dll, Ωε≥ε≡α ±≈Φ≥√Γασ≥ http-ταπεδεΓΩΦ Φτ ≤∩≡αΓδ ■∙σπε ßδεΩα ISAPI Σδ ε∩≡σΣσδσφΦ ∩α≡α∞σ≥≡εΓ τα∩≡ε±α. Httpodbc.dll ≈Φ≥ασ≥ Φ ≡ατßΦ≡ασ≥ idc-⌠αΘδ, ≤Ωαταφφ√Θ Γ URL. ╚∞ Φ±≥ε≈φΦΩα, Φ∞ ∩εδⁿτεΓα≥σδ , ∩α≡εδⁿ Φ ∩≡. Φ±∩εδⁿτ≤■≥± Σδ ∩εΣΩδ■≈σφΦ Ω ±εε≥Γσ≥±≥Γ≤■∙σ∞≤ ≡σ±≤≡±≤ ODBC, ∩ε±δσ ≈σπε httpodbc ∩σ≡σΣασ≥ φα Γ√∩εδφσφΦσ SQL-τα∩≡ε± Φ ∩εδ≤≈ασ≥ ≡στ≤δⁿ≥α≥√. ╨στ≤δⁿ≥α≥√ Φ±∩εδⁿτ≤■≥± Σδ φα∩εδφσφΦ ταπε≥εΓΩΦ Γ ΓΦΣσ htx-⌠αΘδα, ∩ε±δσ ≈σπε ∩εδ≤≈σφφ√Θ HTML-ΣεΩ≤∞σφ≥ MS IIS ∩σ≡σΣασ≥ ß≡α≤τσ≡≤. ╬∩Φ±αφφα ∩ε±δσΣεΓα≥σδⁿφε±≥ⁿ ΣσΘ±≥ΓΦΘ Φδδ■±≥≡Φ≡≤σ≥± φα ≡Φ±.7
╧≡εΣεδµΦ∞ ≡ατΓΦ≥Φσ φα°σπε ∩≡ε±≥επε ∩≡Φ∞σ≡α Φτ ∩.2 ±≡σΣ±≥Γα∞Φ IDC. ╬∩≤ßδΦΩ≤σ∞ ≥αßδΦ÷≤ rates ± ∩ε∞ε∙ⁿ■ ⌠αΘδεΓ rates.idc Φ rates.htx
Rates.idc:
Datasource: rates
Template: rates.htx
SQLStatement: select id,kod,kurs from rates
Username: sa
Rates.htx:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=windows-1251">
<meta name="GENERATOR" content="Microsoft FrontPage 2.0">
<title></title>
</head>
<body>
<p><font size="5"><strong>╩≤≡±√ Γαδ■≥</strong></font></p>
<table border="1">
<tr>
<th><font face="Times New Roman CYR">╩εΣ</font></th>
<th><font face="Times New Roman CYR">╩≤≡±</font></th>
</tr>
<%begindetail%> <tr>
<td><a
href="http://ntalexejs/aaa/rates_edit.idc?id1=<%id%>"><font
face="Times New Roman CYR"><%kod%></font></a></td>
<td><font face="Times New Roman CYR"><%kurs%></font></td>
</tr>
<%enddetail%></table>
</body>
</html>
╧ε∩≤≥φε τα∞σ≥Φ∞, ≈≥ε Microsoft FrontPage ∩≡σΣε±≥αΓδ σ≥ ≤Σεßφ√Θ ≡σΣαΩ≥ε≡ Σδ ∩ε±≥≡εσφΦ ταπε≥εΓεΩ Φ ∩≡επ≡α∞∞≤-∞α±≥σ≡ Σδ πσφσ≡α÷ΦΦ idc-⌠αΘδεΓ. ╨στ≤δⁿ≥α≥ ∩εΩαταφ φα ≡Φ±.8.
╧≡σΣ∩εδεµΦ∞, ∩ε ±±√δΩσ ∞√ ⌡ε≥Φ∞ ∩≡σΣε±≥αΓΦ≥ⁿ Γετ∞εµφε±≥ⁿ ≡σΣαΩ≥Φ≡εΓαφΦ ≥σΩ≤∙σπε Ω≤≡±α Γαδ■≥√. ╥επΣα ±εε≥Γσ±≥Γ≤■∙α ∩α≡α ⌠αΘδεΓ ∞εµσ≥ Γ√πδ Σσ≥ⁿ ±δσΣ≤■∙Φ∞ εß≡ατε∞:
Datasource: rates
Template: rates_edit.htx
SQLStatement: select id, kod, kurs from rates where id=%id1%
Username: sa
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=windows-1251">
<meta name="GENERATOR" content="Microsoft FrontPage 2.0">
<title>Untitled Normal Page</title>
</head>
<body>
<p> </p>
<form action="rates_submit.idc?kurs1=<%txtKurs%>&id1=<%id%>"
method="POST" name="rates_edit"
<%txtkurs%>"&id1="<%id%>"">
<p><font face="Times New Roman CYR">╩εΣ Γαδ■≥√- <strong><%kod%></strong>
</font></p>
<p><font face="Times New Roman CYR">╩≤≡± <input
type="text" size="20" name="txtKurs" value="<%kurs%>"></font></p>
<p><input type="submit" name="B1"
value="╧σ≡σΣα≥ⁿ Φτ∞σφσφΦ "></p>
</form>
</body>
</html>
╨στ≤δⁿ≥α≥ ∩≡ΦΓεΣΦ≥± φα ≡Φ±.9. ─αδσσ ≡στ≤δⁿ≥α≥√ ≡σΣαΩ≥Φ≡εΓαφΦ Ω≤≡±α ∩σ≡σΣα■≥± εß≡α≥φε Γ ßατ≤ Σαφφ√⌡, ≥.σ. ⌠αΘδ rates_submit.idc ß≤Σσ≥, ε≈σΓΦΣφε, ±εΣσ≡µα≥ⁿ ε∩σ≡α≥ε≡ update, α ±εε≥Γσ≥±≥Γ≤■∙ΦΘ .htx- ∩σ≡σ⌡εΣ φα φεΓ≤■ ±≥≡αφΦ÷≤ ΦδΦ ΓετΓ≡α∙σφΦσ εß≡α≥φε φα ∩≡ε±∞ε≥≡ ±∩Φ±Ωα Φ ≥.Σ.
═σεß⌡εΣΦ∞ε ε≥∞σ≥Φ≥ⁿ, ≈≥ε ±εε≥Γσ≥±≥Γ≤■∙ΦΘ Φ±≥ε≈φΦΩ Σαφφ√⌡ (Γ φα°σ∞ ±δ≤≈ασ rates) Σεδµσφ ß√≥ⁿ ±ετΣαφ Γ ODBC-∞σφσΣµσ≡σ ΩαΩ ±Φ±≥σ∞φ√Θ, Φφα≈σ εφ φσ ß≤Σσ≥ ΓΦΣσφ Σ≡≤πΦ∞ ∩εδⁿτεΓα≥σδ ∞.
╩επΣα ≡σ≈ⁿ τα⌡εΣΦ≥ ε Ωε∞∩εφσφ≥α⌡ ActiveX, ΩαΩ ∩≡αΓΦδε, φσ Γφε ∩εΣ≡ατ≤∞σΓασ≥± ΩδΦσφ≥±Ωα ≈α±≥ⁿ ∩≡ΦδεµσφΦ . Microsoft Active Server Pages (ASP)- αΩ≥ΦΓφ√σ ±σ≡Γσ≡φ√σ ±≥≡αφΦ÷√- ∩≡σΣ±≥αΓδ ■≥ ±εßεΘ Φφ±≥≡≤∞σφ≥ Σδ ²⌠⌠σΩ≥ΦΓφεΘ ≡ατ≡αßε≥ΩΦ ±σ≡Γσ≡φ√⌡ Web-∩≡ΦδεµσφΦΘ, Φφ≥σπ≡Φ≡≤■∙Φ⌡ Γ ±Γεσ∞ ±ε±≥αΓσ HTML-ΩεΣ, VBScript Φ Ωε∞∩εφσφ≥√ ActiveX. ▌≥ε ετφα≈ασ≥, ≈≥ε Γ ≤µσ ±≤∙σ±≥Γ≤■∙Φσ φα≡αßε≥ΩΦ δσπΩε ∞επ≤≥ ß√≥ⁿ Γ±≥≡εσφ√ ⌠≡απ∞σφ≥√ ΩεΣα φα VBScript ΦδΦ JavaScript, α ≥αΩµσ Γ√τεΓ√ ±εε≥Γσ≥±≥Γ≤■∙Φ⌡ εß·σΩ≥εΓ ActiveX. ╩αΩ, φαΓσ≡φεσ, ΦτΓσ±≥φε, VBScript- ²≥ε ±≤µσφΦσ ⌡ε≡ε°ε τφαΩε∞επε τ√Ωα ∩≡επ≡α∞∞Φ≡εΓαφΦ Visual Basic φα εßδα±≥ⁿ ±ετΣαφΦ Web-±≥≡αφΦ÷. ╬±φεΓφ√∞ ΦΣσΘφ√∞ ε≥δΦ≈Φσ∞ VBScript ε≥ VB, φα ∞εΘ ±≤ß·σΩ≥ΦΓφ√Θ Γτπδ Σ, ±δ≤µΦ≥ ≥ε, ≈≥ε VBScript φσ ±εΣσ≡µΦ≥ ε∩σ≡α≥ε≡εΓ ⌠αΘδεΓεπε ΓΓεΣα-Γ√ΓεΣα Φ Γεεß∙σ ±≡σΣ±≥Γ ∩≡ ∞επε Σε±≥≤∩α Ω ε∩σ≡α÷ΦεφφεΘ ±Φ±≥σ∞σ (φα∩≡α°ΦΓα■≥± ∩α≡αδδσδΦ, σ±δΦ Java ±ε∩ε±≥αΓΦ≥ⁿ ± ╤/╤++, φσ ∩≡αΓΣα δΦ). ╩≡ε∞σ ²≥επε, Γ VBScript ±≤∙σ±≥Γ≤σ≥ ≥εδⁿΩε εΣΦφ ≥Φ∩ ∩σ≡σ∞σφφ√⌡- variant, ε≥±≤≥±≥Γ≤■≥ ΣσΩδα≡α≥ΦΓφ√σ Ωεφ±≥αφ≥√ Φ ≥.∩. ═αδΦ≈Φσ ∩≡ΦΓ√≈φεπε ±Φφ≥αΩ±Φ±α τ√Ωα Γ√±εΩεπε ≤≡εΓφ ±≤∙σ±≥Γσφφε ≤∩≡ε∙ασ≥ ±ετΣαφΦσ HTML-±≥≡αφΦ÷. ╤∞.Ωδα±±Φ≈σ±ΩΦΘ ∩≡Φ∞σ≡:
<HTML>
<BODY>
<% For i = 3 To 7 %>
<FONT SIZE=<% = i %>>
Hello World!<BR>
<% Next %>
</BODY>
</HTML>
╩≡ε∞σ ²≥επε, Γ ±ε±≥αΓ ±≡σΣ√ αΩ≥ΦΓφ√⌡ ±σ≡Γσ≡φ√⌡ ±≥≡αφΦ÷ (ASP Framework) Γ⌡εΣ ≥ ±δσΣ≤■∙Φσ 5 ε±φεΓφ√⌡ Γ±≥≡εσφφ√⌡ εß·σΩ≥εΓ.
╧εΣ≡εßφσσ ≤τφα≥ⁿ ε φατφα≈σφΦΦ Φ Φ±∩εδⁿτεΓαφΦΦ εß·σΩ≥εΓ ASP, Φ⌡ ∞σ≥εΣα⌡ Φ ±ΓεΘ±≥Γα⌡ ∞εµφε, εß≡α≥ΦΓ°Φ±ⁿ Ω ΣεΩ≤∞σφ≥α÷ΦΦ, φα∩≡Φ∞σ≡, Active Server Pages Roadmap.
╧ε∞Φ∞ε ßατεΓ√⌡ εß·σΩ≥εΓ, ASP ∩εΣΣσ≡µΦΓα■≥ ∞φεπε≈Φ±δσφφ√σ Ωε∞∩εφσφ≥√ ActiveX, Ωε≥ε≡√σ ≤∩≡ε∙α■≥ ±ετΣαφΦσ Φ τφα≈Φ≥σδⁿφε ∩εΓ√°α■≥ ⌠≤φΩ÷Φεφαδⁿφε±≥ⁿ αΩ≥ΦΓφ√⌡ Web-±≥≡αφΦ÷. ╩ φΦ∞ ε≥φε± ≥± ≡ατδΦ≈φ√σ ²δσ∞σφ≥√ ≤∩≡αΓδσφΦ , Ωε∞∩εφσφ≥√, ±ετΣα■∙Φσ ±εΣσ≡µαφΦσ ∩≡ΦδεµσφΦ , Ωε∞∩εφσφ≥√ ΓΓεΣα/Γ√ΓεΣα Γ ⌠αΘδ (≈σπε, ΩαΩ ∞√ ∩ε∞φΦ∞, φσ ß√δε Γ VBScript) Φ ∞φεπΦσ Σ≡≤πΦσ. ═ε φα± Γ ∩σ≡Γ≤■ ε≈σ≡σΣⁿ ß≤Σ≤≥ Φφ≥σ≡σ±εΓα≥ⁿ Ωε∞∩εφσφ≥√, ∩ετΓεδ ■∙Φσ ε≡παφΦτεΓα≥ⁿ Σε±≥≤∩ Ω ßατα∞ Σαφφ√⌡, ΦδΦ Active Data Objects (ADO).
┬ ε≥δΦ≈Φσ ε≥ ⌡ε≡ε°ε ΦτΓσ±≥φ√⌡ Data Access Objects (DAO) ΦδΦ Remote Data Objects (RDO) ADO Φ∞σ■≥ ∞σφσσ Φσ≡α≡⌡Φ≈σ±ΩΦ ±≥≡επ≤■ ±≥≡≤Ω≥≤≡≤ (±∞.≡Φ±.10) Φ ∩ε≥ε∞≤ ßεδσσ ≤Σεßφ√ ∩≡Φ ≡αßε≥σ ± ßατα∞Φ Σαφφ√⌡.
═α∩≡Φ∞σ≡, ∩≤ßδΦΩα÷Φ φα°σΘ ≥αßδΦ÷√ ± Ω≤≡±α∞Φ Γαδ■≥ ∩≡Φ ∩ε∞ε∙Φ ASP Φ ADO ∞εµσ≥ ß√≥ⁿ Γ√∩εδφσφα ±δσΣ≤■∙Φ∞ εß≡ατε∞.
Ratesado.asp
<% if IsObject(Session("conn")) then
set c=Session("conn")
else
set c=Server.CreateObject("ADODB.Connection")
c.Open "rates","sa",""
set Session("conn")=c
end if
set RS=c.Execute("select * from rates")%>
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=windows-1251">
<meta name="GENERATOR" content="Microsoft FrontPage 2.0">
<title>╩≤≡±√ Γαδ■≥</title>
</head>
<body>
<p><font size="5" face="Times New Roman CYR"><strong>╩≤≡±√
Γαδ■≥</strong></font></p>
<table border="1">
<tr>
<th align="left"><font face="Times New Roman CYR">╩εΣ</font></th>
<th align="left"><font face="Times New Roman CYR">╩≤≡±</font></th>
</tr>
<% do while not RS.EOF %> <tr>
<td><% id1=RS("id") %> <a
href="http://ntalexejs/aaa/ratesado_edit.asp?id1=<%=id1%>"><%=RS("kod")%></a></td>
<td><%=RS("kurs")%> </td>
</tr>
<% RS.MoveNext
loop %></table>
</body>
</html>
╧εδ≤≈Φ∞ ≡στ≤δⁿ≥α≥, αφαδεπΦ≈φ√Θ ≡Φ±.7. ╬ß≡α≥Φ≥σ ΓφΦ∞αφΦσ φα ∩σ≡σΣα≈≤ ΦΣσφ≥Φ⌠ΦΩα≥ε≡α ±εσΣΦφσφΦ ∞σµΣ≤ ≡ατφ√∞Φ ±Ω≡Φ∩≥α∞Φ ± ∩ε∞ε∙ⁿ■ ∩σ≡σ∞σφφ√⌡ Ωδα±±α Session. ╬ßφεΓδσφΦσ Ω≤≡±α Γαδ■≥√ ε≡παφΦτ≤σ∞ ±δσΣ≤■∙Φ∞ εß≡ατε∞:
Ratesado_edit.asp
<%id1=Request.QueryString("id1")
RS=Session("conn").Execute("select kod,kurs from rates where id="&id1)
kurs1=RS("kurs")%>
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=windows-1251">
<meta name="GENERATOR" content="Microsoft FrontPage 2.0">
<title>╩εΣ Γαδ■≥√</title>
</head>
<body>
<form action="ratesado_submit.asp" method="POST" name="frm">
<input type="hidden" name="hid" value="<%=id1%>"><p>╩εΣ
Γαδ■≥√ <strong><%=RS("kod")%> </strong></p>
<p>╩≤≡±<strong> </strong><input type="text" size="14"
name="txtKurs" value="<%=kurs1%>"><strong> </strong></p>
<p><input type="submit" name="B1"
value="╧σ≡σΣα≥ⁿ Φτ∞σφσφΦ "></p>
</form>
</body>
</html>
╧≡ΦΓσΣσφφ√Θ ΩεΣ Γ∩εδφσ ∞εµσ≥ ß√≥ⁿ Γε±∩≡εΦτΓσΣσφ, Φ σ±δΦ εφ ΓΣ≡≤π τα≡αßε≥ασ≥ , ≥ε ∞√ ∩εδ≤≈Φ∞ ±≥≡αφΦ÷≤ ≥Φ∩α ≥εΘ, ≈≥ε Φτεß≡αµσφα φα ≡Φ±.9. ═αΩεφσ÷, τα∩≡ε± φα εßφεΓδσφΦσ ε⌠ε≡∞Φ∞ ΩαΩ ε≥Σσδⁿφ√Θ asp:
Ratesado_submit.asp
<%Session("conn").Execute "update rates set kurs=" & Request.Form("txtKurs") & "where id=" & Request.Form("hid")
Response.Redirect("ratesado.asp")%>
╧ε±δσΣφΦΘ ε∩σ≡α≥ε≡ ε±≤∙σ±≥Γδ σ≥ αΓ≥ε∞α≥Φ≈σ±ΩΦΘ ∩σ≡σ⌡εΣ φα ∩≡ε±∞ε≥≡ ≥αßδΦ÷√ Ω≤≡±εΓ. ADO Γδ ■≥± ≤φΦΓσ≡±αδⁿφ√∞ Φφ±≥≡≤∞σφ≥ε∞ Σε±≥≤∩α Ω Σαφφ√∞. ┬√ ∞εµσ≥σ ßστ Φτ∞σφσφΦΘ Φ±∩εδⁿτεΓα≥ⁿ Φφ≥σ≡⌠σΘ± ADO Φτ Σαφφεπε ∩≡Φ∞σ≡α ∩≡Φ ≡αßε≥σ ± ßατα∞Φ Σαφφ√⌡ φα VB, Visual FoxPro Φ ≥.Σ. ═αΩεφσ÷, ± ∩ε∞ε∙ⁿ■ ADO, Γ ±Γε■ ε≈σ≡σΣⁿ, ∞επ≤≥ ß√≥ⁿ ∩ε±≥≡εσφ√ ∩εδⁿτεΓα≥σδⁿ±ΩΦσ Ωε∞∩εφσφ≥√, Σδ εß≡α∙σφΦ Ω ±σ≡Γσ≡≤ ßατ Σαφφ√⌡ ΩαΩ ±ε ±≥ε≡εφ√ "≥εδ±≥επε" (Win32), ≥αΩ Φ ±ε ±≥ε≡εφ√ ≥εφΩεπε (Internet Browser) ΩδΦσφ≥α. ╘≤φΩ÷ΦΦ εßσ±∩σ≈σφΦ ÷σδε±≥φε±≥Φ ≥≡αφταΩ÷ΦΘ, ±σ≡ΓΦ±√ ßστε∩α±φε±≥Φ Φ ±επδα±εΓαφφεΘ ≡αßε≥√ Ωε∞∩εφσφ≥ Γ ≡α±∩≡σΣσδσφφε∞ ∩≡ΦδεµσφΦΦ ∞εµσ≥ Γτ ≥ⁿ φα ±σß Microsoft Transaction Server (c∞.≡Φ±.11), φε ²≥ε ≤µσ ≥σ∞α ±εΓ±σ∞ Σ≡≤πεπε ≡α±±Ωατα.