Bu Konu Sizin İşinize Yaradıysa Neden Bir Başkasıda Yararlanamasın? Haydi Tanıdıklarınızla Paylaşın!

Mesaj Önizleme 
 
Konuyu Değerlendir
  • 0 Oy - 0 Ortalama
  • 1
  • 2
  • 3
  • 4
  • 5
Asp Web Programlama Dersleri
09-08-2008, 03:34 AM (En son düzenleme: 09-08-2008 04:00 AM djfatih08.)
Mesaj: #1
Asp Web Programlama Dersleri

Evet arkadaşlar burada ASp hakkındaki herşeyi bulabilirsiniz. Sorularınıza elimden geldiğince cevap yazmaya çalışırım.

Arkadaşlar konumuz çok uzun o yüzden bulam istediğiniz konuyu CTRL+F yaparak arattırabilirsiniz.

ASP Nedir Nasıl Çalışır


ASP (Active server pages / Aktif Sunucu Sayfaları)

ASP bir Microsoft teknolojisidir.

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.
ASP NASIL İŞLİYOR?
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.

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.

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.

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.

DEGİŞKENLER
DEGİŞKEN BİLDİRİMİ
VBScript'te degiskenler için esneklik had safhadadir. Degisken bildirim zorunlulugu bulunmamaktadir. Ve buna bağli olarak degişken türü bildirimi de yoktur.

Degişkenleri tanımlamak istiyorum diyorsanız Bunu DIM komutunu kullanmalısınız. DIM, Dimension (boyutlandır) kelimesinden kısaltılmıştır.
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:
1- Değişken ismi bir harf ile başlamalıdır
Ad1,Ad2 şeklinde değişken tanımı yapılabilir fakat 1Ad veya 2Ad kullanımı yanlıştır.

2-Değişken isminde boşluk bulunamaz. Bunun yerine alt çizgi karakteri kullanılabilir.
Adi_Soyadi doğru kullanımdır. Değişken isimlerinde türkçe karekterler kullanılmaz.
3-Değişkene verilecek isim Vbscript komutlarını içeremez
Dim bir değişken ismi olamaz.

4-Değişken ismi 255 karakterden fazlada olamaz.

Kod:
<%
DIM Gun, Ay, Ogrenci, Not
Gun = "Sali"
Ay = "Mart"
Ogrenci = "Selcuk"
Not = 5
%>

Bir ASP sayfasının birinci satırı olarak

Kod:
<% OPTION EXPLICIT %>

yazarsanız size tanımlamadığınız değişkenleri tanımlamadan programınızı çalıştırma izni vermeyecektir.

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.
SABİT DEĞERLER
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:
Const Deger = 123654
Const SirketinAdi = "Freelancer Web Tasarım "
Const Slogan = "WebMastering"
DİZİ DEĞİŞKENLERİ
Verilerin ard arda tutulmasını sağlayan değişkenlere diziler diyoruz.Şimdi örnek olarak 5 elemanlı bir dizi oluşturalım.

Kod:
<%
Dim dizi(4)
%>

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.

Ş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.

Örnek :
İndis belirterek değer atama

Kod:
<%
dizi(0) = "Mete Kaan"
dizi(1) = "Alp Uygur"
dizi(2) = "Atila Yayla"
dizi(3) = "Tuncay Efe"
dizi(4) = "Cengiz Orhan"
%>

Seri şekilde değer atama

Kod:
<%
dizi = Array("Mete Kaan"," Alp Uygur"," Atila Yayla"," Tuncay Efe"," Cengiz Orhan ")
%>

REDİM
:
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.
ReDim dizi(15)
rendim prereserve dizi(15)
ÇOK BOYUTLU DİZİLER
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.

Kod:
<%
Dim dizi(2,2)
%>

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.

Buna göre değer atayacak olursak

Kod:
<%

dizi(1,1) = 1
dizi(1,2) = 2
dizi(2,1) = 2
dizi(2,2)= 1

%>

Kod:
<%
Dim dizi (3,3)
%>

Şeklinde bir tanımlama 3 X 3 boyutlarında bir dizi oluşturur bu diziye atama yapılmak istenildiğinde ise:

Kod:
<%
dizi (0,0)="test"
dizi (0,1)="deneme"
dizi (0,2)="test2"
dizi (1,0)="deneme2"
dizi (1,1)="111-23-4"
dizi (1,2)="iskender"
%>

DEGISKENLERDE VERI TÜRLERI

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.

Örnek :

degisken_1 = 15
degisken_2 = "15"
degisken_3 = "Zeytinyagli yiyemem amaan, basma da fistan giyemem aman."
degisken_4 = true
degisken_5 = Sen Turgay , daglarin kartali, bir yanim biçak yarasi bir

degisken_1 ; sayısal tipte degişken olacaktır.
degisken_2 ; “ “ işaretleri kullanıldıgından sayısal degil, alfa-sayısal bir tipte degişken oldu.
degisken_3 ;. String tipte bir degişken olur
degisken_4 ; boolean tipte bir degişken olur
degisken_5 ; “ “ işareti kullanılmadığından gerçeli bir atama olmaz ve hata verir.
VERİ TİPLERİ
VARIANT:
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:

1- Byte
1 Baytlık işaretsiz tamsayı tipidir. 0 ile 255 arasında değer alabilir.
2-Integer
2 Baytlık işaretli tamsayı tipidir. -32.768 ile 32.767 arasında değer alabilir.
3-Long
4 Baytlık işaretli tamsayı tipidir. -2.147.483.648 ile 2.147.483.647 arasında değer alabilir.
4-Long
4 Baytlık ondalık sayı tipidir. +- 3.402923 X 10 38 ile +- 1.401298 X 10-45 arasında değer alabilir.
5-Double
8 Byte lık ondalık sayı tipidir. +- 1.79769313486232 X 10308 ile +-4.94065645841247 X 10-324 arasında değer alabilir.
6-String
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.
Adi="Gökhan"
7-Date
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.
Dogum_tarihi=#17/07/1979#
8-Boolean
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.
Evli=True
Evli=1
VERİ TİPİ DEĞİŞTİRME İŞLEMLERİ
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.
Ccur (ifade) :Parantez içinde verilen ifadeyi Currency veri tipine dönüştürür.

Cdbl (ifade) :Parantez içinde verilen ifadeyi Double veri tipine dönüştürür.

Cint (ifade) :Parantez içinde verilen ifadeyi Integer veri tipine dönüştürür.

Clng (ifade) :Parantez içinde verilen ifadeyi Long veri tipine dönüştürür.

CVar (ifade) :Parantez içinde verilen ifadeyi Variant veri tipine dönüştürür.

CBool (ifade) :Parantez içinde verilen ifadeyi Booolean veri tipine dönüştürür.

CByte (ifade) :Parantez içinde verilen ifadeyi Byte veri tipine dönüştürür.

CDate (ifade) :Parantez içinde verilen ifadeyi Date veri tipine dönüştürür.
CStr(ifade) : Parantez içinde verilen ifadeyi integer alt tipine dönüştürür
ASP de String Fonksiyonlar

Degisken =” ASP Ögreniyorum”
InStr
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.

Örnegin

Kod:
<%

Dizi = "ASP kursu içerisinde VBScripti isliyoruz"
AranacakStr = "VB"

Kacinci = InStr(Dizi, AranacakStr)

Response.Write Kacinci

%>

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.
Len(KarakterDizisi)
Bir karakter dizisinin kaç harf veya karakterden olustugunu vermektedir.

Örnegin:

Kod:
<% Dizi = "Erciyes"
Response.Write Len(Dizi)
%>

Ekrana 7 olarak yansiyacaktir.
Ucase
Vereceğiniz bir String'in tüm karakterlerini büyük harfe çevirir.

Kod:
<%
YeniString = UCase(Degisken)
%>

Yeni String'in değeri: "ASP OGRENIYORUM" olacaktır.
Lcase
Vereceğiniz bir String'in tüm karakterlerini küçük harfe çevirir.

Kod:
<%
YeniString = LCase(Degisken)
%>

Yeni String'in değeri: "asp ögreniyorum” olacaktır.
LTrim, RTrim, Trim
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.
Space
İçinde, vereceğiniz sayı kadar boşluk olan boş bir String oluşturur. Örneğin

Kod:
<%
Bosluk = Space(20)
%>

Bosluk değişkenin değeri " " (20 boşluk) olacaktır.
String
İstediğiniz sayıda ve istediğiniz bir karakterle bir String oluşturur.

Kod:
<%
YeniString = String(3, "*")
%>

YeniString değişkeninin değeri "***" olacaktır.
Left(Degisken, Sayi):
Bir yazı dizisindeki karakterlerin, soldan "Sayı" kadarını gösterir

Örnegin:

Kod:
<%
Soldanbes = Left("ASP ögreniyoruz.", 5)
Response.Write soldanbes
%>

Sonucumuz "ASP ö" olacaktır.

Right(Degisken, Sayi): Bir yazi dizisindeki karakterlerin, sagdan "Sayi" kadarını gösterir. Kullanımı Left ile aynidır.
Mid:
Bir String'in içinde başlangıç noktasını ve karakter olarak boyunu verdiğiniz alanda yer alan String'i verir.

Örnegin:

Kod:
<% Degisken = "ASP ögreniyoruz"
YeniDegisken = Mid(Degisken, 4, 2)
Response.Write YeniDegisken
%>

"ög" sonucunu alacagiz bu sorgudan sonra. Burada 4 baslangiç karakterimiz, 2 ise kaç karakter alacagimizi temsil ediyor.
Replace:
Degişkende belirli karakterleri baskalarıyla degiştirmemize yarıyor Replace komutu.

Örnek vermek gerekirse:

Kod:
<% Degisken = "ASP ögreniyoruz"
YeniDegisken = Replace(Degisken, "uz", "m ben de")
Response.Write YeniDegisken
%>

Ekrana yazilacak sonuç "ASP ögreniyorum ben de" olacaktır.
Tam Sayı Elde etmek
Int()
Bize bir sayının tam sayı bölümünü verir.

Örnek:

KesirliSayi değişkeninin değeri 123,234567 olsun.

Kod:
<%
Tamsayi = Int(KesirliSayi)
%>

Tamsayi değişkenin değeri 123 olur.
Round()
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.

Kod:
<%
Tamsayi = Int(KesirliSayi)
%>

işleminden sonra Tamsayi değişkenin değeri 6 olur.

Kesirli sayı 56,2 ise, Round() fonksiyonu bize 56 değerini verir.
Page Counter Sayaç Sayaçlar

PAGE.COUNTER

Kod:
<%
Set MyPageCounter = Server.CreateObject("MSWC.PageCounter")
MyPageCounter.PageHit
%>
Bu Web sayfası <%= MyPageCounter.Hits %> kez görüntülenmiştir.

Recordset Kayıt İşlemleri

Recordset Uygulamaları
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.

.Recordset metodu, ile bir veritabanını okuyacak imleci üç şekilde ayarlayabilirsiniz:

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

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

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

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

Ö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.

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.
AddNew : Yeni Kayıt grime
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.

Kod:
<%
Set VT= Server.CreateObject("ADODB.Connection" )
VT.Open "DBQ=" & Server.MapPath(" uyeler.mdb" ) & ";DRIVER={Microsoft Access Driver (*.mdb)}"
Set KS = Server.CreateObject ("ADODB.RecordSet" )
Sql = " Select * from table1 "
KS.Open sql,VT,1,3
%>

<%
KS.AddNew
KS ("uyeAdi") = "Mete"
KS ("uyeSoyadi") = "Uygur"
KS ("email") = "meteuygur@xxxxx.com"
KS ("mesaj") = "Benim Mesajım"
KS.Update
%>

<%
KS.close
set KS=nothing
VT.close
set VT=nothing
%>

Update: Kayıt Guncelleme

Kod:
<%
Set VT= Server.CreateObject("ADODB.Connection" )
VT.Open "DBQ=" & Server.MapPath(" uyeler.mdb" ) & ";DRIVER={Microsoft Access Driver (*.mdb)}"
Set KS = Server.CreateObject ("ADODB.RecordSet" )
Sql = " Select * from table1 where uyeNo = 1"
KS.Open sql,VT,1,3
%>

<%
KS ("uyeAdi") = "Kaan"
KS ("uyeSoyadi") = "Ateş"
KS ("email") = "kaanates@xxxxx.com"
KS ("mesaj") = "Kaanın Mesajı"
KS.Update
%>

<%
KS.close
set KS=nothing
VT.close
set VT=nothing
%>

Bu Örnekte uyeNo =1 Olan kayıt verilen degerlere gore güncellenir. . Eger 1 nolu kayıt yoksa asp kodumuz hata verecektir.

Delete : Kayır Silme

Kod:
<%
Set VT= Server.CreateObject("ADODB.Connection" )
VT.Open "DBQ=" & Server.MapPath(" uyeler.mdb" ) & ";DRIVER={Microsoft Access Driver (*.mdb)}"
Set KS = Server.CreateObject ("ADODB.RecordSet" )
Sql = " Select * from table1 where uyeNo = 1"
KS.Open sql,VT,1,3
%>

<%
KS.Delete
%>

<%
KS.close
set KS=nothing
VT.close
set VT=nothing
%>

Bu Örnekte uyeNo =1 Olan kayıt Silinecektir. Eger 1 nolu kayıt yoksa asp kodumuz hata verecektir.


ADOVBS Nedir ActiveX

ADOVBS.inc (ActiveX Data Objects (ADO) for Visual Basic Script (VBS or VBScript))

ADO+ODBC yoluyla kuracağımız veri bağlantıları, çoğu zaman adeta şifreli ifadeler içerebilir ve bir çok komutun argümanı öğrenmesi zor sayılar halinde verilir.

Microsoft ve kullanılmaya hazır ASP Uygulamaları üreten firmalar, bu karmaşık ifadeleri düz metinler olarak ifade etmeye yarayan haricî dosyalar (include files) hazırlar ve sunarlar. Bunlar arasında en yaygın olanı Microsoft'un ADOVBS (adovbs.inc) dosyasıdır.

Bu dosya, Server tarafından icra edilir ve ADO nesnesinin sayı halindeki bütün argümanlarını anlaşılabilir İngilizce kelimelere çevirir.

Veritabanı bağlantılarının dosyasıyla ADO nun bulunduğu sayfalarda genellikle aşağıdaki şekilde ifadeler vardır.

Rs.open dbconn , sql , 3 ,1

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.

Kod:
<%
'--------------------------------------------------------------------
' Microsoft ADO
'
' Copyright (c) 1996-1998 Microsoft Corporation.
'
'
'
' ADO constants include file for VBScript
'
'--------------------------------------------------------------------
'---- CursorTypeEnum Values ----
Const adOpenForwardOnly = 0
Const adOpenKeyset = 1
Const adOpenDynamic = 2
Const adOpenStatic = 3
………%>

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
rs.Open dbconn, sql , adOpenStatic , adLockReadOnly
ş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. ) : ) .

.inc uzantısı hakkında :

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.

Ado sabitlerinin kullanılabilmesi için dosyanın kullanılacak sayfaya include edilmesi gerekir.

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

Bu sabitler ile recordset nesnesini 4 şekilde kullanbiliriz.

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.

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.

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...

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...

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.

AdLockReadOnly: Kayıtlı verilerimizin değiştirilmesini, üzerine yazılmasını engellememizi sağlar. Yeni kayıt girişini engeller. Sadece Listelemeye izin verir...

AdLockOptimistic: Bu metodumuz da kayıtlarımızın güncelleştirilmesini, yeni kayıtlar eklememizi, ve istersek silmemizi sağlar.
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.
ServerVariables Server Değişkenleri

ServerVariables (Server Değişkenleri)


HTTP Server Değişkenleri Kolleksiyonunun elemanları şöyle sıralanır
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.

Örnek olarak aşagıdaki asp sayfasını çalıştırarak kendi server’ ımızın değeişkenlerini inceleyelim.

Kod:
<HTML>
<HEAD>
<TITLE>HTTP ServerDegişkenleri </TITLE>
</HEAD>
<BODY>
<CENTER>
HTTP Server Değişkenleri Kolleksiyonu
</CENTER>
<TABLE BORDER=1>
<TR><TD><B>Değişkenin adı</B></TD> <TD><B>Değeri</B></TD></TR>
<% For Each key in Request.ServerVariables %>
<TR>
<TD><% = key %></TD>
<TD>
<%If Request.ServerVariables(key) = "" Then
Response.Write "&nbsp;"
Else
Response.Write Request.ServerVariables(key)
End If
Response.Write "</TD>"%>
</TR>
<% Next %>
</TABLE>
<p>
Host'unuzun adı:<B> <%=Request.ServerVariables("HTTP_HOST")%></B>
</BODY>
</HTML>

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.

ALL_HTTP


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.

ALL_RAW

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.

APPL_MD_PATH

Web Server’ın ISAPI.DLL dosyası için varsaydığı kök dizin

APPL_PHYSICAL_PATH

Web Server’ın varsaydığı kök dizinin gerçek yolu

AUTH_PASSWORD


Kullanıcı Web Server’a kullanıcı adı/parola yöntemiyle bağlanabiliyorsa, kullanılan parola

AUTH_TYPE

Kullanıcı Web Server’a kullanıcı adı/parola yöntemiyle bağlanabiliyorsa, kullanılan yetkilendirme yöntemi

AUTH_USER

Kullanıcı Web Server’a kullanıcı adı/parola yöntemiyle bağlanabiliyorsa, kullanıcı adı

CERT_COOKIE

Kullanıcı siteye bağlanmak için yetkilendirme sertifikası kullanıyorsa kendisine verilen kimlik (ID)

CERT_FLAGS

Sertifikanın varlığını gösteren bit değeri

CERT_ISSUER

Sertifika varsa veren kurum

CERT_KEYSIZE

Secure Socket Layers kullanılıyorsa, bağlantı için anahtar değeri

CERT_SECRETKEYSIZE

Özel anahtar değeri

CERT_SERIALNUMBER

Sertifika seri no.

CERT_SERVER_ISSUER

Sertifikayı veren merci

CERT_SERVER_SUBJECT

Server Sertifikasının “konu” alanı değeri

CERT_SUBJECT

İstemci Sertifikasının konu alanı değeri

CONTENT_LENGTH

İstemcinin gönderdiği bilgi yumağının boyutu

CONTENT_TYPE

Ziyaretçiden gelen bilgilerin GET veya POST metoduna göre edindiği tür

GATEWAY_INTERFACE

Web Server’ın ziyaretçi ile etkileşim arayüzünün adı ve sürümü. Genellikle: CGI/1.1

HTTPS

Ziyaretçi ile bağlantı güvenli ise ON, değilse OFF

HTTPS_KEYSIZE

Secure Sockets Layer için bağlantı anahtar sayısı

HTTPS_SECRETKEYSIZE

Özel Server sertifikasının gizli anahtar sayısı

HTTPS_SERVER_ISSUER

Özel Server sertifikasının veren merci

HTTPS_SERVER_SUBJECT

Özel Server sertifikasının konusu

INSTANCE_ID

Web Server’ın aynı anda kaç kere çalışmakta olduğu

INSTANCE_META_PATH

Şu anda çalışmakta olan Web Server’ın Meta yolu

LOCAL_ADDR

İstemcinin IP numarası

LOGON_USER

İstemci Windows NT sisteminde ise oturum açma adı

PATH_INFO

Çalışmakta olan ASP’nin göreli yolu ve adı

PATH_TRANSLATED

Çalışmakta olan ASP’nin gerçek yolu ve adı

QUERY_STRING

İstemcinin gönderdiği bilgi kümesi

REMOTE_ADDR

İstemcinin Host’unun (ISS’inin) IP’si

REMOTE_HOST

İstemcinin Host’unun (ISS’inin) adı

REMOTE_USER

İstemcinin gerçek adı

REQUEST_METHOD

İstemciden bilgi isteme yöntemi (GET veya POST)

SCRIPT_NAME

Çalışmakta olan ASP’nin adı

SERVER_NAME

Sunucu’nun adı

SERVER_PORT

Sunucuya bağlantının geldiği TCP kapı numarası

SERVER_PORT_SECURE

TCP kapısı güvenli ise 1, değilse 0

SERVER_PROTOCOL

Server’ın çalıştırdığı HTTP’nin sürümü

SERVER_SOFTWARE

Server programının adı ve sürümü

URL

Şu anda geçerli URL
Test Fonksiyonları

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:

IsArray:

Bir değişkenin dizi-değişken (Array) olup olmadığını sınar.

IsDate:

Bir değişkenin değerinin tarihe (Date) çevrilip çevrilemeyeceğini sınar.

IsEmpty:

Bir değişkenin tanımlanıp değer atanmış olup olmadığını sınar.

IsNull:

bir değişkenin geçerli bir değer tutup tutmadığını sınar.

IsNumeric:

Bir değişkenin sayı olarak işleme tabi tutup tutulamayacağını sınar

IsObject:

Bir ifadenin geçerli bir ActiveX veya OLE nesnesine referansta bulunup bulunmadığını sınar.

TypeName:

Bir değişkenin türünü belirtir.

VarType:

Bir değişkenin türünü belirten sayıyı verir.


ADO Nedir Uygulamaları

ADO Nedir?

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.

ADO ile veritabanı uygulamaları standart bazı adımları içerir;

• Veritabanı bağlantısının oluşturulması
• Veritabanı başlantısının açılması
• Kayıt dizisinin oluşturulması
• Kayıt dizisinin açılması
• ...Veritabanı ile yapılacak işlemler
• Kayıt dizisinin kapatılması
• Veritabanı bağlantısının kapatılması.
Bağlantı Yolları
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.

İkinci yolda, DSN baðlantısı kullanmadan bir veritabanı bağlantısı oluşturabiliriz. Kuşkusuz bul yol çok daha kolaydır.
ODBC ile DSN Bağlantısı
Öncelikle bilgisayarınızda veritabanı oluşturma programı örnegin Microsoft access yüklü olduğunu Kabul ediyorum.

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.

Table1

Alan Adi:Veri türü

uyeNo:AutoNumber (Birincil Anahtar/Primary Key)

uyeAdi:metin

uyeSoyadi:metin

email:metin

mesaj:memo

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.

[Resim: odbc.JPG]

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.


[Resim: ado.JPG]

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.

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.
Connection (Veritabanına bağlantı)
ADO'dan yararlanabilmek için kullanacağımız ilk nesne Connection'dır. Bu nesne ile veritabanı ile bağlantı sağlarız, yol açarız:

Kod:
<%
Dim Veriyolu
Set Veriyolu = Server.CreateObject("ADODB.Connection")
Veriyolu.Open "uyeler "
%>
Recordset (Kayıt dizisi)

<%
Dim Veriyolu, Kayitdizisi
Set Veriyolu = Server.CreateObject("ADODB.Connection")
Veriyolu.Open "uyeler"
Set Kayitdizisi = Veriyolu.Execute("SELECT * FROM table1")
%>

Recordset.Open
Veritabanına dayanan Web uygulamalarımızda sorun buradaki gibi sadece veriyi okumakla bitmeyebilir; veriyi güncelleştirmek veya silmek isteyebiliriz. Bunun için doğruca ADO'nun .Recordset metodundan yararlanmamız gerekir.

Bir veriye bağlantıyı kurduktan sonra kayit dizimizi .Recordset metodu ile sağlayacaksak, yukarıdaki örnek kodumuzu şöyle yazmak gerekir:

Kod:
<%
Dim Veriyolu, Kayitdizisi, Sorgu
Set Veriyolu = Server.CreateObject("ADODB.Connection")
Veriyolu.Open "uyeler"
Set Kayitdizisi = Server.CreateObject("ADODB.Recordset")
Sorgu = "SELECT * FROM table1"
Kayitdizisi.Open Sorgu, Veriyolu, aOpenStatic
%>
Dns Siz baðlantý
<%
Set VT= Server.CreateObject("ADODB.Connection" )
VT.Open "DBQ=" & Server.MapPath(" uyeler.mdb" ) & ";DRIVER={Microsoft Access Driver (*.mdb)}"
%>

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.

Kod:
<%
Set KS = Server.CreateObject ("ADODB.RecordSet" )
Sql = " Select * from table1 "
KS.Open sql,VT,1,3
%>

Burada da recordset’ i tanımladık ve sql ile tamınlanan sorguda da table1 verileri cagırıyoruz.
ADO Nesnesini Kapamak
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.

KS.close
VT.close

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.

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.

Kod:
<%
set KS=nothing
set VT=nothing
%>

Örnek Kullanm :

Kod:
<%
KS.close
set KS=nothing
VT.close
set VT=nothing
%>

Application Uygulamalar Örnekler

APPLICATION

Belirtilen uygulamadaki tanımlı bütün kullanıcıların bilgiyi paylaşmaları için Application nesnesini kullanabiliriz.

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...

Aşağıdaki örneği Sayac.asp adıyla kaydedin.

Kod:
<%
Response.Expires = 0
'Expires sayesinde sayfanın içeriğinin bilgilerinin cache bellekte saklanmasını engelleriz.
%>

<%
If (Application("Sayac") = "") Then
'Bu ziyaretçi için Application başlatılmadıysa başlatılsın.
Application("Sayac") = 0
End If

Application.Lock
'Application'ı Kilitliyoruz. Ve kullanıcı giriş yaptıktan sonra 1 değer
'arttırıyoruz.

<%
Application("Sayac") = Application("Sayac") + 1
Application.UnLock
'Ve tekrar serbest bırakıyoruz. Diğer kullanıcılarla bu Application
'kullanılabilsin diye...
%>
Bu Sayfaya <%= Application("Sayac") %> Kere Giriş Yapıldı.

Bu kodu yazıp çalıştırdığımız zaman, sayfayı her yenilediğimizde sayaç bir değeri kadar arttırılacaktır..


Errors Hatalar Kodu Açıklamaları

Asp Error:

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.

ASP´de oluşan hataları Server nesnesinin GetLastError alt nesnesiyle öğrenebiliyoruz. GetLastError nesnesinin özelliklerine kısaca değinecek olursak:

1. ASPCode: IIS tarafından oluşturulan hata kodunu döndürür.
2. ASPDescription: Oluşan hata ASP ile alakalıysa detaylı bir açıklama döndürür.
3. Category: Hatanın kaynağını döndürür.
4. Column: ASP sayfası içinde hataya sebep olan kodlamanın sütun pozisyonunu döndürür.
5. Description: Hata hakkında kısa bir açıklama döndürür.
6. File: Hata oluşan ASP dosyasının yolunu döndürür.
7. Line: Hatanın kaçıncı satırda oluştuğunu döndürür.
8. Number: Standart COM hata numarası döndürür.
9. Source: Hataya sebep olan kodlar okunabiliyorsa bu kodları döndürür.

Sitemizin verdiği hataları bir veri tabanında kaydederek sistemizin performansı hakkında bazı bilgilere ulaşabiliriz.

Ayrıca bir hata durumunda server meşgul gibi mesayı ziyaretcinize yollamak isteyebilirsiniz.

<% On Error Resume next %>

diyerek bir hata durumda bir alt satırdan kodları işlemeye devam edecektir.

ASP Yazarken Karşılaşılan Hatalar, Sebebi ve Çözüm Yolları.

Hata

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

Sebebi

Tablonuzta olmayan bir field'e kayıt yapmak istediniz

Çözümü

SQL deyimindeki yazılışı yanlışsa düzeltin. Eğer tabloda böyle bir field yoksa yaratın.


--------------------------------------------------------------------

Hata

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

Sebebi

Server 'ınızın yada PWS 'nin desteklemediği bir bileşen kullanmak istemişsiniz. Örneğin mail gönderme veya asptear.

Çözümü

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.

-------------------------------------------------

Hata

Microsoft OLE DB Provider for ODBC Drivers (0x80040E10) [Microsoft][ODBC Microsoft Access Sürücüsü] Çok az parametre. 1 bekleniyor

Sebebi

SQL kodu içinde işleme tabi tutmak istediğiniz alan yok

Çözümü

Yazdığın alan adını kontrol edin, tablonun böyle bir alan içerdiğinden emin olun

--------------------------------------------------------

Hata

ADODB.Recordset (0x800A0CC1) Öğe, istenen ad veya sıra sayısı ile ilişkili derleme içinde bulunamıyor

Sebebi


Alan adı bulunamıyor.Ekrana yazdırmak istediğiniz veya kullanmak istediğiniz alan adı tabloda yok

Çözümü

Yazdığınız alan adını kontrol edin, tablonun bu adda bir alan içerdiğinden emin olun

--------------------------------------------------------------

Hata

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

Sebebi

Recordset'i açmaya çalıştığımız Connection adı bulunamadı veya connection açılmadı.Başka bir sebepte SQL kodu bulunamadı

Çözümü

Connection'ı açın veya adını kontrol edip, düzeltin.Ya da SQL kodunu yazdığınızdan emin olun

-------------------------------------------------------------

Hata

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ış

Sebebi

Yazdığınız SQL kodunda bir sorun var.

Çözümü

Yazdığınız SQL kodunu kontrol ediniz

--------------------------------------------------------------

Hata

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ı.

Sebebi

Belirttiğiniz adreste veritabanı bulunamadığında çıkar

Çözümü


Yazdığınız yolu veya veritabanını kontrol ediniz

----------------------------------------------------------------

Hata

"Microsoft OLE DB Provider for ODBC Drivers (0x80004005) [Microsoft][ODBC Driver Manager] Veri kaynağı adı bulunamadı ve varsayılan sürücü belirtilmemiş"

Sebebi

DSN adını yanlış yazdınız veya DSN tanımlamadınız.Ya da DSN-Less bağlantı kodu yanlış.

Çözümü

DSN adını kontrol edin veya DSN-Less bağlantı kodunu gözden geçirin.

-------------------------------------------------------------

Hata

"Microsoft VBScript çalışma hatası (0x800A004C) Yol bulunamadı"

Sebebi

Bulunmayan bir klasör veya yol yazdığınızda bu hata ile karşılaşırsınız

Çözümü

Yazdığınız yolu kontrol ediniz, klasörün bulunduğuna emin olun

-------------------------------------------------------------------

Hata

Microsoft VBScript çalışma hatası (0x800A0044) Aygıt yok"

Sebebi

Bulunmayan bir sürücüyü çağırmak istediğinizde alırsınız

Çözümü

Sürücü harfinin bulunduğuna veya doğru olduğuna dikkat edin

--------------------------------------------------------------

Hata

Microsoft OLE DB Provider for ODBC Drivers (0x80004005) [Microsoft][ODBC Microsoft Access Sürücüsü] Güncelleştirilemiyor. Veritabanı veya nesne salt okunur."

Sebebi

Veritabanınız salt okunur veya yazma izni olmayan bir yerde ise bu hatayı verir

Çözümü

Veritabının veya bulunduğu klasörün Salt Okunur olup olmadığını kontrol edin

-------------------------------------------------------

Hata

"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ç)"

Sebebi

Sorgulatmak için kullandığınız değer boş.Bu forumdan gelen bir veri olabilir, cookieden alınan bir değer olabilir

Çözümü


Gelen veriyi kontrol edin

-----------------------------------------------------

Hata

"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."

Sebebi

Sunucunuzun desteklemediği bir objeyi yaratmak istemişsiniz

Çözümü

Obje adını kontrol edin, sunucunun desteklediğinden emin olun

------------------------------------------------------

Hata

"Microsoft VBScript çalışma hatası (0x800A000D) Tür uyumsuz: 'a'"

Sebebi

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

Çözümü

Yapmak istediğiniz işlemi kontrol ediniz.Değişken türlerini tekrar gözden geçirin

-----------------------------------------------------------

Hata

"Microsoft VBScript derleme hatası (0x800A0409) Sonlandırılmamış dize sabiti"

Sebebi

Çift tırnak (") yazmamışsınız.Veya çok fazla yazmışsınız

Çözümü

Kodları inceleyerek tırnakları düzeltiniz

------------------------------------------------------------

Hata

"Microsoft VBScript derleme hatası (0x800A03F6) 'End gerekli"

Sebebi

if kontrol kodunu bitirmemişsiniz

Çözümü

Gereken yere "end if" yazın.

--------------------------------------------------------

Hata

Active Server Sayfaları, ASP 0116 (0x80004005) Komut yazıları bloğunda etiketin sonu eksik (%>Wink

Sebebi

Kodlarınızı "%>" ile kapatmamışsınız

Çözümü

"%>" yazınız

------------------------------------------------------

Server Transfer include

INCLUDE
SERVER.TRANSFER


Include bir sayfanın kodlarını mevcut sayfaya ekler. ASP'de ise Server.Transfer bu işi yapar. Mesela;

Kod:
<!-- #include file="veri.asp" -->
Bu kodu ASP taglarının dışına yazabiliriz. Fakat;
<%
Server.Transfer("veri.asp")
%>

bu başlı başına bir ASP komutudur. Daha çok Include kullanılır; fakat uzmanlar Server.Transfer kullanmayı öneriyorlar.

NOT: Bu kodları nereye koyarsanız, oraya eklenir. Yani anlaşıldığı gibi bunu menü, anket, üye girişi, şifre kontrol gibi yerlerde kullanıyoruz.
Bu kullanıcının gönderdiği tüm mesajları bul
Bu mesajı bir cevapta alıntı yap
09-09-2008, 05:12 AM
Mesaj: #2
RE: Asp Web Programlama Dersleri

Güzel anlatım. Paylaşım için teşekkürler..

Yorum İçin Üyelik Gerekmiyor!
Lütfen Yorum Yapın



P.T.E.
Pc Tamir Ekibi


özledim...
Kullanıcının websitesini ziyaret et Bu kullanıcının gönderdiği tüm mesajları bul
Bu mesajı bir cevapta alıntı yap
Mesaj Önizleme 


[-]
Hızlı Cevap
Mesaj
Cevabınızı buraya yazınız.


Görüntü Doğrulama
Görüntü Doğrulama
Lütfen resimde gördüğünüz yazıyı kutuya giriniz. Bu işlem otomatik işlemleri önlemek için yapılmaktadır.

Foruma Git: