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 "asp.dll" adlı bir programa iletir. asp.dll'de aldığı bu dosyayı
hemen yorumlamaz. "Global.asa" 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;" >
<%<br>
DIM Gun, Ay, Ogrenci, Not<br>
Gun = "Sali"<br>
Ay = "Mart"<br>
Ogrenci = "Selcuk"<br>
Not = 5<br>
%></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;" >
<% OPTION EXPLICIT %></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 = "Freelancer Web Tasarım " <br>
Const Slogan = "WebMastering"
<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;" >
<%<br>
Dim dizi(4)<br>
%></div>
<br>burada dikkat edeceğiniz husus 5 elemanlı bir dizi için "4"
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;" >
<%<br>
dizi(0) = "Mete Kaan"<br>
dizi(1) = "Alp Uygur"<br>
dizi(2) = "Atila Yayla"<br>
dizi(3) = "Tuncay Efe"<br>
dizi(4) = "Cengiz Orhan"<br>
%></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;" >
<%<br>
dizi = Array("Mete Kaan"," Alp Uygur","
Atila Yayla"," Tuncay Efe"," Cengiz Orhan
")<br>
%> </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;" >
<%<br>
Dim dizi(2,2)<br>
%></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;" >
<%<br>
<br>dizi(1,1) = 1<br>
dizi(1,2) = 2<br>
dizi(2,1) = 2<br>
dizi(2,2)= 1<br>
<br>
%></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;" >
<%<br>
Dim dizi (3,3) <br>
%> </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;" >
<%<br>
dizi (0,0)="test" <br>
dizi (0,1)="deneme" <br>
dizi (0,2)="test2" <br>
dizi (1,0)="deneme2" <br>
dizi (1,1)="111-23-4" <br>
dizi (1,2)="iskender" <br>
%> </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 = "15"<br>
degisken_3 = "Zeytinyagli yiyemem amaan, basma da fistan giyemem
aman."<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 " " işaretleri içerisinde yer almalıdır.<br>
Adi="Gökhan"<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;" >
<%<br>
<br>Dizi = "ASP kursu içerisinde VBScripti isliyoruz"<br>
AranacakStr = "VB"<br>
<br>Kacinci = InStr(Dizi, AranacakStr)<br>
<br>Response.Write Kacinci<br>
<br>
%></div>
<br>Burada ekranımızda görünecek olan sayi 22’dir. "VB" 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;" >
<% Dizi = "Erciyes"<br>
Response.Write Len(Dizi)<br>
%> </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;" >
<%<br>
YeniString = UCase(Degisken)<br>
%></div>
<br>Yeni String'in değeri: "ASP OGRENIYORUM" 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;" >
<%<br>
YeniString = LCase(Degisken)<br>
%> </div>
<br>Yeni String'in değeri: "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;" >
<%<br>
Bosluk = Space(20)<br>
%> </div>
<br> Bosluk değişkenin değeri " " (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;" >
<%<br>
YeniString = String(3, "*")<br>
%> </div>
<br> YeniString değişkeninin değeri "***" olacaktır.
<h4>Left(Degisken, Sayi):</h4>
Bir yazı dizisindeki karakterlerin, soldan "Sayı" 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;" >
<%<br>
Soldanbes = Left("ASP ögreniyoruz.", 5)<br>
Response.Write soldanbes<br>
%></div>
<br>Sonucumuz "ASP ö" olacaktır. <br>
<br>Right(Degisken, Sayi): Bir yazi dizisindeki karakterlerin, sagdan
"Sayi" 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;" >
<% Degisken = "ASP ögreniyoruz"<br>
YeniDegisken = Mid(Degisken, 4, 2)<br>
Response.Write YeniDegisken<br>
%> </div>
<br>"ög" 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;" >
<% Degisken = "ASP ögreniyoruz"<br>
YeniDegisken = Replace(Degisken, "uz", "m ben
de")<br>
Response.Write YeniDegisken<br>
%></div>
<br>Ekrana yazilacak sonuç "ASP ögreniyorum ben de" 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;" >
<%<br>
Tamsayi = Int(KesirliSayi)<br>
%></div>
<br>Tamsayi değişkenin değeri 123 olur.
<h4>Round()</h4>
fonksiyonu, kesirli bir sayıyı yukarı veya aşağı "yuvarlayarak"
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;" >
<%<br>
Tamsayi = Int(KesirliSayi)<br>
%> </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;" >
<% <br>
Set MyPageCounter = Server.CreateObject("MSWC.PageCounter")<br>
MyPageCounter.PageHit<br>
%><br>
Bu Web sayfası <%= MyPageCounter.Hits %> 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;" >
<%<br>
Set VT= Server.CreateObject("ADODB.Connection" )
<br>
VT.Open "DBQ=" & Server.MapPath(" uyeler.mdb"
) & ";DRIVER={Microsoft Access Driver (*.mdb)}"<br>
Set KS = Server.CreateObject ("ADODB.RecordSet"
) <br>
Sql = " Select * from table1 "<br>
KS.Open sql,VT,1,3<br>
%><br>
<br><%<br>
KS.AddNew<br>
KS ("uyeAdi") = "Mete"<br>
KS ("uyeSoyadi") = "Uygur"<br>
KS ("email") = "meteuygur@xxxxx.com"<br>
KS ("mesaj") = "Benim Mesajım"<br>
KS.Update<br>
%><br>
<br><%<br>
KS.close<br>
set KS=nothing<br>
VT.close<br>
set VT=nothing<br>
%></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;" >
<%<br>
Set VT= Server.CreateObject("ADODB.Connection" )
<br>
VT.Open "DBQ=" & Server.MapPath(" uyeler.mdb"
) & ";DRIVER={Microsoft Access Driver (*.mdb)}"<br>
Set KS = Server.CreateObject ("ADODB.RecordSet"
) <br>
Sql = " Select * from table1 where uyeNo = 1"<br>
KS.Open sql,VT,1,3<br>
%><br>
<br>
<%<br>
KS ("uyeAdi") = "Kaan"<br>
KS ("uyeSoyadi") = "Ateş"<br>
KS ("email") = "kaanates@xxxxx.com"<br>
KS ("mesaj") = "Kaanın Mesajı"<br>
KS.Update<br>
%><br>
<br> <%<br>
KS.close<br>
set KS=nothing<br>
VT.close<br>
set VT=nothing<br>
%></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;" >
<%<br>
Set VT= Server.CreateObject("ADODB.Connection" )
<br>
VT.Open "DBQ=" & Server.MapPath(" uyeler.mdb"
) & ";DRIVER={Microsoft Access Driver (*.mdb)}"<br>
Set KS = Server.CreateObject ("ADODB.RecordSet"
) <br>
Sql = " Select * from table1 where uyeNo = 1"<br>
KS.Open sql,VT,1,3<br>
%><br>
<br>
<%<br>
KS.Delete<br>
%><br>
<br> <%<br>
KS.close<br>
set KS=nothing<br>
VT.close<br>
set VT=nothing<br>
%></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 "3" ve "1" 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;" >
<%<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>
………%></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 "include" 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><!-- #include file="adovbs.inc" --> <br>
veya<br>
<!--#include virtual="/adovbs.inc"--><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;" >
<HTML><br>
<HEAD><br> <TITLE>HTTP ServerDegişkenleri
</TITLE><br> </HEAD><br> <BODY><br> <CENTER><br>
HTTP Server Değişkenleri Kolleksiyonu<br> </CENTER><br>
<TABLE BORDER=1><br> <TR><TD><B>Değişkenin
adı</B></TD> <TD><B>Değeri</B></TD></TR><br>
<% For Each key in Request.ServerVariables %><br> <TR><br>
<TD><% = key %></TD><br> <TD><br> <%If
Request.ServerVariables(key) = "" Then<br>
Response.Write "&nbsp;" <br>
Else <br>
Response.Write Request.ServerVariables(key)<br>
End If<br>
Response.Write "</TD>"%><br> </TR><br>
<% Next %><br> </TABLE><br> <p><br>
Host'unuzun adı:<B> <%=Request.ServerVariables("HTTP_HOST")%></B><br>
</BODY><br>
</HTML></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> • Veritabanı bağlantısının oluşturulması<br>
• Veritabanı başlantısının açılması<br>
• Kayıt dizisinin oluşturulması<br>
• Kayıt dizisinin açılması <br>
• ...Veritabanı ile yapılacak işlemler <br>
• Kayıt dizisinin kapatılması<br>
• 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ðlantısı kullanmadan bir veritabanı bağlantısı
oluşturabiliriz. Kuşkusuz bul yol çok daha kolaydır.
<h4>ODBC ile DSN Bağlantısı</h4>
Öncelikle bilgisayarınızda veritabanı oluşturma programı
ö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ürü<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çilacak kutuda Add/Ekle dügmesini tiklayarak, yeni veri kaynagi olusturmak
için ilk adim olan veriyi okumakta kullanacagimiz sürücüyü
seçebilecegimiz kutunun açilmasini saglayin. Burada, yukarida olusturdugunuz
veri dosyasina uygun sürücüyü seçin. Örnek uyeler.mdb'yi
kullaniyorsaniz, birinci seçenek olan Microsoft Access Driver'i seçmeniz
gerekir. Son dü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 "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ı
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; "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.
<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;" >
<%<br>
Dim Veriyolu<br>
Set Veriyolu = Server.CreateObject("ADODB.Connection")<br>
Veriyolu.Open "uyeler "<br>
%> <br>
Recordset (Kayıt dizisi)
<p><%<br>
Dim Veriyolu, Kayitdizisi<br>
Set Veriyolu = Server.CreateObject("ADODB.Connection")<br>
Veriyolu.Open "uyeler"<br>
Set Kayitdizisi = Veriyolu.Execute("SELECT * FROM table1")<br>
%></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;" >
<%<br>
Dim Veriyolu, Kayitdizisi, Sorgu<br>
Set Veriyolu = Server.CreateObject("ADODB.Connection")<br>
Veriyolu.Open "uyeler"<br>
Set Kayitdizisi = Server.CreateObject("ADODB.Recordset")<br>
Sorgu = "SELECT * FROM table1"<br>
Kayitdizisi.Open Sorgu, Veriyolu, aOpenStatic<br>
%><br>
Dns Siz baðlantý<br> <%<br>
Set VT= Server.CreateObject("ADODB.Connection" ) <br>
VT.Open "DBQ=" & Server.MapPath(" uyeler.mdb"
) & ";DRIVER={Microsoft Access Driver (*.mdb)}"<br>
%></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;" >
<%<br>
Set KS = Server.CreateObject ("ADODB.RecordSet" )
<br>
Sql = " Select * from table1 "<br>
KS.Open sql,VT,1,3<br>
%></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. "VT" 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. "VT"
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;" >
<%<br>
set KS=nothing<br>
set VT=nothing<br>
%> </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;" >
<%<br>
KS.close<br>
set KS=nothing<br>
VT.close<br>
set VT=nothing<br>
%></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;" >
<%<br>
Response.Expires = 0<br>
'Expires sayesinde sayfanın içeriğinin bilgilerinin cache
bellekte saklanmasını engelleriz.<br>
%><br>
<br><%<br>
If (Application("Sayac") = "") Then<br>
'Bu ziyaretçi için Application başlatılmadıysa başlatılsın.<br>
Application("Sayac") = 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>
<%<br>
Application("Sayac") = Application("Sayac")
+ 1<br>
Application.UnLock<br>
'Ve tekrar serbest bırakıyoruz. Diğer kullanıcılarla bu Application<br>
'kullanılabilsin diye... <br>
%><br>
Bu Sayfaya <%= Application("Sayac") %> 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><% On Error Resume next %> <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> "Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Driver Manager] Veri kaynağı adı bulunamadı
ve varsayılan sürücü belirtilmemiş"<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> "Microsoft VBScript çalışma hatası (0x800A004C)
Yol bulunamadı"<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"<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."<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> "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ç)"<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> "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."<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> "Microsoft VBScript çalışma hatası
(0x800A000D) Tür uyumsuz: 'a'"<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> "Microsoft VBScript derleme hatası
(0x800A0409) Sonlandırılmamış dize sabiti"<br></td>
</tr>
<tr>
<td height="21"> <br>Sebebi<br></td>
<td> <br> Çift tırnak (") 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> "Microsoft VBScript derleme hatası
(0x800A03F6) 'End gerekli"<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 "end if" 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 (%>)<br></td>
</tr>
<tr>
<td height="21"> <br>Sebebi<br></td>
<td> <br> Kodlarınızı "%>" ile kapatmamışsınız<br></td>
</tr>
<tr>
<td><br>Çözümü<br></td>
<td><br> "%>" 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;" >
<!-- #include file="veri.asp" --><br>
Bu kodu ASP taglarının dışına yazabiliriz. Fakat; <br> <%<br>
Server.Transfer("veri.asp")<br>
%></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;" >
<%<br>
YeniYol = FSO.BuildPath("C:\Inetpub\wwwroot","images")<br>
%></div>
<br>
YeniYol değişkeninin değeri "C:\Inetpub\wwwroot\images" 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;" >
<%<br>
Response.Write FSO.BuildPath("Metin","Aksu")<br>
%></div>
<br> Çıktısı "Metin\Aksu" olur.<br>
<br>
Sadece tek bir isim kullanmak zorunda değilsiniz. "images" yerine "images\deneme"
şeklinde de verebilirsiniz. Bu durumda da çıktı "C:\Inetpub\wwwroot\images\deneme"
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;" >
<%<br>
YeniYol = "C:\Inetpub\wwwroot" & "\"
& "images"<br>
%></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;" >
<%<br>
YeniYol = FSO.BuildPath("C:\Inetpub\wwwroot\","\images")<br>
%></div>
<br> Çıktısı "C:\Inetpub\wwwroot\images" 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;" >
<%<br>
Dim Kopyala<br>
Set Kopyala=CreateObject ("Scripting.FileSystemObject")<br>
Kopyala.CopyFile "c:\inetpub\wwwroot\asp\dosya.txt",
"c:\inetpub\wwwroot\nedir\", true<br>
%></div>
<br>Kodları inceleyelim;<br>
Dim Kopyala<br>
Set Kopyala=CreateObject ("Scripting.FileSystemObject")<br>
<br>"Kopyala" isimli bir değişken yaratmıştık. Ve bu değişkeni
FileSystemObject nesnesinde kullanacağımızı belirlemiştik.<br>
Kopyala.CopyFile "c:\inetpub\wwwroot\asp\dosya.txt", "c:\inetpub\wwwroot\nedir\",
true<br>
<br>"Asp" dizini olarak yerini belirlediğimiz dosyayı kopyalıyoruz
ve "nedir" dizinine yapıştırıyoruz.<br>
<br>Nasıl yapacağımızı öğrendik fakat dikkat etmemiz gereken bir nokta
var örnekteki "nedir" 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><%<br>
FSO.CopyFolder "C:\Windows","D:\Deneme\",True<br>
%><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;" >
<%<br>
FSO.CopyFolder "C:\Deneme\*","D:\Deneme\"<br>
'veya<br>
FSO.CopyFolder "C:\Deneme\*","D:\Deneme"<br>
%></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;" >
<%<br>
FSO.CopyFolder "C:\Windows","D:\WinXP"<br>
%></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;" >
<%<br>
FSO.CopyFolder "C:\Windows","D:\XYZ\WinXP"<br>
%></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 "FSO ile klasör işlemleri"
konusunda göreceğiniz gibi GetFolder ile klasörü bir nesneye atayıp "KlasorNesnesi.Copy
Hedef" ş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;" >
<% <br>
FSO.CopyFolder "C:\Windows" , "D:\Deneme",
True(False)<br>
%></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;" >
<% <br>
Set Klasor = FSO.GetFolder("C:\Windows")<br>
Klasor.Copy "D:\Deneme", True(False)<br>
%></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;" >
<%<br>
FSO.CreateFolder "C:\Deneme"<br>
%></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;" >
<%<br>
FSO.CreateFolder "C:\Metin\Aksu"<br>
%></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;" >
<%<br>
FSO.CreateFolder "C:\Windows\System32\MetinAksu"<br>
%></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;" >
<%<br>
Dim Dosya, Yazi<br>
Set Dosya=CreateObject ("Scripting.FileSystemObject")<br>
Set Yazi = Dosya.CreateTextFile ("c:\inetpub\wwwroot\asp\Deneme.txt",
true)<br>
Yazi.WriteLine ("ASPnedir?com - deneme mesajı.")<br>
Yazi.WriteLine ("ASP ile text dosyasına mesaj yazdırıyoruz")<br>
Yazi.Close <br>
%></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;" >
<%<br>
Dim Sil<br>
Set Sil=CreateObject ("Scripting.FileSystemObject")<br>
Sil.DeleteFile ("c:\inetpub\wwwroot\aspnedir\deneme.txt")<br>
%></div>
<br>Buradaki kodlar ile "aspnedir" 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;" >
<%<br>
Dim Sil<br>
Set Sil=CreateObject ("Scripting.FileSystemObject")<br>
Sil.DeleteFolder ("c:\inetpub\wwwroot\aspnedir\deneme")<br>
%></div>
<br>Buradaki kodlar "aspnedir" dizindeki "deneme"
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("Sürücü Harfi")<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;" >
<%<br>
Response.Write FSO.DriveExists("C")<br>
%></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;" >
<%<br>
Response.Write FSO.DriveExists("Z")<br>
%></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;" >
<%<br>
FSO.DriveExists("C")<br>
FSO.DriveExists("C:")<br>
FSO.DriveExists("C:\")<br>
FSO.DriveExists("C:/")<br>
%></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;" >
<%<br>
Dim Kontrol<br>
Set Kontrol=Server.CreateObject("Scripting.FileSystemObject")<br>
If Kontrol.FileExists ("c:\inetpub\wwwroot\aspnedir\deneme.txt")
= true then<br>
Response.Write ("deneme.txt dosyası bulundu!") <br>
<br>Else<br>
Response.Write ("deneme.txt dosyası bulunamadı!")
<br>
End If<br>
Set Kontrol=Nothing <br>
%></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;" >
<%<br>
Dim Kontrol<br>
Set Kontrol=Server.CreateObject("Scripting.FileSystemObject")<br>
If Kontrol.FolderExists ("c:\inetpub\wwwroot\aspnedir\deneme")
= true then<br>
Response.Write ("deneme klasörü bilgisayarda bulundu.")
<br>
<br>Else<br>
Response.Write ("deneme klasörü bilgisayarda bulunamadı!")<br>
End If<br>
<br>Set Kontrol=Nothing <br>
%></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("yol")<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;" >
<%<br>
Response.Write FSO.GetAbsolutePathName("C:\Inetpub\wwwroot")<br>
Response.Write FSO.GetAbsolutePathName("C:\Inetpub\wwwroot\")<br