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

 

Kaynak: Rahmi Vidinlioğlu
Tarih:
Hit: 4646
Yazar: HolyOne



Yorumlar


Siftahı yapan siz olun
Yorum yapabilmek için üye girişi yapmalısınız.