Payidar.NET - Bilgi ve Paylaşım Forumu
Go Back   Payidar.NET - Bilgi ve Paylaşım Forumu > Internet > Web Master Dünyası > Web Tasarım Dersleri

Duyurular

Cevapla
 
LinkBack Konu Seçenekleri Gösterim Modu
  #21 (Daim)  
Alt 20.01.07, 18:09
SportMan - ait Kullanıcı Resmi (Avatar)
TF|C Orgeneral
 
Üyelik Tarihi: 17.09.06
Şehir: bur$a
Mesajlar: 5.386
Karizma Puanı: 620
SportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant future
SportMan - MSN üzeri Mesaj gönder
Ce: Asp Nedir ve Temel Dersler

Metodlar

Response
nesnesinin bir çok metodu vardır; bunlardan .Write'ı yukarıdaki örneklerde sık sık kulandık:
Kod:

<%DIM Adi_SoyadiAdi_Soyadi = "Necip Fazıl Dayanır"Response.Write("Merhaba, benim adım, " & Adi_Soyadi)%>

örneği, ziyaretçinini Browser penceresine: "Merhaba, benim adım Necip Fazıl Dayanır" yazdırır. Fakat VBScript, size bir kolaylık sağlar; buna bazı ASP tasarımcıları "eşittir metodu" adını verir:
Kod:

<%DIM Adi_SoyadiAdi_Soyadi = "Necip Fazıl Dayanır"%><%= "Merhaba, benim adım, " & Adi_Soyadi %>
__________________
ATE$LE YAKLA$MAYIN!
TEHLİKELİ!!!


Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Alıntı ile Cevapla
  #22 (Daim)  
Alt 20.01.07, 18:10
SportMan - ait Kullanıcı Resmi (Avatar)
TF|C Orgeneral
 
Üyelik Tarihi: 17.09.06
Şehir: bur$a
Mesajlar: 5.386
Karizma Puanı: 620
SportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant future
SportMan - MSN üzeri Mesaj gönder
Ce: Asp Nedir ve Temel Dersler

Ö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. Kimi zaman ASP kodumuz sonuna kadar çalıştığında ziyaretçiyi başka bir sayfaya ve siteye yönlendirebilir. Bu gibi sebeplerle, özellikle çok işlem gerektiren ASP sayfalarının baştarafına bunu sağlayan kodu koymakta yarar olabilir:
Kod:

<%Option ExplicitResponse.Buffer = TRUE%>

Flush (hemen gönder): Buffer metodu sayfanın tümünün Script'in icrası bitmeden gönderilmesini önlerken, Flush bunun tam tersini yapar. ASP, Response nesnesinin Flush metodu kullandığımızı gördüğü anda, o ana kadar icra edilmiş kodun sonucu olan HTML'i Browser'a gönderir:
Kod:

<% Option Explicit Response.Flush %>

Clear (Boşalt): Buffer metodu ile Script'in sonunu beklerken geçici bir alanda tutulmakta olan HTML, Clear metodu ile temizlenir, yok edilir. Flush metodunda tampondaki HTML Browser'a gönderilir; ancak Clear metodu tampon bölgedeki herşeyi yok eder. Böyle "tehlikeli" bir metod neden vardır, ve nerede kullanılabilir? Bir çok yerde: ziyaretçinin sözgelimi elektronik alışveriş sitemizde alışverişten vazgeçtiğini belirtmesi üzerine tampon bölgede tutmakta olduğumuz ve alınan mallar listesini içeren HTML'i bu yöntemle temizleriz:
Kod:

<% Option Explicit Response.Clear %>

Expires (Süresi dolar): Kullanıcı tersine bir ayar yapmadıysa, Browser genellikle görüntülediği sayfaları Geçici Internet Dosyaları dizinine (cache) kaydeder ve tekrar aynı sayfayı görüntülemek istediğinizde sayfayı Internet'ten edinmek yerine kendi sabit diskinden alır. Oysa özellikle haber gibi süreli bilgilerin sunulduğu Web sitelerinde bu sitenin itibarını sarsar. ASP tekniğiyle bunu önleyebiliriz. ASP sayfamızda bu sayfanın gözgelimi 60 dakikadan fazla cache dizinde tutulmamasını sağlayacak Expires metodunu kullanabiliriz:
Kod:

<%Option ExplicitResponse.Expires = 60%>

Burada yazdığımız rakamı değiştirerek, sayfanın cache'de tutulacağı dakikayı değiştirebiliriz. "Expires = 0" sayfanın hiç saklanmamasını sağlar.
End (Son): Response nesnesinin o anda icra edilmekte olan Script'i durdurarak, o ana kadar ne elde edilmişse hepsini Browser'a göndermesini sağlayan metodu olan End, aynı zamanda Buffer metoduyla tutulan HTML'in de gönderilmesine yol açar. Bu metoddan sonraki HTML veya ASP kodları icra edilmez:
Kod:

<%Option ExplicitResponse.End%>

Response nesnesinin ASP sayfasının çıktı kontrolünü sağlayan bu metodlarını aşağıdaki eğlenceli Script'le sınayabilirsiniz (ASP ile eğlence de bundan daha fazla olamaz!). Burada Browser'a gitmesi ümidiyle üç cümle var. Programı çalıştırın ve bakalım hangisi ekranda kalacak? Bu kadar eğlendiğinize göre şu soruyu da yanıtlayabilirsiniz: Neden?
Kod:

<% @LANGUAGE = VBScript %><% Option Explicit Response.Buffer = TrueResponse.Expires = 60%><HTML><BODY>Bu 1 Numaralı mesajı mı Browser'a gidecek?<%Response.ClearResponse.Expires = 0%><HTML><BODY>Bu 2 numaralı mesaj mı Browser'a gidecek)<%Response.Flush%></BODY></HTML><%Response.End%>Bu 3 numaralı mesaj mı Browser'a gidecek?</BODY></HTML>
__________________
ATE$LE YAKLA$MAYIN!
TEHLİKELİ!!!


Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Alıntı ile Cevapla
  #23 (Daim)  
Alt 20.01.07, 18:10
SportMan - ait Kullanıcı Resmi (Avatar)
TF|C Orgeneral
 
Üyelik Tarihi: 17.09.06
Şehir: bur$a
Mesajlar: 5.386
Karizma Puanı: 620
SportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant future
SportMan - MSN üzeri Mesaj gönder
Ce: Asp Nedir ve Temel Dersler

Uygulama (Application) ve Oturum (Session) Nesnesi

ASP'nin varlık sebebi, standart CGI'ın yetersiz kaldığı noktalardan biri olan Web Server'ın her bir Web ziyaretçiyi oturumunun başından sonuna izleyebilmesi içindir, dersek durumu abartmış olmayız. ASP açısından, bir site "uygulama programı" (Application) sayılır. Her ziyaretçi de bir "oturum" (Session) sayılır. Bir takım ASP ve HTML sayfalarından oluşan bildiğimiz Site'ye application, her hangi bir ziyarete de session denmesinin sebebi nedir? Bunu her iki nesnenin işlevleri ile açıklayabiliriz.
Application nesnesi, sitenin tümüyle ilgili bilgileri (değişkenleri, nesneleri ve metodları) tutar; Session nesnesi ziyaretçinin sitemize girmesinden itibaren izini sürer. Diyelim ki bir borsa sitesi yaptınız; ziyaretçileriniz gelerek, satışa sunulan hisse senetlerinin değerlendirmelerini okuyacak ve size "Şu, şu hisse senetleri al!" diye talimat bırakacak. Bütün ziyaretçilerinizin erişeceği sadece bir veritabanınız var; buna karşılık her bir ziyaretçinin yapacağı farklı tercihler, vereceği farklı kararlar olacaktır. Application nesnesi, sitenizle (artık site yerine Web Uygulama Programı desek de ağzımız alışmaya başlasa!) veritabanına erişmekten tutun, alışverişlerie kadar sitede yapılacak bütün işlerin bütün kurallarını bilecek ve uygulayacak; Session nesnesi ise sözgelimi benim alışverişlerimi, tercihlerimi bilecektir.
HTML ve Javascript ile biraz oynadıysanız, bilirsiniz ki bir sayfadan ötekine değişken değeri aktarmak, imkansıza yakın derecede zordur. Değişkenlerin ömrü, fonksiyonla sınırlıdır. Bir ASP sayfasında herhangi bir değişkeni fonksiyon dışında tanımlamakla ve değer atamakla onu bütün fonksiyonlar için geçerli hale getirebiliriz. Fakat kimi zaman isteriz ki, bir fonksiyonun değeri bütün sayfalarda aynı olsun; ziyaretçinin sayfa değiştirmesi ile değişkenin değeri değişmesin. Bunu ASP'de yapmak çok kolaydır. ASP'de bu zorluğu yenebilmek için değişkenlerimizi Session nesnesi için oluşturabiliriz; ve bu değer ziyaretçinin oturumu boyunca devam eder; bütün ASP sayfalarındaki bütün Fonksiyonlar tarafından bilinebilir. Örneğin:
Kod:

Session ("Tupras") = 44500

bütün Session için geçerli bir Tupras değişkeni oluşturur ve ona "44500" değerini atar. Kimi zaman, değişkenin çok daha geniş kapsamlı olmasını, yani ömrünün Session ile değil bütün Application boyunca belirli olmasını isteyebiliriz. O zaman bu değişkeni Application düzeyinde tanımlayabiliriz:
Kod:

Application ("Tupras") = 44500

Bu durumda Tupras değişkeni bütün ziyaretçiler için aynı değere sahip olacakatır.
Session nesnesinin oluşabilmesi için, ziyaretçiye mutlaka bir Cookie göndererek, sitemizde (hani "Uygulama Programı" diyecektik?) bir işaret vermemiz gerekir. Daha önce, HTTP ile kurduğumuz bağlantı, belirsiz durum bağlantısıdır demiştik. Bu, Server'ın bir ziyaretçiye arzu ettiği sayfayı gönderdikten sonra, onu alıp almadığını, o sayfada ne tercihler yaptığını bilmemesi demektir. Oysa, ziyaretçiye sitemize bağlandığı anda bir Session kimliği verirsek ve her yeni sayfa talebinde bu kimliği kontrol edersek, kimin hangi oturumunu sürdürdüğünü biliriz. ASP-uyumlu bir Web Server, ziyaretçi yeni bir tercih yapmadığı taktirde her Session nesnesini 20 dakika açık tutar; sonra siler. Bu süreyi Session nesnesinin Timeout özelliği yoluyla değiştirebilirsiniz. Session belirleyen Cookie ASP-uyumlu Web Server tarafından otomatik olarak gönderilir ve takip edilir; tasarımcı olarak bizim bu konuda bir şey yapmamız gerekmez.
Bir Web programınıza aynı anda kaç kişi ulaşırsa (yani sayfalarınızı kaç kişi talep ederse), o kadar Session nesnesi oluşur; fakat siteniz bir adet olduğuna göre bir adet Application nesnesi vardır. Bu nesnenin bütün Session'lar için sitemizin ihtiyaçlarına uygun ve aynı uygulama kurallarına sahip olmasını sağlayan bir dosya vardır: Global.asa. Bu dosya PWS veya IIS kurulurken oluşturulur. ASP ile Web programlarınızı, örneğin MS Visual Studio ile oluşturuyorsanız, program sizin için seçtiğiniz dizinde bir Global.asa dosyası oluşturacaktır. Bu dosyada, çoğu zaman, sitemize ilk ziyaretçinin gelmesiyle oluşan Application_OnStart ve son ziyaretçinin çıkmasıyla oluşan Application_OnEnd ile herhangi bir ziyaretçinin bir sayfaya erişmesiyle oluşan Session_OnStart ve ziyaretçinin sitemizden çıkması ile oluşan Session_OnEnd olayları halinde ne yapılacağı yazılıdır. Bu dosyanın içeriği standart bir ASP dosyasına benzemekle birlikte adındaki uzatmanın .asp değil de .asa olmasının sebebi, dosyanın Active Server Application dosyası olmasıdır. ASP-uyumlu bir Web Server programı sitemize ulaşan ilk ziyaretçiyi gördüğü anda Global.asa dosyasını çalıştırır.
Application ve Session nesnelerin kendi başlarına en çok kullanıldığı yer, sitemize gelen ziyaretçilerin sayısını (sitemizin aldığı Hit sayısını) tutmasını sağlamaktır. Bu genellikle Global.asa pogramına bir sayaç yerleştirilerek yapılır.
__________________
ATE$LE YAKLA$MAYIN!
TEHLİKELİ!!!


Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Alıntı ile Cevapla
  #24 (Daim)  
Alt 20.01.07, 18:11
SportMan - ait Kullanıcı Resmi (Avatar)
TF|C Orgeneral
 
Üyelik Tarihi: 17.09.06
Şehir: bur$a
Mesajlar: 5.386
Karizma Puanı: 620
SportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant future
SportMan - MSN üzeri Mesaj gönder
Ce: Asp Nedir ve Temel Dersler

ActiveX Veri Erişim (ADO) Nesneleri

ASP'nin diğer CGI tekniklerine göre kolay olmasının (peki, kabul, "kolay görünmesi" diyelim!) belki de sadece veri erişimini adeta çocuk oyuncağı haline getirmesidir. ADO, gerçekte bir ASP nesnesi olmaktan çok Server Component'i (sunucu bileşeni) sayılır. Bu bileşene biz ASP içinden bir ActiveX nesnesi ile ulaşırız.
Veritabanı, günümüzde giderek Web Programlarının temelini oluşturuyor. Sayfaların unsurları veritabanı dosyasından alınıyor; ziyaretçilerin verdikleri bilgiler veritabanına yazılıyor. Bu gelişimin başlıca sebebi, veritabanının site güncelleştirme işlerini kolaylaştırmasıdır. Söz gelimi bir sayfadaki seçenekleriniz, bir veritabanından alınıyorsa, bu seçenekleri alan VBScript kodu hiç değişmeden kalacak ve siz sadece veritabanı dosyanızda ilgili verinin alındığı alana yeni değerler girerek, sayfanızı sürekli güncel tutmuş olacaksınız. Bir diğer sebep ise veritabanı dosyalarının idaresinin kolay olmasıdır. Sözgelimi ziyaretçilerinizden aldığınız bilgileri daha sonra muhasebe kayıtlarınıza veya adres defterinize, müşteri kütüğüne ya da başka suretle kayda geçirmek istiyorsunuz. Ziyaretçilerimizin form yoluyla bize ilettiği bilgileri düzyazı dosyasına işlemenin yollarını Dosya sistemi Nesnesi'ni (FileSystem) görürken, ele aldık. Bunu yapabiliriz kolayca. Ama daha sonra düz yazı dosyasının idaresi, veritabanının idaresi kadar kolay olamaz. ASP sayfalarınız Access, Excel, Paradox, FilePro, SQL Server ve Oracle veritabanlarına ve spreadsheet dosyalarına erişebilir; bu dosyalardan veri okur ve bu dosyalara veri yazabilir. Özetle, ASP programlarımızla, SQL-uyumlu veya Windows ve diğer sistemler için yazılmış ODBC (Open Database Connectivity/Açık Veritabanı Bağlantısı) ile uyumlu her türlü dosyaya, ADO nesnesi aracılığıyla ulaşabiliriz.
__________________
ATE$LE YAKLA$MAYIN!
TEHLİKELİ!!!


Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Alıntı ile Cevapla
  #25 (Daim)  
Alt 20.01.07, 18:12
SportMan - ait Kullanıcı Resmi (Avatar)
TF|C Orgeneral
 
Üyelik Tarihi: 17.09.06
Şehir: bur$a
Mesajlar: 5.386
Karizma Puanı: 620
SportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant future
SportMan - MSN üzeri Mesaj gönder
Ce: Asp Nedir ve Temel Dersler

Şimdi ADO ile aşağıda yapacağımız küçük örnekler için bilgisayarınızda kurulu bir veritabanı programı varsa onu kullanarak bir veritabanı dosyasında uyeler adıyla şu tabloyu oluşturabilirsiniz:

Alan Adı: Veri türü
uyeNo AutoNumber (Birincil Anahtar/Primary Key)
uyeAdi metin
uyeSoyadi metin
email metin
mesaj metin

Daha sonra da renkler adıyla şu tabloyu yapın:
Alan Adı: Veri türü renkID AutoNumber (Birincil Anahtar/Primary Key)
renk metin
Bu tablolardan birincisine bir kaç isim ve diğer bilgileri; ikincisine ise dört-beş renk adı girin. Bilgisayarınızda veritabanı oluşturma programı yoksa bu kitapçığın kodları arasında bulunan uyeler.mdb adlı MS-Access dosyasını kullanabilirsiniz. Bu dosyayı, kişisel Web Server'ınızın kök dizinine kopyalayın. Sonra, Denetim Masası'nı açın ve adı ODBC, ODBC 32 Bit, ya da ODBC Data Source olan simgeyi çalıştırın; ikinci sekme olan System DSN'i tıklayın.

Açılacak kutuda Add/Ekle düğmesini tıklayarak, yeni veri kaynağı oluşturmak için ilk adım olan veriyi okumakta kullanacağımız sürücüyü seçebileceğimiz kutunun açılmasını sağlayın. Burada, yukarıda oluşturduğunuz veri dosyasına uygun sürücüyü seçin. Örnek uyeler.mdb'yi kullanıyorsanız, birinci seçenek olan Microsoft Access Driver'ı seçmeniz gerekir. Son düğmesini tıklayın ve Access dosyasının kurulumunu yapmaya başlayalım. Buradaki Data Source Name (DSN, Veri Kaynak Adı), biraz sonra ADO nesnesiyle ilgili metodları ve deyimleri yazarken kullanacağımız veri adıdır; buraya "uyeler" yazın; çünkü örneklerde bu veriye "uyeler" adıyla gönderme yapacağız. İsterseniz, Description/Açıklama bölümüne veritabanının niteliğini belirten bir kaç kelime yazabilirsiniz. Sonra, Select/Seç düğmesini tıklayarak ve açılıcak diyalog kutusu yardımıyla veritabanı dosyasını kopyaladığınız yerde bulun; OK/Tamam'ı tıklayarak, veritabanı seçme işlemini tamamlayın.

DSN oluşturma kutularını sırasıyla OK/Tamam düğmelerini tıklayarak kapatın; "uyeler" verisi, şu andan itibaren bütün Web uygulamalarımızın hizmetine girmiş demektir. Internet sitenize koyacağınız ve veritabanına erişmesi gereken sayfalarınız için bu işlemi gerçek Internet ortamında da yapmak zorundasınız. Veritabanı dosyanızı Internet sitenizde kök dizinine veya bir diğer dizine kopyaladıktan sonra sistem yöneticisine ya elektronik mektupla, ya da evsahibi firmanın yönetim ve teknik destek yardımı sağlayan sayfasında veritabanınızın dosya adını, yolunu, ve DSN olarak kullanmak istedeğiniz ismi bildirerek, bizim burada yaptığımız işi Server yöneticisinin yapmasını sağlamamız gerekir. ADO'nun bize sağladığı imkanlardan yararlanabilmek için onun nesnelerini kullanılırız. Bu bölümde ADO'nun nesneleri ve metodlarını ele alacağız.
__________________
ATE$LE YAKLA$MAYIN!
TEHLİKELİ!!!


Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Alıntı ile Cevapla
  #26 (Daim)  
Alt 20.01.07, 18:14
SportMan - ait Kullanıcı Resmi (Avatar)
TF|C Orgeneral
 
Üyelik Tarihi: 17.09.06
Şehir: bur$a
Mesajlar: 5.386
Karizma Puanı: 620
SportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant future
SportMan - MSN üzeri Mesaj gönder
Ce: Asp Nedir ve Temel Dersler

Connection (Veritabanına Bağlantı)

ADO'dan yararlanabilmek için kullanacağımız ilk nesne Connection'dır. Bu nesne ile veritabanı ile bağlantı sağlarız, yol açarız:
Kod:

<%Dim VeriyoluSet Veriyolu = Server.CreateObject("ADODB.Connection")Veriyolu.Op en "Veri_adi"%>

Burada, Server'ın CreateObject metodu ile ADOBD.Connection nesnesini oluşturuyoruz. Oluşturduğumuz bağlantıya istediğimiz değişken adını verebiliriz. Bu örnekte veriye kurduğumuz bu bağlantı Veriyolu adıyla biliyor. Bu yolla sağlayacağımız veriler, ASP programı boyunca bir isimle bilinmelidir. Veriyolunun açacağı veri kümesinin ismini buradaki "Veri_adi" kelimelerinin yerine yazarız. Bu isim, bağlantının .Open metodu ile açacağı verinin adıdır. Bu, kullanacağımız veritabanı dosyasının adı değildir. Bu isim ile söz konusu veritabanı dosyasını işletim sisteminin ODBC aracına tanıtırken kullandığınız isim aynı olmalıdır. Bir veritabanı dosyasını ODBC aracını kullanarak sisteme tanıtma (DSN-Data Source Name) ayarının nasıl yapıldığını daha önce ele aldık. Bu üç satırla, ASP programı, Server'dan ADO aracılığıyla, sistemin "Veri_adi" kelimelerinin yerine yazacağınız isimli veriye yol açacaktır. Örneğin yukarıdaki kutuda oluşturduğumuz ODBC veri kaynağını kullanacağımız zaman, buraya "uyeler" kelimesini yazacağız.
__________________
ATE$LE YAKLA$MAYIN!
TEHLİKELİ!!!


Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Alıntı ile Cevapla
  #27 (Daim)  
Alt 20.01.07, 18:14
SportMan - ait Kullanıcı Resmi (Avatar)
TF|C Orgeneral
 
Üyelik Tarihi: 17.09.06
Şehir: bur$a
Mesajlar: 5.386
Karizma Puanı: 620
SportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant future
SportMan - MSN üzeri Mesaj gönder
Ce: Asp Nedir ve Temel Dersler

Recordset (KayıtDizisi)

Veritabanına bağlantıyı oluşturduktan sonra, buradaki tabir yerindeyse ham verileri, kullanılır kayıtlar haline getirmemiz gerekir. Bunu ise ADO'nun Recordset nesnesi sağlar. Kurduğumuz veriyolundan programımıza bilgi gelmesi için .Execute (icra et) metodunu kullanırız; ancak bu komuta icra edeceği bir komut vermemiz gerekir.
Baştan beri ADO ile kullanabileceğimiz veritabanının SQL (sequyel okunur; Structured Query Language/Yapısal Sorgu Dili) uyumlu olması gerektiğini söylüyoruz. Bu dil, verilerin sabit diske yazılması ve okunmasını düzenleyen bir çok veritabanı dilinden sadece biri, fakat en yaygınıdır. 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.
__________________
ATE$LE YAKLA$MAYIN!
TEHLİKELİ!!!


Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Alıntı ile Cevapla
  #28 (Daim)  
Alt 20.01.07, 18:15
SportMan - ait Kullanıcı Resmi (Avatar)
TF|C Orgeneral
 
Üyelik Tarihi: 17.09.06
Şehir: bur$a
Mesajlar: 5.386
Karizma Puanı: 620
SportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant future
SportMan - MSN üzeri Mesaj gönder
Ce: Asp Nedir ve Temel Dersler

Hızlı SQL Kursu: Select

ASP amaçlı olarak kullanacağımız komut gerçekte sadece SELECT'tir. Fakat hatırlamamız gereken veritabanı ilkeleri var. Bir veritabanı kabaca alanlar (sütunlar) ve bunların içinde yazılı değerler (satırlar) halinde olur; her satır bir elemanın değerleridir; ve Kayıt adını alır.
Bir veritabanından veri seçmeye yarar. SQL Sorgusu da denir. Dört bölümü vardır. Tipik bir SELECT komutu şöyle yazılır:
Kod:

SELECT alan1, alan2.. FROM tablo WHERE koşul = değer ORDER BY alan1

Seçilecek alanların adı SELECT komutunun ilk bölümünü oluşturur. Bir veritabanında birden fazla tablo bulunabilir; seçimin hangi tabloda yapılacağı FROM bölümünde gösterilir. Kimi zaman bir tablodaki alanda bulunan bütün kayıtları seçmek isteyebiliriz; fakat çoğu zaman seçimin sınırlarını daraltmak için sözgelimi bir alandaki değerlerin vereceğimiz bir koşula uymasını isteyebiliriz. Bu durumda "koşul = değer" testini WHERE bölümünde yaparız. Seçilen değerlerin hangi alandaki kayıtlara göre sıralanmasını istiyorsak, ORDER BY bölümünde bunu belirtelibiliriz. Örnek:
Kod:

SELECT Adi, Soyadi, TelNo FROM Telefonlar WHERE Alankodu = 0535 ORDER BY Adi

Bu komutla veritabanının Telefonlar isimli tablosundan Adi, soyadi ve TelNo adlı sütunlarındaki kayıtlardan Alankodu sütunundaki değeri "0535" olanları seçmiş oluruz. Bir tablodaki bütün alanların bütün değerlerini seçmek için SELECT komutunu şöyle yazarız:
Kod:

SELECT * FROM Veri_adi

Buradaki "Veri_adi" kelimelerinin yerine DSN'e verdiğiniz adı (orneğin yukarıdaki örnekte olduğu gibi, "uyeler" kelimesini) yazacaksınız. SQL'in INSERT, UPDATE ve DELETE komutlarının nasıl kullanıldığını öğrenirseniz, ADO nesnesinin bunlara denk gelen ve aşağıda nasıl kullanıldıklarını göreceğimiz yeni kayıt ekleme, kayıtları güncelleme ve silme metodları yerine kendi SQL komutlarınızı yazabilirsiniz.
__________________
ATE$LE YAKLA$MAYIN!
TEHLİKELİ!!!


Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Alıntı ile Cevapla
  #29 (Daim)  
Alt 20.01.07, 18:36
SportMan - ait Kullanıcı Resmi (Avatar)
TF|C Orgeneral
 
Üyelik Tarihi: 17.09.06
Şehir: bur$a
Mesajlar: 5.386
Karizma Puanı: 620
SportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant future
SportMan - MSN üzeri Mesaj gönder
Ce: Asp Nedir ve Temel Dersler

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.
.Recordset metodu, ile bir veritabanını okuyacak imleci üç şekilde ayarlayabilirsiniz:


Static:(Duragan)SELECT komutu icra edilir ve okunan kayıt arzu ettiğiniz değişkene yazılır. (ADO Sabit Değerleri dosyasınıdan yararlanıyorsak, adOpenStatic)



Forward only:(Sadece ilerle) İmleç veritabanı içinde sadece ileri doğru gider ve her seferinde bir kayıt okunur. (Varsayılan imleç türü budur.) (ADO Sabit Değerleri dosyasınıdan yararlanıyorsak, adOpenForwardonly)


Dynamic:(Dinamik) Veritabanına ulaşan ve değişiklik yapan başka bir kullanıcı varsa, bu değişiklik size anında yansıtılır. (ADO Sabit Değerleri dosyasınıdan yararlanıyorsak, adOpenDynamic)

Bu yöntemlerden birini seçmekle veriyi belirli bir okuma tarzında açmış olursunuz. Bu yöntemlerden hangisini seçtiğinizi .Recordset metodunu kullanacak olan .Open komutunun argümanı olarak açıkça belirtmeniz gerekir. ADO, bunun için sizden sayılar halinde argümanlar ister.
__________________
ATE$LE YAKLA$MAYIN!
TEHLİKELİ!!!


Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Alıntı ile Cevapla
  #30 (Daim)  
Alt 20.01.07, 18:37
SportMan - ait Kullanıcı Resmi (Avatar)
TF|C Orgeneral
 
Üyelik Tarihi: 17.09.06
Şehir: bur$a
Mesajlar: 5.386
Karizma Puanı: 620
SportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant futureSportMan has a brilliant future
SportMan - MSN üzeri Mesaj gönder
Ce: Asp Nedir ve Temel Dersler

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. Bunlar arasında en yaygın olanı (bu kitapçığın kodları arasında bulunan) Microsoft'un ADOVBS (adovbs.inc) dosyasıdır. (Aynı dosyanın JavaScript sürümü ise adojavs.inc ardını taşır). Bu dosyadan yararlanabilmek için, sitenize kopyalamanız ve daha sonra sayfalarınıza şu kodu eklemeniz gerekir:
Kod:

<!- - #include file="adovbs.inc" - - >

Bu dosya, Server tarafından icra edilir ve ADO nesnesinin sayı halindeki bütün
argümanlarını anlaşılabilir İngilizce kelimelere çevirir. Bu dosyanın içeriğinden
nasıl yararlanacağımızı ele alacağız.


Bir veriye bağlantıyı kurduktan sonra kayit dizimizi .Recordset metodu

ile sağlayacaksak, yukarıdaki örnek kodumuzu şöyle yazmak gerekir:
Kod:

<!- - #include file="adovbs.inc" - - ><%Dim Veriyolu, Kayitdizisi, SorguSet Veriyolu = Server.CreateObject("ADODB.Connection")Veriyolu.Op en "Veri_adi"Set Kayitdizisi = Server.CreateObject("ADODB.Recordset")Sorgu = "SELECT * FROM Veri_adi"Kayitdizisi.Open Sorgu, Veriyolu, aOpenStatic%>


Bu kod ile, .Recordset metodu son .Open komutu ile bizim için veri bağlantısını sağlar; verdiğimiz SQL Sorgusu icra edilir ve kayıt diziniz Kayitdizisi'ne kaydedilmeye hazır hale gelir. Şimdi imlecinizi ilerleterek, veriyi fiilen okutmanız gerekir; ki bunu yapmak için yukarıda kolayca .Execute metodu ile oluşturduğumuz kayıt dizisinde kullandığımız basit .MoveNext'ten daha çok imkana sahibiz: MoveFirst: Kayıt dizisinin (Recordset'in) birinci satına gider.

MoveLast: Kayıt dizisinin (Recordset'in) son satına gider.

MoveNext: Kayıt dizisinin (Recordset'in) bir sonraki satına gider.

MovePrevious: Kayıt dizisinin (Recordset'in) bir önceki satına gider.

Move: Kayıt dizisinin (Recordset'in) içinde vereceğiniz sayıya göre ilerler. Bunun için iki sayı vermeniz gerekir: başlangıç noktası ve ilerlenecek kayıt sayısı.
__________________
ATE$LE YAKLA$MAYIN!
TEHLİKELİ!!!


Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Alıntı ile Cevapla
Cevapla

Go Back   Payidar.NET - Bilgi ve Paylaşım Forumu > Internet > Web Master Dünyası > Web Tasarım Dersleri


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Konu Seçenekleri
Gösterim Modu

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık

Hizli Erisim