2. Metin (TextStream) Nesnesi
Dosya sistemi nesnesi bize disk sistemine, klasörlere ve dosyalara erişme
imkânı verir ama yeni dosyaları oluşturmak veya mevcutlara ek yapmak
için yeterli özellik ve metottan yoksundur. Bunu TextSream nesnesi sağlar.
Metin Dosyası Oluşturma
(CreateTextFile)
Bu metot TextStream nesnesinindir; ve otomatik olarak bu nesnenin
diğer metotlarını kullanmamızı sağlar. Kullandığımız metotlar ise
WriteLine (satır yaz: bir String’i 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ı sağlıyor. Oysa ASP’yi diğer CGI
teknolojilerinden ayıran başlıca özelliklerden biri tek tek Web sayfalarını
sanki bir bilgisayar programının çeşitli pencereleri, diyalog kutuları, mesaj
kutuları, girdi kutuları gibi, birarada bir “uygulama programı” olarak
bağlayabilmesidir
7.5.2014 3
4. ScriptTimeout Özelliği:
Server Nesnesi
Web Server, ASP için bir nesnedir, ASP’nin bir çok işini bu nesnenin özellikleri
ve metotları halleder
<% Server.ScriptTimeout = 100 %>
Script bir türlü yapacağı işi yapıp, sonlandırmıyor. Bu durumlarda
ziyaretçinin ve tabi Server’ın sonsuza kadar beklemesi mümkün değil!
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 değer girilerek
7.5.2014 4
5. Talep (Request) Nesnesi
Web Server çok akıllı bir programdır; bir Web ziyaretçisi herhangi bir talepte
bulunduğu, yani bir sayfanın gönderilmesini istediği anda, bu talebi, bir nesne
halinde ele alır; koleksiyonlar oluşturur.
QueryString ve Form
Web ziyaretçisinin bilgisayarından kalkıp Server’a gelen
herşey, QueryString kolleksiyonunu oluşturur. Bu
ziyaretçinin Browser’ın URL adresi hanesine yazdığı bir basit
HTML sayfası yolu ve adı olabilir; bir Form’un Gönder
düğmesini tıkladığında gelen bilgiler olabilir.
7.5.2014 5
6. ServerVariables (Server Değişkenleri)
Request nesnesinin bir diğer koleksiyonu, bizim kendi Web Server’ımızın o anda
çalışmakta olan ASP sayfası için oluşturduğu ortamın değişkenleridir. Bunların
arasında ziyaretçinin Browser’ına ilişkin bilgiler de vardır.
7.5.2014 6
7. Cookie (Çerez)
Ne istemci sunucunun, ne de sunucu istemcinin o anda hatta (on-line) olduğunu
bilmek zorunda değildir; birbirlerinden istedikleri ve gönderdikleri şeyleri karşı
tarafından almaya hazır olduğunu bilmeden gönderirler. Oysa sözgelimi elektronik
alışveriş gibi ziyaretçinin bir yerlere bir şeyler kaydettiği, geçici değişkenler
oluşturduğu 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
9. Metodlar
Response nesnesinin bir çok metodu vardır; bunlardan .Write’ı
yukarıdaki örneklerde sık sık kulandık:
<%
DIM Adi_Soyadi
Adi_Soyadi = “Necip Fazıl Dayanır”
Response.Write(“Merhaba, benim adım, “ & Adi_Soyadi)
%>
7.5.2014 9
10. Özellikler
Response nesnesinin bir çok özelliğini kullanarak ziyaretçimize göndereceğimiz
sayfaları ve diğer unsurları yönetiriz:
Buffer (Tampon) : True (doğru) olarak ayarlandığında ziyaretçiye gönderilecek
sayfanın bütün unsurları bir tampon bölgede toplanır, Script’in ç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 (değişkenleri, nesneleri ve
metotları) tutar; Session nesnesi ziyaretçinin sitemize girmesinden itibaren
izini sürer.
Session (“Tupras”) = 44500
Session için geçerli bir Tupras değişkeni oluşturur ve ona “44500”
değerini 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öreceğimiz ve bu iki dilin birbirin ile bağlantılarını sağlıyan Form elemanlarından
bahsedeceğiz.
7.5.2014 12
15. ODBC ve OLE-DB
ADO gerçekten bir ASP nesnesi olmaktan çok Server Component'i
(server bileşeni) sayılır. Bu bileşene biz ASP içinden bir ActiveX
nesnesi ile ulaşılır.
Yani daha anlaşılır biçimde söylemek gerekirse, ADO bir Server
Bileşeni ve bu bileşene ulaşmak için bir ActiveX nesnesini kullanılır.
7.5.2014 15
16. ODBC’nin işlemesi
Veritabanı dosyasını istediğiniz bir veritabanı programı ile
oluşturabilirsiniz. Bu konuda en çok kullanılan program Access'
tır. Siz isterseniz Excel de kullanabilirsiniz. Burada vereceğimiz
örnekler Access veritabanı programına göre olacaktır.
Şimdi Access ile bir veritabanı oluşturalı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çeneği işaretleyip son diyoruz.
7.5.2014 17
19. Sonuç olarak örnek isimli veritabanımızın başarılı bir şekilde tanıtıldığını
görüyorsunuz
7.5.2014 19
20. Connection (Veritabanına bağlantı)
Ado' dan söz etmiştik. Veritabanına bağlanırken kullanacağımız Ado'nun
Connection nesnesidir. Bu nesne ile veritabanına bağlantı sağları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ı bağlantı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 değiştirmek 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üncelleştirmek veya silmek
isteyebiliriz. Bunun için doğruca ADO’nun .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 dolaştırmak ve gittiği yerdeki değeri okutmak bizim işimizdir.
7.5.2014 22
23. ADO Sabit Değerleri
ADO+ODBC yoluyla kuracağımız veri bağlantıları, çoğu 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 değerleri, kimi zaman ziyaretçinin vereceği
değerlerle veya ziyaretçinin bir takım tercihleri sonucu güncelleştirmemiz
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 değişiklik
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, Recordset’in , .Delete metodunu çağırarak o andaki
kayıt silinir. Bu metod, bir kaydı bütün alanlarındaki değerlerle 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 istediğimizde, Recordset’in .AddNew (yeni ekle)
metodundan yararlanırız. Bu metodun özelliği bizim imleci veritabanı içinde bir yere
götürme zorunluğumuz olmamasıdır. Bu metod kendiliğinden 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 değer 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