ASP ile Sıfırdan Veritabanı Oluşturma


Bu uygulamada öncelikle Asp dosyası kullanarak
veritabanı yaratacak, ardından yarattığımız tablonun içine bir de tablo
ekleyecek ve eklediğimiz bu tablonun içine alanlar ekleyeceğiz. Kullanacağımız
öğeler adovbs.inc dosyasında tanımlanmış olduğu için kodu çalıştırabilmek
için bu dosyaya ihtiyacınız var.


İlk olarak scriptimize yaratacağımız veritabanı
adını ve yolunu belirtmek için kullanacağımız formu hazırlayalım.










veritabani_yaratma_formu.asp
<form
name="tablo_yarat" action="veritabani_yarat.asp" method="post">

<input type="hidden" name="metod" value="veritabani_yarat">

<center>

<table border="1" cellpadding="4" cellspacing="0" style="border-collapse:
collapse" bordercolor="#111111" width="31%">

<tr>

<td width="100%" colspan="2" bgcolor="#336699">

<p align="center"><font color="#FFFFFF"><b>Veritabanı Yarat</b></font></td>

</tr>

<tr>

<td width="67%" bgcolor="#F4F4F4"><b>Tablo Adı:</b></td>

<td width="50%" bgcolor="#F4F4F4"><input type="text" name="veritabani_adi"
size="20"></td>

</tr>

<tr>

<td width="67%"><b>Tablo Yolu:</b></td>

<td width="50%"><input type="text" name="dosya_yolu" size="20" value="C:\db\"></td>

</tr>

<tr>

<td width="100%" colspan="2" bgcolor="#F4F4F4">

<p align="center"><input type="submit" value="Gönder" name="Gonder">&nbsp;&nbsp;

<input type="reset" value="Temizle" name="bosver"></td>

</tr>

</table>



Formumuz bu kadar. Şimdi asıl işlemi
gerçekleştirecek olan scriptimizi yazmaya başlayabiliriz.Lafı fazla uzatmaya
gerek görmüyorum... Gerekli açıklamaları yorum satırı olarak vereceğim.










veritabani_yarat.asp
<%

' Dediğimiz gibi bu uygulama adovbs.inc dosyasını kullanıyor...

'Çalıştırabilmek için mutlaka dosyanın içine include edilmesi gerekir..

%>

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



<%

metod = Request.Form("metod")

if metod <>"" then

if metod = "veritabani_yarat" then



' Öncelikle veritabanını yaratalım



Veritabani_Yarat yeni_veritabani_adi



'İşte bu kadarrrr... Ardından veritabanına yeni bir tablo ekleyip sütunları
oluşturalım...



tablo_yarat yeni_veritabani_adi

'İşlemimiz bitti, şimdi de kullanıcıya işlemin sorunsuz gerçekleştiğini
bildirelim...



Response.Write("<center><b>"&Request.Form("veritabani_adi")&"</b> adlı
Veritabanı başarıyla oluşturuldu! Başka bir emriniz var mıydı sahip?</center>")

Response.Write "<center><br><br><a href=' http://www.maxiasp.com'> Sağol
canım, almıyım... </a></center>"

Response.End

End if


End if



'#######################################################

' Veritabani yaratmak için kullanacağımız işlemi Sub olarak hazırlayalım,

' Böylece her ihtiyaç duyduğumuzda çabucak yardıma çağarabiliriz.

'#######################################################


Sub Veritabani_Yarat(yaratilacak_veritabani)

dosya_yolu = Request.Form("dosya_yolu")

veritabani_adi = Request.Form("veritabani_adi")

yeni_veritabani_adi = ""&dosya_yolu&"\"&veritabani_adi&""



'Veritabanını oluşturacak ADOX nesnesini oluşturalım




Set cat = Server.CreateObject("ADOX.Catalog")


'Veritabanımızı yaratacak olan komutu
verelim...



cat.Create "Provider=Microsoft.Jet.OLEDB.4.0;" & _

"Data Source=" & yaratilacak_veritabani & _

";Jet OLEDB:Engine Type=5;"

' Access 2000 Veritabanı için Engine Type=5

' Access 97 Veritabanı için Engine Type=4 yazılması gerekir.


'Ve veritabanımız oluşturuldu... Şimdi
açtığımız ADOX nesnesini kapatalım.

Set cat = Nothing

End Sub



'#######################################################

' Yarattığımız veritabanin içine tablo eklemek için kullanacağımız işlemi
de

' Sub olarak hazırlayalım...

'#######################################################

Sub tablo_yarat(yaratilacak_veritabani)



Set cat = Server.CreateObject("ADOX.Catalog")

' Katalog açalım...

cat.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" & _

"Data Source=" & yaratilacak_veritabani

Set yeni_tablo = Server.CreateObject("ADOX.Table")



'Yeni tabloya istediğimiz adı verelim... Ben sevgilimin adını verdim...

'Burdan da söylemek istiyorum ki ÇOOOOKKK SEVİYORUM ONU! ;-)



yeni_tablo.Name = "Sezin"



' Öncelikle bir otomatik sayı sütununu yaratalım, aslına bakarsanız

' bu uygulamanın en zor kısmı burası

'Asıl mesele sütunun .Properties("Autoincrement") değerini True olarak
ayarlamakta... ;-)



Set sutun = Server.CreateObject("ADOX.Column")

With sutun

.ParentCatalog = cat

.Type = adInteger

.Name = "ID"

.Properties("Autoincrement") = True

End With

yeni_tablo.Columns.Append sutun



' Şimdi diğer alanları ekleyebiliriz...



With yeni_tablo

'Alanları teker teker yaratalım

With .Columns

.Append "Ogrenci_No", adInteger

.Append "Ogrenci_Adi", adVarWChar

.Append "Ogrenci_Soyadi", adVarWChar

.Append "Telefon", adVarWChar

.Append "Notlar", adLongVarWChar

End With



Dim adColNullable



' Bu değişken adovbs.inc dosyasında tanımlamamış olduğu için

'burada tanımlamamız gerekiyor...

adColNullable = 2

With .Columns("Ogrenci_Adi")

.Attributes = adColNullable

End With

End With



'Tabloyu veritabanımızın tablolar koleksiyonuna ekleyelim...

cat.Tables.Append yeni_tablo

Set sutun = Nothing

Set yeni_tablo = Nothing

Set cat = Nothing

End Sub



%>




Böylece veritabanımızı oluşturuyor ve içine de
istediğimiz bir tabloyu ekliyoruz. Veri alanları ile ilgili olarak aşağıdaki
tabloyu da vermek de sonsuz fayda görüyorum. İhtiyacınıza göre tablo alanlarını
oluşturabilirsiniz. .Append "Ogrenci_No", adInteger şeklinde
tanımladığımız yerdeki adInteger bunun sayı alanı olduğunu belirtir.












































Veri Tipi
Kısaltması

SQL Veri Tipi

Açıklama

adSmallInt

integer

Kısa sayı

adInteger

long

Uzun sayı

adBoolean

boolean

Evet / Hayır

adDate

date

Tarih / Saat

adCurrency

currency

Para Birimi

adVarWChar

text

Metin

adLongVarWChar

memo

Not

Böylece bu uygulamanın da sonuna gelmiş
bulunuyoruz. Herkese faydalı olması dileğiyle...

ASP IIS Kurulumu

Sunumu bu bağlantıdan indirebilirsiniz. Katkılarından dolayı Murat Değirmenci' teşekkür ederiz.

ASP-Hazır Fonksiyonlar

Konumuz Fonksiyonlar.. VBScript'in bizim için hazırladığı Hazır Fonksiyonlardan söz edeceğiz.. Bir önceki dersimizde sözünü ettiğimiz Int() ve Rnd() fonksiyonlarını hatırlayın. Rnd() tesadüfi bir sayı üretir, Int() ise o sayıyı tam sayıya çevirir demiştik. VBScript' te kullanılmaya hazır bir çok fonksiyon vardır. Bunlardan kısaca söz edelim: Tarih ve Saat Tarih ve zaman bilgisini bize verir: Date: Bugünün tarihini verir. Time: O andaki saati verir. Now: O andaki tarih ve saati birlikte verir. Daha önceki derslerimizdeki örneklerden de hatırlarsınız bu fonksiyonları. VBScript'in bunlara ek olarak haftanın gününü bize söyleyen Weekday, haftanın gününün adını söyleyen WeekdayName ve ay adını bize söyleyen Montname fonksiyonları da vardır. Örneğin: bize o günün adını verir. Mesela o gün Pazar ise Pazar değerini verir. Karakter Dizisi Düzenlemeye Yarayan Fonksiyonlar Karakter dizisi veya String, VBScript için "Bugün gün güzel bir gün" bir string'dir. Web sitemizi ziyaret eden ve eğer varsa formalarımıza yazacağı ve gönder düğmesine basarak server'a göndereceği bilgiler de String' dir. İleri dersler göreceğiz, formdan gelen bilgileri düzenleme ihtiyacı hissettiğimizi. Bunun için VBScript' in karakter dizisi düzenleme fonksiyonları kullanacağız. Peki nedir bu fonksiyonlar. Şöyle bir bakalım: InStr: Uzun bir String'in içinde vereceğimiz daha kısa bir String'in bulunup bulunmadığını arar, bulursa bu kısa string'in başlama noktasının değerini verir. Len: Bir String'in uzunluğunu belirler. Mesela, Soz isimli bir değişkenimiz var, bunun değeri de "Neşeli ol ki genç kalasın" olsun. Uzunluğunu şöyle belirleyebiliriz: Uzunluk = Len(Soz) Uzunluk değişkeninin değeri sizce kaç olur? Cevap 25 UCase: Vereceğiniz bir String'in bütün harflerini büyük harfe çevirir. Biraz önceki Soz değişkenimize bunu uygularsak: Yeni = UCase(Soz) Yeni ' nin değeri: NEŞELİ OL Kİ GENÇ KALASIN olur... LCase: Vereceğiniz bir String'in bütün harflerini küçük harfe çevirir. Yine Soz isimli değişkenimize bunu uyguladığımızda: Yeni = LCase(Soz) Yeni'nin değeri bu sefer: neşeli ol ki genç kalasın olacaktır. LTrim, RTrim, Trim: Verdiğiniz String'in (sırasıyla) hem başındaki hem de sonundaki boşlukları temizler. Böylece gereksiz boşluklar ortadan kalkmış olur. Space: İçinde vereceğiniz sayı kadar boşluk olan bir String oluşturur. Mesela: Bosluk = Space(20) Bosluk değişkeninin değeri 20 boşluk olacaktır. String: İstediğiniz sayıda ve istediğiniz karakterde bir String oluşturur. Yeni = String(3, "?") Yeni'nin değeri, 3 tane ??? olacaktır. Left, Right: Bir String'in içinde soldan (baştan) veya sağdan (sondan) verdiğimiz sayı kadar olan karakterleri verir. Mesela Soz değişkenimizin içindeki cümleyi kullanırsak: Soldan = Left(Soz, 6) Soldan değişkeninin değeri "Neşeli" olacaktır. Çünkü Neşeli Soz değişkeninin ilk altı harfinden oluşuyor. Mid: Bir String'in içinde başlangıç noktasını ve karakter olarak boyunu verdiğimiz alanda yer alan String'i verir. Örneğin: Ortadan = Mid(Soz, 1,6) Ortadan değişkenimizin değeri Neşeli olacaktır. Çünkü Mid birinci harften itibaren 6 harf ' i sayfaya yazdırıyor. Neden? Biz öyle istedikte ondan.. Siz de istediğiniz bir sayıyı yazarak bu örneği deneyebilirsiniz.. Bu hazır fonksiyonlar ileride ASP sayfalarımızı yazarken çok işimize yarayacaklar..