2. Metin (TextStream) Nesnesi
Dosya sistemi nesnesi bize disk sistemine, klas旦rlere ve dosyalara erime
imk但n脹 verir ama yeni dosyalar脹 oluturmak veya mevcutlara ek yapmak
i巽in yeterli 旦zellik ve metottan yoksundur. Bunu TextSream nesnesi salar.
Metin Dosyas脹 Oluturma
(CreateTextFile)
Bu metot TextStream nesnesinindir; ve otomatik olarak bu nesnenin
dier metotlar脹n脹 kullanmam脹z脹 salar. Kulland脹脹m脹z metotlar ise
WriteLine (sat脹r yaz: bir Stringi sonuna yeni sat脹r karakteri koyarak
dosyaya yazar) ve Close (kapat: a巽脹lan metin dosyas脹n脹 kapat脹r).
7.5.2014 2
3. Sunucu (Server) Nesneleri
Buraya kadar ele ald脹脹m脹z nesneler bir anlamda bizim sadece tek tek
sayfalarda yararlanaca脹m脹z ara巽lar脹 sal脹yor. Oysa ASPyi dier CGI
teknolojilerinden ay脹ran bal脹ca 旦zelliklerden biri tek tek Web sayfalar脹n脹
sanki bir bilgisayar program脹n脹n 巽eitli pencereleri, diyalog kutular脹, mesaj
kutular脹, girdi kutular脹 gibi, birarada bir uygulama program脹 olarak
balayabilmesidir
7.5.2014 3
4. ScriptTimeout zellii:
Server Nesnesi
Web Server, ASP i巽in bir nesnedir, ASPnin bir 巽ok iini bu nesnenin 旦zellikleri
ve metotlar脹 halleder
<% Server.ScriptTimeout = 100 %>
Script bir t端rl端 yapaca脹 ii yap脹p, sonland脹rm脹yor. Bu durumlarda
ziyaret巽inin ve tabi Server脹n sonsuza kadar beklemesi m端mk端n deil!
Program脹n bir ekilde durdurulmas脹 gerekir. Bunu hemen hemen b端t端n
Web server programlar脹n脹n Script Timeout (Script s端re s脹n脹r脹) diyalog
kutusuna bir deer girilerek
7.5.2014 4
5. Talep (Request) Nesnesi
Web Server 巽ok ak脹ll脹 bir programd脹r; bir Web ziyaret巽isi herhangi bir talepte
bulunduu, yani bir sayfan脹n g旦nderilmesini istedii anda, bu talebi, bir nesne
halinde ele al脹r; koleksiyonlar oluturur.
QueryString ve Form
Web ziyaret巽isinin bilgisayar脹ndan kalk脹p Servera gelen
herey, QueryString kolleksiyonunu oluturur. Bu
ziyaret巽inin Browser脹n URL adresi hanesine yazd脹脹 bir basit
HTML sayfas脹 yolu ve ad脹 olabilir; bir Formun G旦nder
d端mesini t脹klad脹脹nda gelen bilgiler olabilir.
7.5.2014 5
6. ServerVariables (Server Deikenleri)
Request nesnesinin bir dier koleksiyonu, bizim kendi Web Server脹m脹z脹n o anda
巽al脹makta olan ASP sayfas脹 i巽in oluturduu ortam脹n deikenleridir. Bunlar脹n
aras脹nda ziyaret巽inin Browser脹na ilikin bilgiler de vard脹r.
7.5.2014 6
7. Cookie (erez)
Ne istemci sunucunun, ne de sunucu istemcinin o anda hatta (on-line) olduunu
bilmek zorunda deildir; birbirlerinden istedikleri ve g旦nderdikleri eyleri kar脹
taraf脹ndan almaya haz脹r olduunu bilmeden g旦nderirler. Oysa s旦zgelimi elektronik
al脹veri gibi ziyaret巽inin bir yerlere bir eyler kaydettii, ge巽ici deikenler
oluturduu durumlarda sitemizde kimin ne yapt脹脹n脹 bilmek zorunday脹z.
7.5.2014 7
8. Sertifika Nesnesi
ASP a巽脹s脹ndan sertifika ile ilgili her t端rl端 bilgi ClientCertificate koleksiyonunda
durur. S旦zgelimi, bir ziyaret巽inin ger巽ekten sitenize girmeye yetkili olup
olmad脹脹n脹 anlamak i巽in
<%SertifikaNo = Request.ClientCertificate(SerialNumber) %>
7.5.2014 8
10. zellikler
Response nesnesinin bir 巽ok 旦zelliini kullanarak ziyaret巽imize g旦ndereceimiz
sayfalar脹 ve dier unsurlar脹 y旦netiriz:
Buffer (Tampon) : True (doru) olarak ayarland脹脹nda ziyaret巽iye g旦nderilecek
sayfan脹n b端t端n unsurlar脹 bir tampon b旦lgede toplan脹r, Scriptin 巽al脹mas脹
bitinceye kadar beklenir ve HTML sayfa toptan g旦nderilir.
<%
Option Explicit
Response.Buffer = TRUE
%>
7.5.2014 10
11. Uygulama (Application) ve Oturum (Session) Nesnesi
Application nesnesi, sitenin t端m端yle ilgili bilgileri (deikenleri, nesneleri ve
metotlar脹) tutar; Session nesnesi ziyaret巽inin sitemize girmesinden itibaren
izini s端rer.
Session (Tupras) = 44500
Session i巽in ge巽erli bir Tupras deikeni oluturur ve ona 44500
deerini atar.
7.5.2014 11
12. FORM ELEMANLARI
Bu konuyu bir k旦pr端 konu olarak nitelendire biliriz. 端nk端 Html ve Asp yi bir arada
g旦receimiz ve bu iki dilin birbirin ile balant脹lar脹n脹 sal脹yan Form elemanlar脹ndan
bahsedeceiz.
7.5.2014 12
15. ODBC ve OLE-DB
ADO ger巽ekten bir ASP nesnesi olmaktan 巽ok Server Component'i
(server bileeni) say脹l脹r. Bu bileene biz ASP i巽inden bir ActiveX
nesnesi ile ula脹l脹r.
Yani daha anla脹l脹r bi巽imde s旦ylemek gerekirse, ADO bir Server
Bileeni ve bu bileene ulamak i巽in bir ActiveX nesnesini kullan脹l脹r.
7.5.2014 15
16. ODBCnin ilemesi
Veritaban脹 dosyas脹n脹 istediiniz bir veritaban脹 program脹 ile
oluturabilirsiniz. Bu konuda en 巽ok kullan脹lan program Access'
t脹r. Siz isterseniz Excel de kullanabilirsiniz. Burada vereceimiz
旦rnekler Access veritaban脹 program脹na g旦re olacakt脹r.
imdi Access ile bir veritaban脹 olutural脹m. Veritaban脹m脹z脹n ismi
旦rnekler olsun
adres
id Otomatik Say脹 (birincil anahtar)
isim metin
telNo metin
adres metin (100)
7.5.2014 16
17. imdi Denetim Masas脹n脹 a巽脹n. Oradan ismi ODBC (ya da ODBC 23 bit veya ODBC
veri kaynaklar脹, sizin bilgisayar脹n脹zda hangisi varsa!) onu a巽脹n. 聴kinci sekme olan
Sistem DSN' ti t脹klay脹n. A巽脹lacak b旦l端mdeki Ekle / Add d端mesini t脹klay脹n.
Burada veritaban脹n脹za uygun s端r端c端y端 se巽in.. Biz burada Access ' 脹 kulland脹脹m脹z
i巽in birinci se巽enei iaretleyip son diyoruz.
7.5.2014 17
19. Sonu巽 olarak 旦rnek isimli veritaban脹m脹z脹n baar脹l脹 bir ekilde tan脹t脹ld脹脹n脹
g旦r端yorsunuz
7.5.2014 19
20. Connection (Veritaban脹na balant脹)
Ado' dan s旦z etmitik. Veritaban脹na balan脹rken kullanaca脹m脹z Ado'nun
Connection nesnesidir. Bu nesne ile veritaban脹na balant脹 salar脹z. Kullan脹m脹
旦yledir:
<%
Dim Veriyolu
Set Veriyolu = Server.CreateObject("ADODB.Connection")
Veriyolu.Open "Veri_Adi"
%>
7.5.2014 20
21. OLE-DB t端r端 Veritaban脹 balant脹s脹
Dim veriYolu, veriDeyim
Set veriYolu = server.CreateObject("ADODB.Connection")
veriDeyim = "Provider=Microsoft.Jet.OLEDB.4.0;" &_
" Data Source= C:inetpubwwwrootornek.mdb"
server.mapPath("ornek.mdb")
veriYolu.open (veriDeyim)
7.5.2014 21
22. Bir veritaban脹ndan veri okumak, veri deitirmek veya eklemek i巽in
komutlar脹m脹z脹 bu dille vermek zorunday脹z. ASP amac脹yla SQL komutlar脹ndan
巽ok az k脹sm脹n脹 kullan脹r脹z; bu bak脹mdan ASP Tasar脹mc脹s脹 olmak i巽in s脹n脹rl脹 da
olsa SQL 旦renmek gerekir.
Recordset (Kay脹t dizisi)
Recordset.Open
Veritaban脹na dayanan Web uygulamalar脹m脹zda sorun buradaki gibi
sadece veriyi okumakla bitmeyebilir; veriyi g端ncelletirmek veya silmek
isteyebiliriz. Bunun i巽in doruca ADOnun .Recordset metodundan
yararlanmam脹z gerekir. .Recordset metodu ne yapar? T脹pk脹
ekran脹n脹zdaki bir yaz脹n脹n i巽inde duran imle巽 (cursor) gibi hayal樽 bir
imleci g旦t端r端r verilerinizin en ba脹na koyar. Bu hayali imleci veritaban脹
端zerinde dolat脹rmak ve gittii yerdeki deeri okutmak bizim iimizdir.
7.5.2014 22
23. ADO Sabit Deerleri
ADO+ODBC yoluyla kuraca脹m脹z veri balant脹lar脹, 巽ou zaman adeta ifreli
ifadeler i巽erebilir ve bir 巽ok komutun arg端man脹 旦renmesi zor say脹lar halinde
verilir. Microsoft ve kullan脹lmaya haz脹r ASP Uygulamalar脹 端reten firmalar, bu
karma脹k ifadeleri d端z metinler olarak ifade etmeye yarayan haric樽 dosyalar
(include files) haz脹rlar ve sunarlar.
<!- - #include file=adovbs.inc - - >
7.5.2014 23
24. Recordset.Update
Veritaban脹ndan ald脹脹m脹z deerleri, kimi zaman ziyaret巽inin verecei
deerlerle veya ziyaret巽inin bir tak脹m tercihleri sonucu g端ncelletirmemiz
gerekir. Bu Recordset nesnesinin. Update metodu ile kolayca yap脹l脹r. Yaln脹z
burada hassas bir nokta var: diyelim ki ayn脹 anda iki veya daha fazla
kullan脹c脹 Web program脹m脹z脹n veritaban脹na ula脹r ve ayn脹 anda deiiklik
yaparlarsa ne olur?
Kayitdizisi.Open Sorgu, Veriyolu, aOpenStatic,
adLockOptimistic
7.5.2014 24
25. Recordset.Delete
Bir veritaban脹ndaki kayd脹 silmek de ADO ile olduk巽a kolayd脹r. 聴mleci, silinecek kayd脹n
端zerine g旦t端rd端kten sonra, Recordsetin , .Delete metodunu 巽a脹rarak o andaki
kay脹t silinir. Bu metod, bir kayd脹 b端t端n alanlar脹ndaki deerlerle birlikte (yani
veritaban脹n脹n bir sat脹r脹n脹 t端m端yle) siler:
Kayitdizisi.Update
7.5.2014 25
26. ReAddNew cordset.
Bir veritaban脹na yeni kay脹t eklemek istediimizde, Recordsetin .AddNew (yeni ekle)
metodundan yararlan脹r脹z. Bu metodun 旦zellii bizim imleci veritaban脹 i巽inde bir yere
g旦t端rme zorunluumuz olmamas脹d脹r. Bu metod kendiliinden imleci dosyan脹n en
son sat脹r脹n脹n alt脹na g旦t端r端r. .AddNew metodu bir veritaban脹 dosyas脹na kay脹t
eklerken, veritaban脹nda mevcut b端t端n alanlar i巽in deer vermenizi isteyecektir
<%
Kayitdizisi.AddNew
Kayitdizisi(Adi) = Necip Faz脹l
Kayitdizisi(Soyad脹) Dayan脹r
Kayitdizisi(TelNo) = 0342-3390000
Kayitdizisi.Update
Response.Write (Kay脹t Tamamland脹)
%>
7.5.2014 26