tag:blogger.com,1999:blog-23379425990499809122008-07-24T06:01:03.699-07:00Asp Web Programlama Derslerigoogleyecevaplarnoreply@blogger.comBlogger32125tag:blogger.com,1999:blog-2337942599049980912.post-46358312731964792522008-02-16T15:25:00.000-08:002008-07-24T05:30:09.068-07:00ASP Nedir Nasıl Çalışır<h4>ASP (Active server pages / Aktif Sunucu Sayfaları)</h4> <br>ASP bir Microsoft teknolojisidir. <br> <br>Sunucu taraflı bir teknoloji olan ASP, kullanıcı tarafına etkileşimli, dinamik Web sayfaları göndermek için kullanılır. ASP, Web programcılarına HTML, scripting ve kullanıcıdan bağımsız veritabanı uygulamalarını özgürce kullanma fırsatı verir. ASP programlama ortamının özgür olmasının sebebi tüm derleme işleminin sunucu tarafında bitmesi ve kullanıcının sadece sonuçta oluşan HTML sayfalarını görmesidir.<br> <h4>ASP NASIL İŞLİYOR?</h4> Tarayıcıya açmasını istediginiz dosyanın adresini yazıp çagırdığımızda (Sunucu) kendisinden icra etmesini istediğiniz dosyayı arar bulur ve eğer bulursa, bu dosyayı hemen &quot;asp.dll&quot; adlı bir programa iletir. asp.dll'de aldığı bu dosyayı hemen yorumlamaz. &quot;Global.asa&quot; adlı dosyanın çalışıp çalışmadığını kontrol eder. <br> <br>Asp.dll önce gelen dosyada hangi script dilinin kullanıldığına bakar. Ve buna göre kendini hazırlar. Asp.dll sonra bu derlediği bilgileri, tamamen asp kodlarından ayrılmış, temiz bir halde browser'a gönderir. Bizde böylece sadece HTML kodlarını görürüz. <br> <br>Kendi bilgisayarınızda asp kodlarınızı çalıştırabilmeniz için eger NT tabanlı bir işletim sistemi kullanıyorsanız bilgisayarınıza IIS kurmalı ve asp dosyalarınızı ISS kurduktan sonra oluşan C:\Inetpub\wwwroot klasörune yerleştirmelisiniz.<br> <br>Internet browser programınız açıktan sonra adres satırına localhost\deneme.asp yazıp enter derseniz deneme.asp dosyanız ISS tarafından işlendikten sonra browser’ e yollanacaktır.<br>googleyecevaplarnoreply@blogger.comtag:blogger.com,1999:blog-2337942599049980912.post-76529353768821000102008-02-16T15:11:00.001-08:002008-07-24T05:36:44.518-07:00Değişkenler Değişken Kullanma<h4>DEGİŞKENLER</h4> <h4>DEGİŞKEN BİLDİRİMİ</h4> VBScript'te degiskenler için esneklik had safhadadir. Degisken bildirim zorunlulugu bulunmamaktadir. Ve buna bağli olarak degişken türü bildirimi de yoktur. <br> <br>Degişkenleri tanımlamak istiyorum diyorsanız Bunu DIM komutunu kullanmalısınız. DIM, Dimension (boyutlandır) kelimesinden kısaltılmıştır.<br> Değişkenlere verilecek ismimlerin anlaşılır olması programın okunulurluğunu kolaylaştırır. Ayrıca değişken tanımlamaları ile ilgili bazı kurallar mevcuttur. Bu kurallar aşağıda verilmiştir:<br> 1- Değişken ismi bir harf ile başlamalıdır<br> Ad1,Ad2 şeklinde değişken tanımı yapılabilir fakat 1Ad veya 2Ad kullanımı yanlıştır.<br> <br>2-Değişken isminde boşluk bulunamaz. Bunun yerine alt çizgi karakteri kullanılabilir.<br> Adi_Soyadi doğru kullanımdır. Değişken isimlerinde türkçe karekterler kullanılmaz.<br> 3-Değişkene verilecek isim Vbscript komutlarını içeremez<br> Dim bir değişken ismi olamaz.<br> <br> 4-Değişken ismi 255 karakterden fazlada olamaz.<br> <br> <div style="border: 1px dashed black; padding: 10px; background: #eeeeee none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" > &lt;%<br> DIM Gun, Ay, Ogrenci, Not<br> Gun = &quot;Sali&quot;<br> Ay = &quot;Mart&quot;<br> Ogrenci = &quot;Selcuk&quot;<br> Not = 5<br> %&gt;</div> <br> Bir ASP sayfasının birinci satırı olarak <br> <br> <div style="border: 1px dashed black; padding: 10px; background: #eeeeee none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" > &lt;% OPTION EXPLICIT %&gt;</div> <br>yazarsanız size tanımlamadığınız değişkenleri tanımlamadan programınızı çalıştırma izni vermeyecektir. <br> <br>Ayrıca değişken adını yazarken hata yapmanızı önlemektir. VBScript sizin hata yaptığınızı bilemeyeceği için yanlış kelimeyi yeni bir değişken sayacaktır. Değer atamadığınız bu yeni değişkeni kullandığınız yerlerde ya programınız hata verir, ya da kendisine doğru görünen işlemler yapar, fakat beklediğiniz sonucu elde edemezsiniz. OPTION EXPLICIT, yanlış yazdığınız değişkeni yeni değişken sayarak önceden tanımlanmamış değişken kullandığınızı düşünerek, duracaktır.<br> <h4>SABİT DEĞERLER</h4> VBScript'te bir kere verdiğiniz değeri hiç değişmeyen unsurlar vardır. Sabit değer, bütün ASP sayfası boyunca (hatta isterseniz, bütün site, yani Uygulama boyunca) değişmeden kalır. Bu değerleri Const (constant, sabit kelimesinden türetilme) komutuyla belirtiriz: <br> Const Deger = 123654 <br> Const SirketinAdi = &quot;Freelancer Web Tasarım &quot; <br> Const Slogan = &quot;WebMastering&quot; <h4>DİZİ DEĞİŞKENLERİ</h4> Verilerin ard arda tutulmasını sağlayan değişkenlere diziler diyoruz.Şimdi örnek olarak 5 elemanlı bir dizi oluşturalım.<br> <br> <div style="border: 1px dashed black; padding: 10px; background: #eeeeee none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" > &lt;%<br> Dim dizi(4)<br> %&gt;</div> <br>burada dikkat edeceğiniz husus 5 elemanlı bir dizi için &quot;4&quot; sayısı yazılması.Bunun nedeni dizi indisi dediğimiz değerler 0 dan başlar.Böylelikle 0-1-2-3-4 diye saydığımızda 5 elemanlı bir dizi elde etmiş oluruz.İkinci örnek olarak 10 elemanlı bir dizi tanımlamamız gerektiğinde dizi(9) yeterli olacaktır.<br> <br>Şimdi 5 elemanlı bir dizi tanımladık fakat bu 5 elemanında tuttuğu herhangi bir değer yok.Bunlara bi değer atayacaksak bunu 2 yöntem ile yapabiliriz.Ya direk olarak dizi indislerini belirtiriz yada diğer yöntem olarak bir seri şeklinde verileri gireriz.<br> <br>Örnek :<br> İndis belirterek değer atama<br> <br> <div style="border: 1px dashed black; padding: 10px; background: #eeeeee none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" > &lt;%<br> dizi(0) = &quot;Mete Kaan&quot;<br> dizi(1) = &quot;Alp Uygur&quot;<br> dizi(2) = &quot;Atila Yayla&quot;<br> dizi(3) = &quot;Tuncay Efe&quot;<br> dizi(4) = &quot;Cengiz Orhan&quot;<br> %&gt;</div> <br> Seri şekilde değer atama<br> <br> <div style="border: 1px dashed black; padding: 10px; background: #eeeeee none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" > &lt;%<br> dizi = Array(&quot;Mete Kaan&quot;,&quot; Alp Uygur&quot;,&quot; Atila Yayla&quot;,&quot; Tuncay Efe&quot;,&quot; Cengiz Orhan &quot;)<br> %&gt; </div> <h4>REDİM :</h4> Bazen dizinin yeninden boyutlandırma ihtiyacı duyabilirsiniz. Bunu Redim ile diziyi yeniden boyutlandırabiliriz. Unutulmaması gereken nokta dizinin yeniden boyutlandırılmasında eski datalar dizi içerisinden silinir. Eski verileri kullanmak istersek rendim prereserve komutu kullanılmalıdır.<br> ReDim dizi(15)<br> rendim prereserve dizi(15) <h4>ÇOK BOYUTLU DİZİLER </h4> Bazı uygulamalarda matris yapısında dizi tanımlamalarına ihtiyaç duyulabilir. Böyle durumlarda çok boyutlu dizi tanımları kullanılabilir. Çok boyutlu dizi tanımı kullanılacak dizinin boyutları verilmek süreti ile gerçekleştirilebilir. <br> <br> <div style="border: 1px dashed black; padding: 10px; background: #eeeeee none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" > &lt;%<br> Dim dizi(2,2)<br> %&gt;</div> <br>Değer atamasını da yapabiliriz.Burada bilmemiz gereken 1,1 1,2 ilk değerin X ikinci değerin Y koordinatında ilerlediğidir.<br> <br> Buna göre değer atayacak olursak<br> <br> <div style="border: 1px dashed black; padding: 10px; background: #eeeeee none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" > &lt;%<br> <br>dizi(1,1) = 1<br> dizi(1,2) = 2<br> dizi(2,1) = 2<br> dizi(2,2)= 1<br> <br> %&gt;</div> <br> <div style="border: 1px dashed black; padding: 10px; background: #eeeeee none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" > &lt;%<br> Dim dizi (3,3) <br> %&gt; </div> <br> Şeklinde bir tanımlama 3 X 3 boyutlarında bir dizi oluşturur bu diziye atama yapılmak istenildiğinde ise: <br> <br> <div style="border: 1px dashed black; padding: 10px; background: #eeeeee none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" > &lt;%<br> dizi (0,0)=&quot;test&quot; <br> dizi (0,1)=&quot;deneme&quot; <br> dizi (0,2)=&quot;test2&quot; <br> dizi (1,0)=&quot;deneme2&quot; <br> dizi (1,1)=&quot;111-23-4&quot; <br> dizi (1,2)=&quot;iskender&quot; <br> %&gt; </div> <h4>DEGISKENLERDE VERI TÜRLERI</h4> <br>VBScript integer, real, string, boolean vs.. türü temel veri tipi tanimlamalarindan yoksun bir dildir. Değişkenin hangi türde olduğunu o degişkene yaptıgınız atama ile anlar.<br> <br>Örnek :<br> <br>degisken_1 = 15<br> degisken_2 = &quot;15&quot;<br> degisken_3 = &quot;Zeytinyagli yiyemem amaan, basma da fistan giyemem aman.&quot;<br> degisken_4 = true<br> degisken_5 = Sen Turgay , daglarin kartali, bir yanim biçak yarasi bir<br> <br>degisken_1 ; sayısal tipte degişken olacaktır.<br> degisken_2 ; “ “ işaretleri kullanıldıgından sayısal degil, alfa-sayısal bir tipte degişken oldu.<br> degisken_3 ;. String tipte bir degişken olur<br> degisken_4 ; boolean tipte bir degişken olur<br> degisken_5 ; “ “ işareti kullanılmadığından gerçeli bir atama olmaz ve hata verir. <h4>VERİ TİPLERİ</h4> <h4>VARIANT:</h4> Vbscript dilinde kullanılacak değişkenleri barındıracak ve bunlar için gerekli adres alanını ayarlayacak bir tip veri tipi bulunur. Bu değişken tipi variant olarak adlandırılır. Variant veri tipi değişkene atanan değere göre kullanılan veri tipini otomatik olarak kendisi belirler. Variantın tipi atancak değere bağlı olarak değişir ayrıca kullanılan bu değişkenlere atanan veri doğal olarak verinin tipide program sırasında değişebilir. Aşağıda ki örneğe göz atalım:<br> <br> 1- Byte<br> 1 Baytlık işaretsiz tamsayı tipidir. 0 ile 255 arasında değer alabilir.<br> 2-Integer<br> 2 Baytlık işaretli tamsayı tipidir. -32.768 ile 32.767 arasında değer alabilir.<br> 3-Long<br> 4 Baytlık işaretli tamsayı tipidir. -2.147.483.648 ile 2.147.483.647 arasında değer alabilir. <br> 4-Long<br> 4 Baytlık ondalık sayı tipidir. +- 3.402923 X 10 38 ile +- 1.401298 X 10-45 arasında değer alabilir. <br> 5-Double<br> 8 Byte lık ondalık sayı tipidir. +- 1.79769313486232 X 10308 ile +-4.94065645841247 X 10-324 arasında değer alabilir.<br> 6-String<br> Karakter sınırı verilmezse 2 milyar karaktere kadar atama yapılabilen sayısal olmayan veri tipidir. Bu tip karakter sayısı +10 byte yer kaplar. String bir veri tipi oluşturmak için değişkene atanacak değer &quot; &quot; işaretleri içerisinde yer almalıdır.<br> Adi=&quot;Gökhan&quot;<br> 7-Date<br> 8 byte yer kaplayan bu değişkene 1/1/100 ile 31/12/9999 arasındaki tarih ve 0:00:00 ile 23:59:59 arasındaki saat atmaları yapılabilir. Bu tipteki değişkenlere atama string veri tipinde olduğu gibi veya # # karakterleri arasında yapılabilir.<br> Dogum_tarihi=#17/07/1979#<br> 8-Boolean<br> 2 byte lık bir veri tipi olmasına rağmen sadece True veya False değerleri alabilir. Yani daha çok iki durumlu değişkenlerde kullanılır. Bu tipten tanımlanan değişkenlere direkt True veya False atanabileceği gibi sayısal değerlerde atanabilir.. Atanan sayı 0 ise False, değilse True kabul edilir.<br> Evli=True<br> Evli=1 <h4> VERİ TİPİ DEĞİŞTİRME İŞLEMLERİ</h4> Bazen program içerisinde atnımlanmış veya içeriğine bir değer atanmış bir tipdeki değeri başka bir tipe değiştirme ihtiyacı duyulabilir. Bir veri itpini bir değerden diğerine çevirmek için kullanılabilecek veri dönüşüm fonksiyonları aşağıda verilmiştir.<br> Ccur (ifade) :Parantez içinde verilen ifadeyi Currency veri tipine dönüştürür.<br> <br>Cdbl (ifade) :Parantez içinde verilen ifadeyi Double veri tipine dönüştürür.<br> <br>Cint (ifade) :Parantez içinde verilen ifadeyi Integer veri tipine dönüştürür.<br> <br>Clng (ifade) :Parantez içinde verilen ifadeyi Long veri tipine dönüştürür.<br> <br>CVar (ifade) :Parantez içinde verilen ifadeyi Variant veri tipine dönüştürür.<br> <br>CBool (ifade) :Parantez içinde verilen ifadeyi Booolean veri tipine dönüştürür.<br> <br>CByte (ifade) :Parantez içinde verilen ifadeyi Byte veri tipine dönüştürür.<br> <br>CDate (ifade) :Parantez içinde verilen ifadeyi Date veri tipine dönüştürür.<br> CStr(ifade) : Parantez içinde verilen ifadeyi integer alt tipine dönüştürür <h4>ASP de String Fonksiyonlar </h4> <br>Degisken =” ASP Ögreniyorum”<br> <h4>InStr</h4> Karakter dizilerinin içinde baska bir karakter dizisini veya karakteri sorgulamaya yarayan bir komut olan InStr, bulunup bulunmadigini, bulunursa kaçıncı karakter veya başlama noktasından itibaren kaçıncı karakterde başladıgına dair bilgileri verir. <br> <br> Örnegin<br> <br> <div style="border: 1px dashed black; padding: 10px; background: #eeeeee none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" > &lt;%<br> <br>Dizi = &quot;ASP kursu içerisinde VBScripti isliyoruz&quot;<br> AranacakStr = &quot;VB&quot;<br> <br>Kacinci = InStr(Dizi, AranacakStr)<br> <br>Response.Write Kacinci<br> <br> %&gt;</div> <br>Burada ekranımızda görünecek olan sayi 22’dir. &quot;VB&quot; yazisi Dizi degişkeninde 22. karakterden başlamaktadır. InStr’nin bir diger kullanimi ise, hangi karakterden sonra başlayacagimizdir. <h4>Len(KarakterDizisi)</h4> Bir karakter dizisinin kaç harf veya karakterden olustugunu vermektedir.<br> <br> Örnegin: <br> <br> <div style="border: 1px dashed black; padding: 10px; background: #eeeeee none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" > &lt;% Dizi = &quot;Erciyes&quot;<br> Response.Write Len(Dizi)<br> %&gt; </div> <br>Ekrana 7 olarak yansiyacaktir. <h4>Ucase</h4> Vereceğiniz bir String'in tüm karakterlerini büyük harfe çevirir. <br> <br> <div style="border: 1px dashed black; padding: 10px; background: #eeeeee none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" > &lt;%<br> YeniString = UCase(Degisken)<br> %&gt;</div> <br>Yeni String'in değeri: &quot;ASP OGRENIYORUM&quot; olacaktır. <h4>Lcase</h4> Vereceğiniz bir String'in tüm karakterlerini küçük harfe çevirir. <br> <br> <div style="border: 1px dashed black; padding: 10px; background: #eeeeee none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" > &lt;%<br> YeniString = LCase(Degisken)<br> %&gt; </div> <br>Yeni String'in değeri: &quot;asp ögreniyorum” olacaktır. <h4>LTrim, RTrim, Trim</h4> Verdiğiniz String'in (sırasıyla) solunda yani baş tarafında; sağında yani sonunda ve hem başında ve hem de sonundaki boşlukları temizler. <h4>Space</h4> İçinde, vereceğiniz sayı kadar boşluk olan boş bir String oluşturur. Örneğin <br> <br> <div style="border: 1px dashed black; padding: 10px; background: #eeeeee none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" > &lt;%<br> Bosluk = Space(20)<br> %&gt; </div> <br> Bosluk değişkenin değeri &quot; &quot; (20 boşluk) olacaktır. <h4>String</h4> İstediğiniz sayıda ve istediğiniz bir karakterle bir String oluşturur. <br> <br> <div style="border: 1px dashed black; padding: 10px; background: #eeeeee none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" > &lt;%<br> YeniString = String(3, &quot;*&quot;)<br> %&gt; </div> <br> YeniString değişkeninin değeri &quot;***&quot; olacaktır. <h4>Left(Degisken, Sayi):</h4> Bir yazı dizisindeki karakterlerin, soldan &quot;Sayı&quot; kadarını gösterir<br> <br> Örnegin:<br> <br> <div style="border: 1px dashed black; padding: 10px; background: #eeeeee none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" > &lt;%<br> Soldanbes = Left(&quot;ASP ögreniyoruz.&quot;, 5)<br> Response.Write soldanbes<br> %&gt;</div> <br>Sonucumuz &quot;ASP ö&quot; olacaktır. <br> <br>Right(Degisken, Sayi): Bir yazi dizisindeki karakterlerin, sagdan &quot;Sayi&quot; kadarını gösterir. Kullanımı Left ile aynidır. <h4> Mid: </h4> Bir String'in içinde başlangıç noktasını ve karakter olarak boyunu verdiğiniz alanda yer alan String'i verir. <br> <br> Örnegin: <br> <br> <div style="border: 1px dashed black; padding: 10px; background: #eeeeee none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" > &lt;% Degisken = &quot;ASP ögreniyoruz&quot;<br> YeniDegisken = Mid(Degisken, 4, 2)<br> Response.Write YeniDegisken<br> %&gt; </div> <br>&quot;ög&quot; sonucunu alacagiz bu sorgudan sonra. Burada 4 baslangiç karakterimiz, 2 ise kaç karakter alacagimizi temsil ediyor. <h4>Replace: </h4> Degişkende belirli karakterleri baskalarıyla degiştirmemize yarıyor Replace komutu. <br> <br> Örnek vermek gerekirse:<br> <br> <div style="border: 1px dashed black; padding: 10px; background: #eeeeee none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" > &lt;% Degisken = &quot;ASP ögreniyoruz&quot;<br> YeniDegisken = Replace(Degisken, &quot;uz&quot;, &quot;m ben de&quot;)<br> Response.Write YeniDegisken<br> %&gt;</div> <br>Ekrana yazilacak sonuç &quot;ASP ögreniyorum ben de&quot; olacaktır. <h4>Tam Sayı Elde etmek</h4> <h4>Int()</h4> Bize bir sayının tam sayı bölümünü verir.<br> <br>Örnek: <br> <br> KesirliSayi değişkeninin değeri 123,234567 olsun. <br> <br> <div style="border: 1px dashed black; padding: 10px; background: #eeeeee none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" > &lt;%<br> Tamsayi = Int(KesirliSayi)<br> %&gt;</div> <br>Tamsayi değişkenin değeri 123 olur. <h4>Round()</h4> fonksiyonu, kesirli bir sayıyı yukarı veya aşağı &quot;yuvarlayarak&quot; tam sayı haline getirir. Bu kez ki elimizdeki KesirliSayi değişkeninin değeri 5,6 olsun. <br> <br> <div style="border: 1px dashed black; padding: 10px; background: #eeeeee none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" > &lt;%<br> Tamsayi = Int(KesirliSayi)<br> %&gt; </div> <br>işleminden sonra Tamsayi değişkenin değeri 6 olur. <br> <br>Kesirli sayı 56,2 ise, Round() fonksiyonu bize 56 değerini verir. <br>googleyecevaplarnoreply@blogger.comtag:blogger.com,1999:blog-2337942599049980912.post-15691973892328400582008-02-16T15:10:00.002-08:002008-07-24T05:37:52.238-07:00Page Counter Sayaç Sayaçlar<h4> PAGE.COUNTER</h4> <div style="border: 1px dashed black; padding: 10px; background: #eeeeee none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" > &lt;% <br> Set MyPageCounter = Server.CreateObject(&quot;MSWC.PageCounter&quot;)<br> MyPageCounter.PageHit<br> %&gt;<br> Bu Web sayfası &lt;%= MyPageCounter.Hits %&gt; kez görüntülenmiştir. </div>googleyecevaplarnoreply@blogger.comtag:blogger.com,1999:blog-2337942599049980912.post-8407537383769072672008-02-16T15:10:00.001-08:002008-07-24T05:40:04.760-07:00Recordset Kayıt İşlemleri<h4> Recordset Uygulamaları</h4> Veritabanına dayanan Web uygulamalarımızda sadece veriyi okumak değil 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. <br> <br>.Recordset metodu, ile bir veritabanını okuyacak imleci üç şekilde ayarlayabilirsiniz: <br> <br> 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) <br> <br> 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) <br> <br>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) <br> <br> 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.<br> <br> Öncelik veri tabanımızda uygulamalarına gecmeden once ADO konusunda anlatılan uyeler.mdb (wwwroot dizininde olmalı) dosyası üzerinden açıklamalar yapılacagını bildirmek isterim.<br> <br> Ayrıca NT işletim sistemi kullanıyorsanız wwwroot klasörünün ve uyeler.mdb dosyasının güvenlik özelliklerini düzenlemeniz gerekir Örneklerin düzgün çalışabilmesi için. <h4> AddNew : Yeni Kayıt grime</h4> Bir veritabanına yeni kayıt eklemek istediğimizde, Recordset'in .AddNew (yeni ekle) metodundan yararlanırız. Bu girilen yeni kayıt Mdb Dosyamızda en son kayıtda yer alacaktır. <br> <br> <div style="border: 1px dashed black; padding: 10px; background: #eeeeee none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" > &lt;%<br> Set VT= Server.CreateObject(&quot;ADODB.Connection&quot; ) <br> VT.Open &quot;DBQ=&quot; &amp; Server.MapPath(&quot; uyeler.mdb&quot; ) &amp; &quot;;DRIVER={Microsoft Access Driver (*.mdb)}&quot;<br> Set KS = Server.CreateObject (&quot;ADODB.RecordSet&quot; ) <br> Sql = &quot; Select * from table1 &quot;<br> KS.Open sql,VT,1,3<br> %&gt;<br> <br>&lt;%<br> KS.AddNew<br> KS (&quot;uyeAdi&quot;) = &quot;Mete&quot;<br> KS (&quot;uyeSoyadi&quot;) = &quot;Uygur&quot;<br> KS (&quot;email&quot;) = &quot;meteuygur@xxxxx.com&quot;<br> KS (&quot;mesaj&quot;) = &quot;Benim Mesajım&quot;<br> KS.Update<br> %&gt;<br> <br>&lt;%<br> KS.close<br> set KS=nothing<br> VT.close<br> set VT=nothing<br> %&gt;</div> <h4> Update: Kayıt Guncelleme </h4> <div style="border: 1px dashed black; padding: 10px; background: #eeeeee none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" > &lt;%<br> Set VT= Server.CreateObject(&quot;ADODB.Connection&quot; ) <br> VT.Open &quot;DBQ=&quot; &amp; Server.MapPath(&quot; uyeler.mdb&quot; ) &amp; &quot;;DRIVER={Microsoft Access Driver (*.mdb)}&quot;<br> Set KS = Server.CreateObject (&quot;ADODB.RecordSet&quot; ) <br> Sql = &quot; Select * from table1 where uyeNo = 1&quot;<br> KS.Open sql,VT,1,3<br> %&gt;<br> <br> &lt;%<br> KS (&quot;uyeAdi&quot;) = &quot;Kaan&quot;<br> KS (&quot;uyeSoyadi&quot;) = &quot;Ateş&quot;<br> KS (&quot;email&quot;) = &quot;kaanates@xxxxx.com&quot;<br> KS (&quot;mesaj&quot;) = &quot;Kaanın Mesajı&quot;<br> KS.Update<br> %&gt;<br> <br> &lt;%<br> KS.close<br> set KS=nothing<br> VT.close<br> set VT=nothing<br> %&gt;</div> <br>Bu Örnekte uyeNo =1 Olan kayıt verilen degerlere gore güncellenir. . Eger 1 nolu kayıt yoksa asp kodumuz hata verecektir.<br> <h4> Delete : Kayır Silme</h4> <div style="border: 1px dashed black; padding: 10px; background: #eeeeee none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" > &lt;%<br> Set VT= Server.CreateObject(&quot;ADODB.Connection&quot; ) <br> VT.Open &quot;DBQ=&quot; &amp; Server.MapPath(&quot; uyeler.mdb&quot; ) &amp; &quot;;DRIVER={Microsoft Access Driver (*.mdb)}&quot;<br> Set KS = Server.CreateObject (&quot;ADODB.RecordSet&quot; ) <br> Sql = &quot; Select * from table1 where uyeNo = 1&quot;<br> KS.Open sql,VT,1,3<br> %&gt;<br> <br> &lt;%<br> KS.Delete<br> %&gt;<br> <br> &lt;%<br> KS.close<br> set KS=nothing<br> VT.close<br> set VT=nothing<br> %&gt;</div> <br>Bu Örnekte uyeNo =1 Olan kayıt Silinecektir. Eger 1 nolu kayıt yoksa asp kodumuz hata verecektir.<br>googleyecevaplarnoreply@blogger.comtag:blogger.com,1999:blog-2337942599049980912.post-24543564725027974602008-02-16T15:09:00.002-08:002008-07-24T05:41:51.054-07:00ADOVBS Nedir ActiveX<h4>ADOVBS.inc (ActiveX Data Objects (ADO) for Visual Basic Script (VBS or VBScript)) </h4> <br>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.<br> <br>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ı Microsoft'un ADOVBS (adovbs.inc) dosyasıdır.<br> <br>Bu dosya, Server tarafından icra edilir ve ADO nesnesinin sayı halindeki bütün argümanlarını anlaşılabilir İngilizce kelimelere çevirir. <br> <br>Veritabanı bağlantılarının dosyasıyla ADO nun bulunduğu sayfalarda genellikle aşağıdaki şekilde ifadeler vardır.<br> <br>Rs.open dbconn , sql , 3 ,1 <br> <br> Aslında burada &quot;3&quot; ve &quot;1&quot; sayıları bir sabiti(Constant) belirtir. işte ADOVBS.inc dosyası bu sabitlerin bulunduğu özel bir dosyadır.Aşağıda dosyanın bir kısmı gösterilmektedir.<br> <br> <div style="border: 1px dashed black; padding: 10px; background: #eeeeee none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" > &lt;%<br> '--------------------------------------------------------------------<br> ' Microsoft ADO<br> '<br> ' Copyright (c) 1996-1998 Microsoft Corporation.<br> '<br> '<br> '<br> ' ADO constants include file for VBScript<br> '<br> '--------------------------------------------------------------------<br> '---- CursorTypeEnum Values ----<br> Const adOpenForwardOnly = 0<br> Const adOpenKeyset = 1<br> Const adOpenDynamic = 2<br> Const adOpenStatic = 3 <br> ………%&gt;</div> <br>Görüldüğü gibi bu dosyanın içerisinde ADO'nun sabitleri vardır. Yani adovbs.inc dosyasını sayfamıza include edersek Yukarıdaki rs için yazdığımız ifadeyi <br> rs.Open dbconn, sql , adOpenStatic , adLockReadOnly <br> şeklinde yazabiliriz. adovbs.in kullanımı kodu daha okunur bir hale getirir.Ayrıca bu şekilde bizim ADO sabitlerini bilmemize gerek kalmaz (4 kursor tipinden hangi sayının hangisine ait olduğunun akılda tutulmasına gerek yoktur. ) : ) .<br> <br>.inc uzantısı hakkında :<br> <br>inc uzantısı o dosyanın bir &quot;include&quot; dosya olduğunu belirtir. Bu uzantı yerine başka bir uzantıda kullanılabilir .Genelde include edilen dosyalarda görünmesini istemediğimiz veriler varsa bunlar .asp formatında kaydedilir.Çünkü .inc veya başka uzantılı bir dosya diske kaydedilebilirken .asp uzantılı bir dosya derlenerek html formatına dönüştürülür.<br> <br>Ado sabitlerinin kullanılabilmesi için dosyanın kullanılacak sayfaya include edilmesi gerekir.<br> <br>&lt;!-- #include file=&quot;adovbs.inc&quot; --&gt; <br> veya<br> &lt;!--#include virtual=&quot;/adovbs.inc&quot;--&gt;<br> <br>Bu sabitler ile recordset nesnesini 4 şekilde kullanbiliriz.<br> <br>Forward Only: Bu imlecimizle, veritabanındaki kayıtlar arasında sadece ileri doğru ilerleyebiliriz. Geri yani yukarı gitme imkanımız yoktur. Ayrıca yeni kayıt ekleyemeyiz. Ve eğer biz açtıktan sonra, o anda başkaları tarafından değiştirilen veriler varsa, veritabanını yeniden kapatıp açana kadar göremeyiz. Eğer Adovbs.inc'le birlikte kullanıcaksak kod içindeki kullanımı adOpenForwardOnly'dir. <br> <br>Static: Durağan anlamına gelir. ForwardOnly'e ek olarak, yukarı doğru ilerleyebilir ve yeni kayıtlar ekleyebiliriz... Adovbs.inc'le birlikte kullanıldığında kod kullanımı, adOpenStatic'tir... Eğer biz açtıktan sonra, o anda başkaları tarafından değiştirilen veriler varsa, veritabanını yeniden kapatıp açana kadar göremeyiz.<br> <br>Dynamic: Adından da anlaşılabileceği gibi, bu cursor tipi, tam özelliklere sahip cursor tipidir. Yukarı ve aşağıya ilerleyebilir, yeni kayıt ekleyebilir ve değiştirebiliriz. Eğer biz açtıktan sonra, o anda başkaları tarafından değiştirilen veriler varsa, veritabanını yeniden kapatıp açmadan anında görebiliriz...Kod sayfasında, Adovbs.inc'le birlikte kullanıcaksak, kod içinde kullanımı adOpenDynamic'tir...<br> <br>Keyset: Bu metodumuzla, başkaları tarafından değiştirilen kayıtları görebiliriz... Cursor'umuz yukarı ve aşağı ilerleyebilir. Adovbs.inc'le birlikte kod içinde kullanımı, adOpenKeyset'tir...<br> <br>Kod içinde kullandığımız, adOpenStatic'in hemen yanındaki ise RecordSet nesnemizin kilit özelliğidir. Farklı çeşitlerde kilitler vardır. Bir kaç tanesini yazacağım. <br> <br>AdLockReadOnly: Kayıtlı verilerimizin değiştirilmesini, üzerine yazılmasını engellememizi sağlar. Yeni kayıt girişini engeller. Sadece Listelemeye izin verir... <br> <br>AdLockOptimistic: Bu metodumuz da kayıtlarımızın güncelleştirilmesini, yeni kayıtlar eklememizi, ve istersek silmemizi sağlar. <br> AdLockPessimistic: Bu metodumuz da eğer bir veritabanı üzerinde işlem yapıyorsak, işlemlerimiz bitene kadar, diğer işlem yapabilecek kişileri engellemk için RecordSet'e kilit koyar.<br> <br>googleyecevaplarnoreply@blogger.comtag:blogger.com,1999:blog-2337942599049980912.post-30358050496914945292008-02-16T15:09:00.001-08:002008-07-24T05:42:50.271-07:00ServerVariables Server Değişkenleri<h4> ServerVariables (Server Değişkenleri)</h4> <br> HTTP Server Değişkenleri Kolleksiyonunun elemanları şöyle sıralanır<br> 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. <br> <br> Örnek olarak aşagıdaki asp sayfasını çalıştırarak kendi server’ ımızın değeişkenlerini inceleyelim.<br> <br> <div style="border: 1px dashed black; padding: 10px; background: #eeeeee none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" > &lt;HTML&gt;<br> &lt;HEAD&gt;<br> &lt;TITLE&gt;HTTP ServerDegişkenleri &lt;/TITLE&gt;<br> &lt;/HEAD&gt;<br> &lt;BODY&gt;<br> &lt;CENTER&gt;<br> HTTP Server Değişkenleri Kolleksiyonu<br> &lt;/CENTER&gt;<br> &lt;TABLE BORDER=1&gt;<br> &lt;TR&gt;&lt;TD&gt;&lt;B&gt;Değişkenin adı&lt;/B&gt;&lt;/TD&gt; &lt;TD&gt;&lt;B&gt;Değeri&lt;/B&gt;&lt;/TD&gt;&lt;/TR&gt;<br> &lt;% For Each key in Request.ServerVariables %&gt;<br> &lt;TR&gt;<br> &lt;TD&gt;&lt;% = key %&gt;&lt;/TD&gt;<br> &lt;TD&gt;<br> &lt;%If Request.ServerVariables(key) = &quot;&quot; Then<br> Response.Write &quot;&amp;nbsp;&quot; <br> Else <br> Response.Write Request.ServerVariables(key)<br> End If<br> Response.Write &quot;&lt;/TD&gt;&quot;%&gt;<br> &lt;/TR&gt;<br> &lt;% Next %&gt;<br> &lt;/TABLE&gt;<br> &lt;p&gt;<br> Host'unuzun adı:&lt;B&gt; &lt;%=Request.ServerVariables(&quot;HTTP_HOST&quot;)%&gt;&lt;/B&gt;<br> &lt;/BODY&gt;<br> &lt;/HTML&gt;</div> <br> Bu sayfayı serverdefreg.asp olarak kaydedelim ve çalıştıralım.Bir HTTP Server’ın serverdefreg.asp sayfasını çalıştırdığı anda oluşturduğu ortama şekil veren bütün değişkenleri göreceksiniz. Bu değişkenleri programlama yoluyla değiştiremeyiz; sadece okuyup, yararlanabiliriz.<br> <br> <table width="350" border="1" cellspacing="0" cellpadding="0"> <tr> <td width="130"><br>Değişkenin adı <br></td> <td> <br>Değeri<br></td> </tr> <tr> <td><br>ALL_HTTP <br></td> <td><br>HTTP Header içinde yer alan bütün değişkenler ve değerleri. Header adlarının önünde “HTTP_” öneki vardır.<br></td> </tr> <tr> <td><br>ALL_RAW<br></td> <td><br>HTTP Header içinde yer alan bütün değişkenler ve değerleri. Header adları ve değerleri istemci Browser’ın verdiği şekilde gösterilir.<br></td> </tr> <tr> <td><br>APPL_MD_PATH<br></td> <td><br>Web Server’ın ISAPI.DLL dosyası için varsaydığı kök dizin<br></td> </tr> <tr> <td><br>APPL_PHYSICAL_PATH<br></td> <td><br>Web Server’ın varsaydığı kök dizinin gerçek yolu<br></td> </tr> <tr> <td><br>AUTH_PASSWORD <br></td> <td><br>Kullanıcı Web Server’a kullanıcı adı/parola yöntemiyle bağlanabiliyorsa, kullanılan parola<br></td> </tr> <tr> <td><br>AUTH_TYPE<br></td> <td><br>Kullanıcı Web Server’a kullanıcı adı/parola yöntemiyle bağlanabiliyorsa, kullanılan yetkilendirme yöntemi<br></td> </tr> <tr> <td><br>AUTH_USER<br></td> <td><br>Kullanıcı Web Server’a kullanıcı adı/parola yöntemiyle bağlanabiliyorsa, kullanıcı adı<br></td> </tr> <tr> <td><br>CERT_COOKIE <br></td> <td><br>Kullanıcı siteye bağlanmak için yetkilendirme sertifikası kullanıyorsa kendisine verilen kimlik (ID)<br></td> </tr> <tr> <td><br>CERT_FLAGS<br></td> <td><br>Sertifikanın varlığını gösteren bit değeri<br></td> </tr> <tr> <td><br>CERT_ISSUER<br></td> <td><br>Sertifika varsa veren kurum<br></td> </tr> <tr> <td><br>CERT_KEYSIZE<br></td> <td><br>Secure Socket Layers kullanılıyorsa, bağlantı için anahtar değeri<br></td> </tr> <tr> <td><br>CERT_SECRETKEYSIZE <br></td> <td><br>Özel anahtar değeri<br></td> </tr> <tr> <td><br>CERT_SERIALNUMBER<br></td> <td><br>Sertifika seri no.<br></td> </tr> <tr> <td><br>CERT_SERVER_ISSUER<br></td> <td><br>Sertifikayı veren merci<br></td> </tr> <tr> <td><br>CERT_SERVER_SUBJECT<br></td> <td><br>Server Sertifikasının “konu” alanı değeri<br></td> </tr> <tr> <td><br>CERT_SUBJECT<br></td> <td><br>İstemci Sertifikasının konu alanı değeri<br></td> </tr> <tr> <td><br>CONTENT_LENGTH <br></td> <td><br>İstemcinin gönderdiği bilgi yumağının boyutu<br></td> </tr> <tr> <td><br>CONTENT_TYPE<br></td> <td><br>Ziyaretçiden gelen bilgilerin GET veya POST metoduna göre edindiği tür<br></td> </tr> <tr> <td><br>GATEWAY_INTERFACE <br></td> <td><br>Web Server’ın ziyaretçi ile etkileşim arayüzünün adı ve sürümü. Genellikle: CGI/1.1 <br></td> </tr> <tr> <td><br>HTTPS <br></td> <td><br>Ziyaretçi ile bağlantı güvenli ise ON, değilse OFF<br></td> </tr> <tr> <td><br>HTTPS_KEYSIZE<br></td> <td><br>Secure Sockets Layer için bağlantı anahtar sayısı<br></td> </tr> <tr> <td><br>HTTPS_SECRETKEYSIZE <br></td> <td><br>Özel Server sertifikasının gizli anahtar sayısı<br></td> </tr> <tr> <td><br>HTTPS_SERVER_ISSUER<br></td> <td><br>Özel Server sertifikasının veren merci<br></td> </tr> <tr> <td><br>HTTPS_SERVER_SUBJECT <br></td> <td><br>Özel Server sertifikasının konusu<br></td> </tr> <tr> <td><br>INSTANCE_ID<br></td> <td><br>Web Server’ın aynı anda kaç kere çalışmakta olduğu<br></td> </tr> <tr> <td><br>INSTANCE_META_PATH <br></td> <td><br>Şu anda çalışmakta olan Web Server’ın Meta yolu<br></td> </tr> <tr> <td><br>LOCAL_ADDR<br></td> <td><br>İstemcinin IP numarası<br></td> </tr> <tr> <td><br>LOGON_USER<br></td> <td><br>İstemci Windows NT sisteminde ise oturum açma adı<br></td> </tr> <tr> <td><br>PATH_INFO<br></td> <td><br>Çalışmakta olan ASP’nin göreli yolu ve adı<br></td> </tr> <tr> <td><br>PATH_TRANSLATED<br></td> <td><br>Çalışmakta olan ASP’nin gerçek yolu ve adı <br></td> </tr> <tr> <td><br>QUERY_STRING<br></td> <td><br>İstemcinin gönderdiği bilgi kümesi<br></td> </tr> <tr> <td><br>REMOTE_ADDR<br></td> <td><br>İstemcinin Host’unun (ISS’inin) IP’si<br></td> </tr> <tr> <td><br>REMOTE_HOST<br></td> <td><br>İstemcinin Host’unun (ISS’inin) adı<br></td> </tr> <tr> <td><br>REMOTE_USER<br></td> <td><br>İstemcinin gerçek adı<br></td> </tr> <tr> <td><br>REQUEST_METHOD<br></td> <td><br>İstemciden bilgi isteme yöntemi (GET veya POST)<br></td> </tr> <tr> <td><br>SCRIPT_NAME<br></td> <td><br>Çalışmakta olan ASP’nin adı<br></td> </tr> <tr> <td><br>SERVER_NAME<br></td> <td><br>Sunucu’nun adı<br></td> </tr> <tr> <td><br>SERVER_PORT<br></td> <td><br>Sunucuya bağlantının geldiği TCP kapı numarası<br></td> </tr> <tr> <td><br>SERVER_PORT_SECURE<br></td> <td><br>TCP kapısı güvenli ise 1, değilse 0<br></td> </tr> <tr> <td><br>SERVER_PROTOCOL<br></td> <td><br>Server’ın çalıştırdığı HTTP’nin sürümü<br></td> </tr> <tr> <td><br>SERVER_SOFTWARE<br></td> <td><br>Server programının adı ve sürümü<br></td> </tr> <tr> <td><br>URL<br></td> <td><br>Şu anda geçerli URL<br></td> </tr> </table>googleyecevaplarnoreply@blogger.comtag:blogger.com,1999:blog-2337942599049980912.post-77490860567092723482008-02-16T15:08:00.002-08:002008-07-24T05:43:56.474-07:00Test Fonksiyonları<h4> Test Fonksiyonları </h4> <br> VBScript'te kullandığımız bazı değişkenlerin o andaki durumu, programımızın akışını kontrolde kullanacağımız bilgiyi sağlayabilir. Sözgelimi bir değişkenin değeri boş ise, ziyaretçimizin formu tam olarak doldurmadığını düşünebiliriz. VBScript, bize değişkenlerin durumunu sınamamız için bazı özel fonksiyonlar sağlar. Bu özel fonksiyonlardan dönen değer True (doğru) veya False (yanlış) olur; doğru sonucun değeri -1, yanlış sonucun değeri ise 0'dır:<br> <br> <table width="400" border="1" cellspacing="0" cellpadding="0"> <tr> <td width="65"><br>IsArray:<br></td> <td width="329"><br>Bir değişkenin dizi-değişken (Array) olup olmadığını sınar. <br> </td> </tr> <tr> <td><br>IsDate:<br></td> <td><br>Bir değişkenin değerinin tarihe (Date) çevrilip çevrilemeyeceğini sınar.<br> </td> </tr> <tr> <td><br>IsEmpty:<br></td> <td><br>Bir değişkenin tanımlanıp değer atanmış olup olmadığını sınar. <br> </td> </tr> <tr> <td><br>IsNull:<br></td> <td><br>bir değişkenin geçerli bir değer tutup tutmadığını sınar. <br> </td> </tr> <tr> <td><br>IsNumeric:<br></td> <td><br>Bir değişkenin sayı olarak işleme tabi tutup tutulamayacağını sınar <br></td> </tr> <tr> <td><br>IsObject:<br></td> <td><br>Bir ifadenin geçerli bir ActiveX veya OLE nesnesine referansta bulunup bulunmadığını sınar. <br></td> </tr> <tr> <td><br>TypeName:<br></td> <td><br> Bir değişkenin türünü belirtir.<br> </td> </tr> <tr> <td><br>VarType:<br></td> <td><br>Bir değişkenin türünü belirten sayıyı verir.<br> </td> </tr> </table>googleyecevaplarnoreply@blogger.comtag:blogger.com,1999:blog-2337942599049980912.post-82574899227689278252008-02-16T15:08:00.001-08:002008-07-24T05:47:10.381-07:00ADO Nedir Uygulamaları<h4>ADO Nedir?</h4> <br> ADO (ActiveX Data Objects), Microsoft'un veritabanı uygulamaları için geliştirdiği bir bileşendir. IIS ve PWS ile birlikte otomatik olarak kurulur. Biz ADO'yu ASP sayfalarımızdan veritabanına erişmek ve veritabanı üzerinde işlemler yapmak üzere kullanacağız. <br> <br> ADO ile veritabanı uygulamaları standart bazı adımları içerir;<br> <br> &#8226; Veritabanı bağlantısının oluşturulması<br> &#8226; Veritabanı başlantısının a&ccedil;ılması<br> &#8226; Kayıt dizisinin oluşturulması<br> &#8226; Kayıt dizisinin açılması <br> &#8226; ...Veritabanı ile yapılacak işlemler <br> &#8226; Kayıt dizisinin kapatılması<br> &#8226; Veritabanı bağlantısının kapatılması. <h4>Bağlantı Yolları</h4> Veritabanına bağlanmak için iki seçeneğiniz var. Birincisi DSN (Data Source Name) ile bağlanmak ikincisi ise DSN kullanmadan, dosyanın fiziksel yolunu göstererek bağlanmak. DSN bağlantılarını windows ve hatta unix sistemlerinde Microsoft'un ODBC (Open Database Connectivity/Açık Veritabanı Bağlantısı) sunucusu yönetir. <br> <br> İkinci yolda, DSN ba&eth;lantısı kullanmadan bir veritabanı bağlantısı oluşturabiliriz. Kuşkusuz bul yol &ccedil;ok daha kolaydır. <h4>ODBC ile DSN Bağlantısı</h4> &Ouml;ncelikle bilgisayarınızda veritabanı oluşturma programı &ouml;rnegin Microsoft access yüklü olduğunu Kabul ediyorum.<br> <br>MS Access Programını Kullanarak ilk once uyeler.mdb db dosyasını oluşturacagız. Bu veri tabanında aşagıdaki iki tabloyu tanımlayın.<br> <br> Table1<br> <br> <table width="75%" border="1" cellspacing="0" cellpadding="0"> <tr> <td width="21%"><br>Alan Adi:<br></td> <td width="79%"><br>Veri t&uuml;r&uuml;<br></td> </tr> <tr> <td><br>uyeNo<br></td> <td><br>AutoNumber (Birincil Anahtar/Primary Key)<br></td> </tr> <tr> <td><br>uyeAdi<br></td> <td><br>metin<br></td> </tr> <tr> <td><br>uyeSoyadi<br></td> <td><br>metin<br></td> </tr> <tr> <td><br>email<br></td> <td><br>metin<br></td> </tr> <tr> <td><br>mesaj<br></td> <td><br>memo<br></td> </tr> </table> <br> 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.<br> <br> <img src="http://bp3.blogger.com/_AB693zUP138/R7dxVfcJiEI/AAAAAAAAAJw/lVYQQOQcZME/s320/odbc.JPG" alt="odbc" width="250" border="0" id="BLOGGER_PHOTO_ID_5167723711461689410" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; " /> <br> A&ccedil;ilacak kutuda Add/Ekle d&uuml;gmesini tiklayarak, yeni veri kaynagi olusturmak i&ccedil;in ilk adim olan veriyi okumakta kullanacagimiz s&uuml;r&uuml;c&uuml;y&uuml; se&ccedil;ebilecegimiz kutunun a&ccedil;ilmasini saglayin. Burada, yukarida olusturdugunuz veri dosyasina uygun s&uuml;r&uuml;c&uuml;y&uuml; se&ccedil;in. &Ouml;rnek uyeler.mdb'yi kullaniyorsaniz, birinci se&ccedil;enek olan Microsoft Access Driver'i se&ccedil;meniz gerekir. Son d&uuml;gmesini tiklayin ve Access dosyasinin kurulumunu yapmaya baslayalim.<br> <br> <img src="http://bp3.blogger.com/_AB693zUP138/R7dxpfcJiFI/AAAAAAAAAJ4/_QBr0Q7MmS4/s320/ado.JPG" alt="ado" width="250" border="0" id="BLOGGER_PHOTO_ID_5167724055059073106" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer;" /> <br>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 &quot;uyeler&quot; yazın; çünkü örneklerde bu veriye &quot;uyeler&quot; 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ı uyeler.mdb dsoyasını bulun; OK/Tamam'ı tıklayarak, veritabanı seçme işlemini tamamlayın.<br> <br>DSN oluşturma kutularını sırasıyla OK/Tamam düğmelerini tıklayarak kapatın; &quot;uyeler&quot; 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. <h4> Connection (Veritabanına bağlantı)</h4> 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: <br> <br> <div style="border: 1px dashed black; padding: 10px; background: #eeeeee none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" > &lt;%<br> Dim Veriyolu<br> Set Veriyolu = Server.CreateObject(&quot;ADODB.Connection&quot;)<br> Veriyolu.Open &quot;uyeler &quot;<br> %&gt; <br> Recordset (Kayıt dizisi) <p>&lt;%<br> Dim Veriyolu, Kayitdizisi<br> Set Veriyolu = Server.CreateObject(&quot;ADODB.Connection&quot;)<br> Veriyolu.Open &quot;uyeler&quot;<br> Set Kayitdizisi = Veriyolu.Execute(&quot;SELECT * FROM table1&quot;)<br> %&gt;</div> <h4>Recordset.Open</h4> 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. <br> <br> Bir veriye bağlantıyı kurduktan sonra kayit dizimizi .Recordset metodu ile sağlayacaksak, yukarıdaki örnek kodumuzu şöyle yazmak gerekir: <br> <br> <div style="border: 1px dashed black; padding: 10px; background: #eeeeee none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" > &lt;%<br> Dim Veriyolu, Kayitdizisi, Sorgu<br> Set Veriyolu = Server.CreateObject(&quot;ADODB.Connection&quot;)<br> Veriyolu.Open &quot;uyeler&quot;<br> Set Kayitdizisi = Server.CreateObject(&quot;ADODB.Recordset&quot;)<br> Sorgu = &quot;SELECT * FROM table1&quot;<br> Kayitdizisi.Open Sorgu, Veriyolu, aOpenStatic<br> %&gt;<br> Dns Siz ba&eth;lant&yacute;<br> &lt;%<br> Set VT= Server.CreateObject(&quot;ADODB.Connection&quot; ) <br> VT.Open &quot;DBQ=&quot; &amp; Server.MapPath(&quot; uyeler.mdb&quot; ) &amp; &quot;;DRIVER={Microsoft Access Driver (*.mdb)}&quot;<br> %&gt;</div> <br> <br> Burada, DNS'siz bağlantı için veritabanı dosyasının Server'daki göreli yerini, adını ve hangi sürücünün kullanılacağını belirtiyoruz.<br> <br> <div style="border: 1px dashed black; padding: 10px; background: #eeeeee none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" > &lt;%<br> Set KS = Server.CreateObject (&quot;ADODB.RecordSet&quot; ) <br> Sql = &quot; Select * from table1 &quot;<br> KS.Open sql,VT,1,3<br> %&gt;</div> <br> <br>Burada da recordset’ i tanımladık ve sql ile tamınlanan sorguda da table1 verileri cagırıyoruz. <h4>ADO Nesnesini Kapamak</h4> Bir ADO Nesnesini kapatmak, close yöntemini çagırmak dişında hiçbir şey gerektirmemektedir. &quot;VT&quot; adlı bir connection nesnesini ve KS RecordSet Nesnesini kapatmak için aşagıdaki örnegi yazın.<br> <br>KS.close<br> VT.close<br> <br>Bir connection nesnesini kapatmayı unutursanız, ASP komut dosyası işleyişi sonunda bunu bulup, kapata bilir ve bunu bellekten çıkarta bilir en azından plan böyle. Uygulamada, yarattıgınız her nesneyi her zaman kapatır ve serbes bırakırsınız, Web sunucunuz daha dengeli olur.<br> <br> Bir Connection nesnesini, kapattıktan sonra bile bellekte kalır. &quot;VT&quot; adlı Connection nesnesini Ve KS RecordSet Nesnesini bellekten çıkartmak için aşagıdaki örnegi kullanabilirsiniz.<br> <br> <div style="border: 1px dashed black; padding: 10px; background: #eeeeee none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" > &lt;%<br> set KS=nothing<br> set VT=nothing<br> %&gt; </div> <br> Örnek Kullanm :<br> <br> <div style="border: 1px dashed black; padding: 10px; background: #eeeeee none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" > &lt;%<br> KS.close<br> set KS=nothing<br> VT.close<br> set VT=nothing<br> %&gt;</div>googleyecevaplarnoreply@blogger.comtag:blogger.com,1999:blog-2337942599049980912.post-70739290079916634922008-02-16T15:07:00.002-08:002008-07-24T05:48:15.029-07:00Application Uygulamalar Örnekler<h4>APPLICATION</h4> <br>Belirtilen uygulamadaki tanımlı bütün kullanıcıların bilgiyi paylaşmaları için Application nesnesini kullanabiliriz. <br> <br>Application nesnesi birden fazla kullanıcı tarafından paylaşılabildiği için, kullanıcıların bir özelliği aynı anda değiştirme girişimlerini önlemek için Lock ve Unlock yöntemleri kullanılır. Bir örnek yaparak çalışmasını inceleyelim. Bu örneğimizle kullanışlı sayfa sayaçları yapabilirsiniz. Örneği inceleyince daha iyi anlayacağınıza eminim...<br> <br> Aşağıdaki örneği Sayac.asp adıyla kaydedin. <br> <br> <div style="border: 1px dashed black; padding: 10px; background: #eeeeee none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" > &lt;%<br> Response.Expires = 0<br> 'Expires sayesinde sayfanın içeriğinin bilgilerinin cache bellekte saklanmasını engelleriz.<br> %&gt;<br> <br>&lt;%<br> If (Application(&quot;Sayac&quot;) = &quot;&quot;) Then<br> 'Bu ziyaretçi için Application başlatılmadıysa başlatılsın.<br> Application(&quot;Sayac&quot;) = 0<br> End If<br> <br>Application.Lock<br> 'Application'ı Kilitliyoruz. Ve kullanıcı giriş yaptıktan sonra 1 değer <br> 'arttırıyoruz. <br> <br> &lt;%<br> Application(&quot;Sayac&quot;) = Application(&quot;Sayac&quot;) + 1<br> Application.UnLock<br> 'Ve tekrar serbest bırakıyoruz. Diğer kullanıcılarla bu Application<br> 'kullanılabilsin diye... <br> %&gt;<br> Bu Sayfaya &lt;%= Application(&quot;Sayac&quot;) %&gt; Kere Giriş Yapıldı.</div> <br> Bu kodu yazıp çalıştırdığımız zaman, sayfayı her yenilediğimizde sayaç bir değeri kadar arttırılacaktır..<br> <br>googleyecevaplarnoreply@blogger.comtag:blogger.com,1999:blog-2337942599049980912.post-26235164850658327342008-02-16T15:07:00.001-08:002008-07-24T05:49:07.363-07:00Errors Hatalar Kodu Açıklamaları<h4> Asp Error:</h4> <br>Asperror objesi ASP script veya asp.dll tarafından oluşan hataların yakalanması için kullanılır. Asperror objesi Server.GetLastError metodu gelen hataları yakalayarak kullanıcıyı standart hataların açıklandığı sayfalara yönlendirmek için kullanılabilir.<br> <br>ASP´de oluşan hataları Server nesnesinin GetLastError alt nesnesiyle öğrenebiliyoruz. GetLastError nesnesinin özelliklerine kısaca değinecek olursak:<br> <br>1. ASPCode: IIS tarafından oluşturulan hata kodunu döndürür.<br> 2. ASPDescription: Oluşan hata ASP ile alakalıysa detaylı bir açıklama döndürür.<br> 3. Category: Hatanın kaynağını döndürür.<br> 4. Column: ASP sayfası içinde hataya sebep olan kodlamanın sütun pozisyonunu döndürür.<br> 5. Description: Hata hakkında kısa bir açıklama döndürür.<br> 6. File: Hata oluşan ASP dosyasının yolunu döndürür.<br> 7. Line: Hatanın kaçıncı satırda oluştuğunu döndürür.<br> 8. Number: Standart COM hata numarası döndürür.<br> 9. Source: Hataya sebep olan kodlar okunabiliyorsa bu kodları döndürür.<br> <br>Sitemizin verdiği hataları bir veri tabanında kaydederek sistemizin performansı hakkında bazı bilgilere ulaşabiliriz. <br> <br>Ayrıca bir hata durumunda server meşgul gibi mesayı ziyaretcinize yollamak isteyebilirsiniz.<br> <br>&lt;% On Error Resume next %&gt; <br> <br>diyerek bir hata durumda bir alt satırdan kodları işlemeye devam edecektir.<br> <h4> ASP Yazarken Karşılaşılan Hatalar, Sebebi ve Çözüm Yolları. </h4> <table width="350" border="1" cellspacing="0" cellpadding="0"> <tr> <td><br>Hata<br></td> <td> <br>Microsoft OLE DB Provider for ODBC Drivers (0x80040E14) [Microsoft][ODBC Microsoft Access Sürücüsü] INSERT INTO deyimi, bilinmeyen alan adı içeriyor: 'KisiPasif'. Adı doğru yazdığınızdan emin olun ve işlemi yeniden deneyin. /uyelik/functions.asp, line 114<br></td> </tr> <tr> <td height="21"> <br>Sebebi<br></td> <td> <br>Tablonuzta olmayan bir field'e kayıt yapmak istediniz<br> </td> </tr> <tr> <td><br>Çözümü<br></td> <td><br>SQL deyimindeki yazılışı yanlışsa düzeltin. Eğer tabloda böyle bir field yoksa yaratın.<br></td> </tr> </table> <br> <table width="350" border="1" cellspacing="0" cellpadding="0"> <tr> <td><br>Hata<br></td> <td> <br>Server nesnesi, ASP 0177 (0x800401F3)<br> Geçersiz ProgID Bu iletiyle ilgili daha fazla bilgi için, lütfen aşağıdaki adresten Microsoft Online Support sitesini ziyaret edin: http://www.microsoft.com/contentredirect.asp<br></td> </tr> <tr> <td height="21"> <br>Sebebi<br></td> <td> <br> Server 'ınızın yada PWS 'nin desteklemediği bir bileşen kullanmak istemişsiniz. Örneğin mail gönderme veya asptear.<br></td> </tr> <tr> <td><br>Çözümü<br></td> <td><br> PWS altında çalışıyorsanız : Bu işlemler windows altından yapılamaz. Hosting Server 'ında Çalışıyorsanız : Kullanmak istediğiniz bileşen servera kurulmamış. Firma sorumlusuna başvurun.<br></td> </tr> </table> <br> <table width="350" border="1" cellspacing="0" cellpadding="0"> <tr> <td><br>Hata<br></td> <td> <br>Microsoft OLE DB Provider for ODBC Drivers (0x80040E10) [Microsoft][ODBC Microsoft Access Sürücüsü] Çok az parametre. 1 bekleniyor<br></td> </tr> <tr> <td height="21"> <br>Sebebi<br></td> <td> <br> SQL kodu içinde işleme tabi tutmak istediğiniz alan yok<br></td> </tr> <tr> <td><br>Çözümü<br></td> <td><br> Yazdığın alan adını kontrol edin, tablonun böyle bir alan içerdiğinden emin olun<br></td> </tr> </table> <br> <table width="350" border="1" cellspacing="0" cellpadding="0"> <tr> <td><br>Hata<br></td> <td> <br> ADODB.Recordset (0x800A0CC1) Öğe, istenen ad veya sıra sayısı ile ilişkili derleme içinde bulunamıyor<br></td> </tr> <tr> <td height="21"> <br>Sebebi<br></td> <td> <br> Alan adı bulunamıyor.Ekrana yazdırmak istediğiniz veya kullanmak istediğiniz alan adı tabloda yok<br></td> </tr> <tr> <td><br>Çözümü<br></td> <td><br> Yazdığınız alan adını kontrol edin, tablonun bu adda bir alan içerdiğinden emin olun<br></td> </tr> </table> <br> <table width="350" border="1" cellspacing="0" cellpadding="0"> <tr> <td><br>Hata<br></td> <td> <br> ADODB.Recordset (0x800A0BB9) Yanlış türdeki değişkenler kabul edilebilir aralık dışında veya bir başkasıyla çakışan bağımsız değişkenler kullanılıyor<br></td> </tr> <tr> <td height="21"> <br>Sebebi<br></td> <td> <br> Recordset'i açmaya çalıştığımız Connection adı bulunamadı veya connection açılmadı.Başka bir sebepte SQL kodu bulunamadı<br></td> </tr> <tr> <td><br>Çözümü<br></td> <td><br> Connection'ı açın veya adını kontrol edip, düzeltin.Ya da SQL kodunu yazdığınızdan emin olun<br></td> </tr> </table> <br> <table width="350" border="1" cellspacing="0" cellpadding="0"> <tr> <td><br>Hata<br></td> <td> <br> Microsoft OLE DB Provider for ODBC Drivers (0x80040E14) [Microsoft][ODBC Microsoft Access Sürücüsü] SELECT deyimi, saklı bir sözcük veya yanlış yazılmış veya eksik bir bağımsız değişken içeriyor veya noktalama işareti yanlış<br></td> </tr> <tr> <td height="21"> <br>Sebebi<br></td> <td> <br> Yazdığınız SQL kodunda bir sorun var.<br></td> </tr> <tr> <td><br>Çözümü<br></td> <td><br> Yazdığınız SQL kodunu kontrol ediniz<br></td> </tr> </table> <br> <table width="350" border="1" cellspacing="0" cellpadding="0"> <tr> <td><br>Hata<br></td> <td> <br> Microsoft OLE DB Provider for ODBC Drivers (0x80004005) [Microsoft][ODBC Microsoft Access Sürücüsü]Genel hata 'Temporary (volatile) Jet DSN for process 0x140 Thread 0x5ec DBC 0x13679bc Jet ' kayıt defteri anahtarı açılamadı.<br></td> </tr> <tr> <td height="21"> <br>Sebebi<br></td> <td> <br> Belirttiğiniz adreste veritabanı bulunamadığında çıkar<br></td> </tr> <tr> <td><br>Çözümü<br></td> <td><br> Yazdığınız yolu veya veritabanını kontrol ediniz<br></td> </tr> </table> <br> <table width="350" border="1" cellspacing="0" cellpadding="0"> <tr> <td><br>Hata<br></td> <td> <br> &quot;Microsoft OLE DB Provider for ODBC Drivers (0x80004005) [Microsoft][ODBC Driver Manager] Veri kaynağı adı bulunamadı ve varsayılan sürücü belirtilmemiş&quot;<br></td> </tr> <tr> <td height="21"> <br>Sebebi<br></td> <td> <br> DSN adını yanlış yazdınız veya DSN tanımlamadınız.Ya da DSN-Less bağlantı kodu yanlış.<br></td> </tr> <tr> <td><br>Çözümü<br></td> <td><br> DSN adını kontrol edin veya DSN-Less bağlantı kodunu gözden geçirin.<br></td> </tr> </table> <br> <table width="350" border="1" cellspacing="0" cellpadding="0"> <tr> <td><br>Hata<br></td> <td> <br> &quot;Microsoft VBScript çalışma hatası (0x800A004C) Yol bulunamadı&quot;<br></td> </tr> <tr> <td height="21"> <br>Sebebi<br></td> <td> <br> Bulunmayan bir klasör veya yol yazdığınızda bu hata ile karşılaşırsınız<br></td> </tr> <tr> <td><br>Çözümü<br></td> <td><br> Yazdığınız yolu kontrol ediniz, klasörün bulunduğuna emin olun<br></td> </tr> </table> <br> <table width="350" border="1" cellspacing="0" cellpadding="0"> <tr> <td width="46"><br>Hata<br></td> <td width="399"> <br> Microsoft VBScript çalışma hatası (0x800A0044) Aygıt yok&quot;<br></td> </tr> <tr> <td height="21"> <br>Sebebi<br></td> <td> <br> Bulunmayan bir sürücüyü çağırmak istediğinizde alırsınız<br></td> </tr> <tr> <td><br>Çözümü<br></td> <td><br> Sürücü harfinin bulunduğuna veya doğru olduğuna dikkat edin<br></td> </tr> </table> <br> <table width="350" border="1" cellspacing="0" cellpadding="0"> <tr> <td width="46"><br>Hata<br></td> <td width="399"> <br> Microsoft OLE DB Provider for ODBC Drivers (0x80004005) [Microsoft][ODBC Microsoft Access Sürücüsü] Güncelleştirilemiyor. Veritabanı veya nesne salt okunur.&quot;<br></td> </tr> <tr> <td height="21"> <br>Sebebi<br></td> <td> <br> Veritabanınız salt okunur veya yazma izni olmayan bir yerde ise bu hatayı verir<br></td> </tr> <tr> <td><br>Çözümü<br></td> <td><br> Veritabının veya bulunduğu klasörün Salt Okunur olup olmadığını kontrol edin<br></td> </tr> </table> <br> <table width="350" border="1" cellspacing="0" cellpadding="0"> <tr> <td width="46"><br>Hata<br></td> <td width="399"> <br> &quot;Microsoft OLE DB Provider for ODBC Drivers (0x80040E14) [Microsoft][ODBC Microsoft Access Sürücüsü] 'alan_adi=' sorgu ifadesi içindeki Sözdizimi hatası (eksik işleç)&quot;<br></td> </tr> <tr> <td height="21"> <br>Sebebi<br></td> <td> <br> Sorgulatmak için kullandığınız değer boş.Bu forumdan gelen bir veri olabilir, cookieden alınan bir değer olabilir<br></td> </tr> <tr> <td><br>Çözümü<br></td> <td><br> Gelen veriyi kontrol edin<br></td> </tr> </table> <br> <table width="350" border="1" cellspacing="0" cellpadding="0"> <tr> <td width="46"><br>Hata<br></td> <td width="399"> <br> &quot;Server nesnesi, ASP 0177 (0x800401F3) Geçersiz ProgID Bu iletiyle ilgili daha fazla bilgi için, lütfen aşağıdaki adresten Microsoft Online Support sitesini ziyaret edin: http://www.microsoft.com/contentredirect.asp.&quot;<br></td> </tr> <tr> <td height="21"> <br>Sebebi<br></td> <td> <br> Sunucunuzun desteklemediği bir objeyi yaratmak istemişsiniz<br></td> </tr> <tr> <td><br>Çözümü<br></td> <td><br> Obje adını kontrol edin, sunucunun desteklediğinden emin olun<br></td> </tr> </table> <br> <table width="350" border="1" cellspacing="0" cellpadding="0"> <tr> <td width="46"><br>Hata<br></td> <td width="399"> <br> &quot;Microsoft VBScript çalışma hatası (0x800A000D) Tür uyumsuz: 'a'&quot;<br></td> </tr> <tr> <td height="21"> <br>Sebebi<br></td> <td> <br> Eğer bir sayı ve metin ile matematiksel işlem yapmak isterseniz veya tarih değelerinde yanlış bir işlem yapmaya kalkarsanız alırsınız<br></td> </tr> <tr> <td><br>Çözümü<br></td> <td><br> Yapmak istediğiniz işlemi kontrol ediniz.Değişken türlerini tekrar gözden geçirin<br></td> </tr> </table> <br> <table width="350" border="1" cellspacing="0" cellpadding="0"> <tr> <td width="46"><br>Hata<br></td> <td width="399"> <br> &quot;Microsoft VBScript derleme hatası (0x800A0409) Sonlandırılmamış dize sabiti&quot;<br></td> </tr> <tr> <td height="21"> <br>Sebebi<br></td> <td> <br> Çift tırnak (&quot;) yazmamışsınız.Veya çok fazla yazmışsınız<br></td> </tr> <tr> <td><br>Çözümü<br></td> <td><br> Kodları inceleyerek tırnakları düzeltiniz<br></td> </tr> </table> <br> <table width="350" border="1" cellspacing="0" cellpadding="0"> <tr> <td width="46"><br>Hata<br></td> <td width="399"> <br> &quot;Microsoft VBScript derleme hatası (0x800A03F6) 'End gerekli&quot;<br></td> </tr> <tr> <td height="21"> <br>Sebebi<br></td> <td> <br> if kontrol kodunu bitirmemişsiniz<br></td> </tr> <tr> <td><br>Çözümü<br></td> <td><br> Gereken yere &quot;end if&quot; yazın.<br></td> </tr> </table> <br> <table width="350" border="1" cellspacing="0" cellpadding="0"> <tr> <td width="46"><br>Hata<br></td> <td width="399"> <br> Active Server Sayfaları, ASP 0116 (0x80004005) Komut yazıları bloğunda etiketin sonu eksik (%&gt;)<br></td> </tr> <tr> <td height="21"> <br>Sebebi<br></td> <td> <br> Kodlarınızı &quot;%&gt;&quot; ile kapatmamışsınız<br></td> </tr> <tr> <td><br>Çözümü<br></td> <td><br> &quot;%&gt;&quot; yazınız<br></td> </tr> </table>googleyecevaplarnoreply@blogger.comtag:blogger.com,1999:blog-2337942599049980912.post-5619750052658551282008-02-16T15:06:00.000-08:002008-07-24T05:50:14.811-07:00Server Transfer include<h4>INCLUDE </h4> <h4>SERVER.TRANSFER </h4> Include bir sayfanın kodlarını mevcut sayfaya ekler. ASP'de ise Server.Transfer bu işi yapar. Mesela; <br> <br> <div style="border: 1px dashed black; padding: 10px; background: #eeeeee none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" > &lt;!-- #include file=&quot;veri.asp&quot; --&gt;<br> Bu kodu ASP taglarının dışına yazabiliriz. Fakat; <br> &lt;%<br> Server.Transfer(&quot;veri.asp&quot;)<br> %&gt;</div> <br> bu başlı başına bir ASP komutudur. Daha çok Include kullanılır; fakat uzmanlar Server.Transfer kullanmayı öneriyorlar. <p>NOT: Bu kodları nereye koyarsanız, oraya eklenir. Yani anlaşıldığı gibi bunu menü, anket, üye girişi, şifre kontrol gibi yerlerde kullanıyoruz.<br>googleyecevaplarnoreply@blogger.comtag:blogger.com,1999:blog-2337942599049980912.post-46284951043830878752008-02-16T15:05:00.001-08:002008-07-24T05:54:04.047-07:00Dosya işlemleri Uygulaması<h4>ASP'de Dosya işlemleri</h4> <br>Dosya Sistemi Nesnesi (FileSystemObject) - FSO<br> <br>Web Sunucusunun sabit diskinde, sürücüleri, klasörleri ve dosyaları yönetmekte kullanacağımız temel nesnedir.<br> <br>Bu nesnemiz 24 metod ve 1 özellikten oluşmaktadır. Genel olarak bu nesnelere öncelikle göz atalım.<br> <br>FileSystemObject Metodları<br> 1. BuildPath (Mevcut yola isim ekler)<br> 2. CopyFile (Dosya kopyalar)<br> 3. CopyFolder (Klasör kopyalar)<br> 4. CreateFolder (Klasör oluşturur)<br> 5. CreateTextFile (Text dosyası oluşturur)<br> 6. DeleteFile (Dosya Siler)<br> 7. DeleteFolder (Klasör Siler)<br> 8. DriveExists (Sürücüyü kontrol eder)<br> 9. FileExists (Dosyayı kontrol eder)<br> 10. FolderExists (Klasörü kontrol eder)<br> 11. GetAbsolutePathName (Kesin yol ifadesini verir)<br> 12. GetBaseName (Dosya veya klasörün ana ismini verir)<br> 13. GetDrive (Yol üzerindeki sürücüyü getirir.)<br> 14. GetDriveName (Sürücü ismini verir)<br> 15. GetExtensionName (Dosya uzantısını verir)<br> 16. GetFile (Yol üzerindeki dosya nesnesini verir)<br> 17. GetFileName (Dosya ismini verir)<br> 18. GetFolder (Yol üzerindeki klasör ismini verir)<br> 19. GetParentFolderName (Parent klasör ismini verir)<br> 20. GetSpecialFolder (Belirtilen klasörür geri döndürür)<br> .21 GetTempName (Rasgele geçici (cache) bir dosya veya klasör ismi üretir)<br> 22. MoveFile (Dosya taşır)<br> 23. MoveFolder (Klasör taşır)<br> 24. OpenTextFile (Text dosyası açar)<br> <br>FileSystemObject Özellikleri (Properties)<br> 1. Drives (Sürücü nesnesinin bir koleksiyonunu döndürür)<br> <br>Bu metodları inceleyelim<br> <br>BuildPath<br> <br>Verdiğiniz bir yol üzerine verdiğiniz isimde yeni yol ekler. Yol ifadesinin geçerli bir yol ifadesi olması gerekmez. String üzerinde işlem yapar.<br> <br> YeniYol = FSO.BuildPath(yol,eklenecek isim)<br> <br> <div style="border: 1px dashed black; padding: 10px; background: #eeeeee none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" > &lt;%<br> YeniYol = FSO.BuildPath(&quot;C:\Inetpub\wwwroot&quot;,&quot;images&quot;)<br> %&gt;</div> <br> YeniYol değişkeninin değeri &quot;C:\Inetpub\wwwroot\images&quot; olur.<br> <br> <div style="border: 1px dashed black; padding: 10px; background: #eeeeee none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" > &lt;%<br> Response.Write FSO.BuildPath(&quot;Metin&quot;,&quot;Aksu&quot;)<br> %&gt;</div> <br> Çıktısı &quot;Metin\Aksu&quot; olur.<br> <br> Sadece tek bir isim kullanmak zorunda değilsiniz. &quot;images&quot; yerine &quot;images\deneme&quot; şeklinde de verebilirsiniz. Bu durumda da çıktı &quot;C:\Inetpub\wwwroot\images\deneme&quot; olacaktır. Bu metodun yaptığı işi aşağıdaki şekilde de yapabilirsiniz.<br> <br> <div style="border: 1px dashed black; padding: 10px; background: #eeeeee none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" > &lt;%<br> YeniYol = &quot;C:\Inetpub\wwwroot&quot; &amp; &quot;\&quot; &amp; &quot;images&quot;<br> %&gt;</div> <br> Ama sizin ana ve eklenecek yolunuz fazladan slashlar içeriyorsa yada değişkenler başka yerden alınıyor ve nasıl geldiğini bilmiyorsanız BuildPath sizi bunları temizleme derdinden kurtarır.<br> <br> <div style="border: 1px dashed black; padding: 10px; background: #eeeeee none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" > &lt;%<br> YeniYol = FSO.BuildPath(&quot;C:\Inetpub\wwwroot\&quot;,&quot;\images&quot;)<br> %&gt;</div> <br> Çıktısı &quot;C:\Inetpub\wwwroot\images&quot; olur.<br> <br>CopyFile (dosya kopyala)<br> Bu nesne ile Server üzerinde dosya yaratırız;<br> <br> <div style="border: 1px dashed black; padding: 10px; background: #eeeeee none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" > &lt;%<br> Dim Kopyala<br> Set Kopyala=CreateObject (&quot;Scripting.FileSystemObject&quot;)<br> Kopyala.CopyFile &quot;c:\inetpub\wwwroot\asp\dosya.txt&quot;, &quot;c:\inetpub\wwwroot\nedir\&quot;, true<br> %&gt;</div> <br>Kodları inceleyelim;<br> Dim Kopyala<br> Set Kopyala=CreateObject (&quot;Scripting.FileSystemObject&quot;)<br> <br>&quot;Kopyala&quot; isimli bir değişken yaratmıştık. Ve bu değişkeni FileSystemObject nesnesinde kullanacağımızı belirlemiştik.<br> Kopyala.CopyFile &quot;c:\inetpub\wwwroot\asp\dosya.txt&quot;, &quot;c:\inetpub\wwwroot\nedir\&quot;, true<br> <br>&quot;Asp&quot; dizini olarak yerini belirlediğimiz dosyayı kopyalıyoruz ve &quot;nedir&quot; dizinine yapıştırıyoruz.<br> <br>Nasıl yapacağımızı öğrendik fakat dikkat etmemiz gereken bir nokta var örnekteki &quot;nedir&quot; dizini server da yoksa hata mesajı ile karşılaşırsınız.<br> CopyFolder<br> <br>Belirtilen bir hedef klasörü tüm alt klasörleri ve dosyaları ile birlikte belirtilen bir hedef klasöre kopyalar.<br> <br>FSO.CopyFolder KaynakKlasor,Hedef,Overwrite<br> <br>KaynakKlasor kopyalanacak olan klasör, Hedef kaynak klasörün kopyalanacağı hedef klasördür. Overwrite ise True veya False değerlerini alarak eğer klasör var ise klasörün üzerine yazılıp yazılmayacağını belirler. True olursa üzerine yazılır. False olursa yazılmaz. Eğer belirtilmez ise varsayılan olarak True kabul edilir.<br> <br>&lt;%<br> FSO.CopyFolder &quot;C:\Windows&quot;,&quot;D:\Deneme\&quot;,True<br> %&gt;<br> <br> Bu kod C sürücüsündeki Windows klasörünü tüm içeriğiyle beraber D sürücüsündeki Deneme isimli klasörün içine kopyalar.Hedef belirtilirken sonunda slash kullanıldığına dikkat edin. Eğer slash kullanmazsanız Windows klasörünün içeriği(kendisi değil) Deneme klasörüne kopyalanır.<br> <br> <div style="border: 1px dashed black; padding: 10px; background: #eeeeee none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" > &lt;%<br> FSO.CopyFolder &quot;C:\Deneme\*&quot;,&quot;D:\Deneme\&quot;<br> 'veya<br> FSO.CopyFolder &quot;C:\Deneme\*&quot;,&quot;D:\Deneme&quot;<br> %&gt;</div> <br>Bu şekilde C sürücüsündeki Deneme klasörünün sadece alt klasörleri D sürücüsündeki Deneme klasörüne kopyalanır.<br> <br> Eğer hedef olarak verdiğiniz klasör yok ise oluşturulur ve kaynak klasörün içeriği buraya kaydedilir. Yani farklı kaydetme olayı. Mesela D sürücüsünde WinXP isimli bir klasör yok diyelim. <br> <br> <div style="border: 1px dashed black; padding: 10px; background: #eeeeee none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" > &lt;%<br> FSO.CopyFolder &quot;C:\Windows&quot;,&quot;D:\WinXP&quot;<br> %&gt;</div> <br> Bu durumda C sürücüsündeki Windows klasörü D sürücüsüne WinXP ismiyle kaydedilir. Hedef klasör belirtilirken yine slash kullanılmadığına dikkat edin.<br> <br> Eğer XYZ klasörü yoksa<br> <br> <div style="border: 1px dashed black; padding: 10px; background: #eeeeee none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" > &lt;%<br> FSO.CopyFolder &quot;C:\Windows&quot;,&quot;D:\XYZ\WinXP&quot;<br> %&gt;</div> <br> derseniz hata alırsınız. FSO sizin için bir XYZ klasörü oluşturup bunun içine WinXP'yi oluşturmaz. Ama eğer XYZ klasörü varsa WinXP klasörü yoksa bu oluşturulur ve kaynak klasör içeriği bunun içine kopyalanır. Eğer WinXP klasörü de varsa bu durumda, yukarda belirtildiği gibi, sonda slash kullanılıp kullanılmadığına bağlı olarak kaynak klasör aynı isimle klasör yapısı korunarak veya sadece içeriğiyle bu klasör içine kopyalanır.<br> <br> NOT : FSO ile bu şekilde klasör kopyalayacağınız gibi &quot;FSO ile klasör işlemleri&quot; konusunda göreceğiniz gibi GetFolder ile klasörü bir nesneye atayıp &quot;KlasorNesnesi.Copy Hedef&quot; şeklinde de kopyalayabilirsiniz. Ancak bu şekilde tek bir klasör kopyalayabilirsiniz.<br> <br> <div style="border: 1px dashed black; padding: 10px; background: #eeeeee none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" > &lt;% <br> FSO.CopyFolder &quot;C:\Windows&quot; , &quot;D:\Deneme&quot;, True(False)<br> %&gt;</div> <br> ile <br> <br> <div style="border: 1px dashed black; padding: 10px; background: #eeeeee none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" > &lt;% <br> Set Klasor = FSO.GetFolder(&quot;C:\Windows&quot;)<br> Klasor.Copy &quot;D:\Deneme&quot;, True(False)<br> %&gt;</div> <br> aynı işi görür.<br> <br> CreateFolder<br> <br>Adından anlayacağınız gibi verdiğiniz klasör içinde verdiğiniz isimde boş bir klasör oluşturur.<br> <br>FSO.CreateFolder YeniKlasor <br> <br> True/False şeklinde bir argümanı yoktur. Eğer oluşturulmak istenen klasör varsa hata verir.<br> <br> <div style="border: 1px dashed black; padding: 10px; background: #eeeeee none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" > &lt;%<br> FSO.CreateFolder &quot;C:\Deneme&quot;<br> %&gt;</div> <br> C sürücüsünde Deneme isimli bir klasör oluşturur<br> <br> <div style="border: 1px dashed black; padding: 10px; background: #eeeeee none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" > &lt;%<br> FSO.CreateFolder &quot;C:\Metin\Aksu&quot;<br> %&gt;</div> <br> Eğer C sürücünde Metin isimli bir klasör varsa içine Aksu isminde bir klasör oluşturur. Eğer yoksa yol bulunamadı hatası verir.<br> <br> <div style="border: 1px dashed black; padding: 10px; background: #eeeeee none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" > &lt;%<br> FSO.CreateFolder &quot;C:\Windows\System32\MetinAksu&quot;<br> %&gt;</div> <br>System32 klasörü içinde MetinAksu isminde bir klasör oluşturur.<br> <br>CreateTextFile<br> <br> İstediğiniz dizinde adını belirleyebileceğiniz, içine yazı da yazabileceğimiz bir text dosyası yaratmamızı sağlar. Vereceğimiz örnekte yaratılacak text dosyasının uzantısını .txt olarak belirledik siz bunu .asp,.inc,.aspx vs.. olarak ta yapabilirsiniz hatta yarattığınız dosyanın içine asp kodları da yazdırabilirsiniz.<br> <br> <div style="border: 1px dashed black; padding: 10px; background: #eeeeee none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" > &lt;%<br> Dim Dosya, Yazi<br> Set Dosya=CreateObject (&quot;Scripting.FileSystemObject&quot;)<br> Set Yazi = Dosya.CreateTextFile (&quot;c:\inetpub\wwwroot\asp\Deneme.txt&quot;, true)<br> Yazi.WriteLine (&quot;ASPnedir?com - deneme mesajı.&quot;)<br> Yazi.WriteLine (&quot;ASP ile text dosyasına mesaj yazdırıyoruz&quot;)<br> Yazi.Close <br> %&gt;</div> <br>Bu kodu yazıp çalıştırırsanız, belirlediğiniz dizinde Deneme.txt isminde bir yazı dosyası yaratılır. Ve içine bizim yazdırdığımız mesajlar yazılır. <br> <br>Kodları denerken dikkat etmeniz gereken klasörün yolunu doğru vermektir.<br> <br> DeleteFile<br> <br> Daha önceden belirlediğimiz dosyayı silmemizi sağlar.<br> <br> <div style="border: 1px dashed black; padding: 10px; background: #eeeeee none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" > &lt;%<br> Dim Sil<br> Set Sil=CreateObject (&quot;Scripting.FileSystemObject&quot;)<br> Sil.DeleteFile (&quot;c:\inetpub\wwwroot\aspnedir\deneme.txt&quot;)<br> %&gt;</div> <br>Buradaki kodlar ile &quot;aspnedir&quot; dizindeki deneme.txt ismindeki dosyayı siliyoruz.<br> DeleteFolder<br> <br> Belirlediğimiz dizindeki herhangi bir klasörü silmemizi sağlar.<br> <br> <div style="border: 1px dashed black; padding: 10px; background: #eeeeee none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" > &lt;%<br> Dim Sil<br> Set Sil=CreateObject (&quot;Scripting.FileSystemObject&quot;)<br> Sil.DeleteFolder (&quot;c:\inetpub\wwwroot\aspnedir\deneme&quot;)<br> %&gt;</div> <br>Buradaki kodlar &quot;aspnedir&quot; dizindeki &quot;deneme&quot; isimli klasörü siler. <br> <br>DriveExists<br> <br>Belirttiğiniz sürücünün var olup olmadığını test eder. Eğer var ise True yoksa False değeri döndürür.<br> <br>FSO.DriveExists(&quot;Sürücü Harfi&quot;)<br> <br> Verilecek değer Windows'un sürücüleri isimlendirme kurallarına uymalıdır. Yani bir sürücüyü ifade etmek için harf kullanmalısınız. Aksi takdirde çıktı olarak her zaman False değeri döndürür.<br> <br> <div style="border: 1px dashed black; padding: 10px; background: #eeeeee none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" > &lt;%<br> Response.Write FSO.DriveExists(&quot;C&quot;)<br> %&gt;</div> <br> Ekrana True yazdıracaktır.<br> <br> <div style="border: 1px dashed black; padding: 10px; background: #eeeeee none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" > &lt;%<br> Response.Write FSO.DriveExists(&quot;Z&quot;)<br> %&gt;</div> <br> Eğer hard diskinizi paramparça etmediyseniz False değeri döndürecektir. :)))))<br> <br> Sürücü harfini tek başına yada önüne : veya :\ veya :/ konmuş şekilde kullanabilirsiniz.<br> <br> <div style="border: 1px dashed black; padding: 10px; background: #eeeeee none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" > &lt;%<br> FSO.DriveExists(&quot;C&quot;)<br> FSO.DriveExists(&quot;C:&quot;)<br> FSO.DriveExists(&quot;C:\&quot;)<br> FSO.DriveExists(&quot;C:/&quot;)<br> %&gt;</div> <br>Yukarıdaki kullanımların hepsi geçerlidir.<br> <br> FileExist<br> <br> Bu nesnemiz server da belirlediğiniz isimli bir dosya olup olmadığını kontrol eder.<br> <br> <div style="border: 1px dashed black; padding: 10px; background: #eeeeee none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" > &lt;%<br> Dim Kontrol<br> Set Kontrol=Server.CreateObject(&quot;Scripting.FileSystemObject&quot;)<br> If Kontrol.FileExists (&quot;c:\inetpub\wwwroot\aspnedir\deneme.txt&quot;) = true then<br> Response.Write (&quot;deneme.txt dosyası bulundu!&quot;) <br> <br>Else<br> Response.Write (&quot;deneme.txt dosyası bulunamadı!&quot;) <br> End If<br> Set Kontrol=Nothing <br> %&gt;</div> <br> FolderExist<br> <br> Bu nesnemiz server da belirlediğiniz isimli bir klasör olup olmadığını kontrol eder.<br> <br> <div style="border: 1px dashed black; padding: 10px; background: #eeeeee none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" > &lt;%<br> Dim Kontrol<br> Set Kontrol=Server.CreateObject(&quot;Scripting.FileSystemObject&quot;)<br> If Kontrol.FolderExists (&quot;c:\inetpub\wwwroot\aspnedir\deneme&quot;) = true then<br> Response.Write (&quot;deneme klasörü bilgisayarda bulundu.&quot;) <br> <br>Else<br> Response.Write (&quot;deneme klasörü bilgisayarda bulunamadı!&quot;)<br> End If<br> <br>Set Kontrol=Nothing <br> %&gt;</div> <br>GetAbsolutePathName<br> <br>Verdiğiniz bir yol için sürücünün root dizininden Windows isimlendirme kuralına göre tam yolu getirir. Verdiğiniz yolun geçerli olup olmaması yada Windows standartlarına uyması önemli değildir. Çünkü bu metot string üzerinde işlem yapar.<br> <br> FSO.GetAbsolutePathName(&quot;yol&quot;)<br> <br> <div style="border: 1px dashed black; padding: 10px; background: #eeeeee none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" > &lt;%<br> Response.Write FSO.GetAbsolutePathName(&quot;C:\Inetpub\wwwroot&quot;)<br> Response.Write FSO.GetAbsolutePathName(&quot;C:\Inetpub\wwwroot\&quot;)<br