Veritabanı İşlemleri :
Veritabanı Nedir? :

İnternetin hızla yaygınlaşması ve gelişmesiyle, insanlar, geliştiriciler, web sayfalarını durağan halinden, dinamik bir yapıya aktarmanın yollarını aradılar durdular hep. Çünkü o zamanlar böyle Formlarla veri yollamak, Forum açmak, anket yapmak gibi dinamik sayfalar yoktu. Ayrıca insanlar bilgiyi daha çabuk paylaşabilmeli, ve gerektiğinde çok hızlı bu bilgileri yenileyebilmelilerdi.

İşte bu dinamikliği sağlayabilecek tek şey veritabanıydı. Ve insanlar artık gelişmeleri hep bu amaç uğruna sarf ettiler. Bir çok geliştirici firma, bir çok dil geliştirdi.

Microsoft Access
SQL
Oracle
Microsoft
Paradox
Metin
Microsoft Visual FoxPro(r)


Biz bunlardan texti zaten gördük, şimdi de Microsoft Access yani *.mdb uzantılı veritabanlarına bağlanmayı ve onlarla işlem yapmayı göreceğiz...

Veritabanı Bağlantıları:

DSN'li ve DSNLess diye ikiye ayrılır...

DSN: (Data Sources Name): ASP, ODBC (Open Database Connectivity) özelliği olan bütün veritabanlarına bağlanabilir ve bunlarla ilgili işlem yapabilir... Bu bağlantımız, veritabanına bağlanırken ADO (Microsoft'un Geliştirdiği ActiveX Data Objects) teknolojisini kullanır.

ActiveX Data Objects, PWS kurarken otomatik olarak kurulur. Önce isterseniz bir veritabanını ODBC'ye işlemenin yöntemini görelim. Daha sonra bu bağlantıyı ASP'de nasıl gerçekleştireceğimizi inceleyelim.

Win98: Denetim Masasında, alt tarafta ikonunu gördüğünüz ODBC Veri Kaynakları ikonuna çift tıklayarak,

Win2000: Denetim Masasında, Yönetimsel Araçlar'da Veri Kaynakları (ODBC) ikonuna iki kere tıklayarak ulaşabilirsiniz...

Bu ikonumuza iki kere yıkladığınız zaman yukarıda gördüğünüz pencere açılır. Bu pencereden SistemDSN sekmesine tıklayın. Buradan da Ekle (Add) butonuna tıklayın...

Add butonuna tıkladığınız zaman bu pencereden Veritabanımızın türünü seçmemiz gerekir. Ben buradan Microsoft Access (*.mdb) ' yi seçiyorum. Ve Son diyerek bu Dialog Penceresini kapatıyorum. Kapattığımız zaman, Veritabanımızı yapılandırmamız için başka bir DialogPenceresi açılır. Şimdi isterseniz bu Dialog Penceresini inceleyelim...

Seç butonuna tıklayarak, veritabanımızın yolunu DSN Yapılandırıcımıza göstermeliyiz... Bendeki imaja bakarsanız, Veritabanının yolu: D:\Inetpub\wwwrooot\3\Authors.mdb'dir. Data Source Name (DSN) Yan Veritabanı Kaynağı Adı kısmına verdiğiniz isim önemlidir. Çünkü bu alanda kullanacağınız DSN Adı, ASP sayfamızda kullanacağımız DSN Name'dir. Bu yüzden önemlidir. Açıklama alanına dilediğiniz bir açıklama girebilirsiniz... Gerekli ayarlamaları yaptıktan sonra Tamam (OK) butonuna tıklarsanız yandaki gibi bir görüntü oluşur. DSN Yapılandırmamız artık tamamdır. Artık ASP sayfalarımızda yapacağımız DSN Bağlantılar için bu DSN ismini kullanabiliriz. Yalnız bu şekilde yapılandırmanın bir sorunu vardır.

Hemen ne dediğinizi duyar gibi oldum. Arkadaşlar, bir düşünsenize, Free ASP Server'larından birisinde Veritabanınınız var ve ASP sayfanızda da kullandığınız veritabanı bağlantısı DSN yani veritabanınızı ODBC'ye işlemeniz gerekiyor. Ne yapacaksınız?

Server Admin'ine mail atıp benim şurda iki tane veritabanım var. Aman ne olur sana zahmet şunları ODBC'ye işleyiver mi diyeceksiniz?

Yo yo. Buna gerek yok. Çünkü artık yeni bir kolaylık daha geliştirildi ki. Böyle bir kayıta gerek kalmıyor.
DSNLess Bağlantı. Bu bağlantı sayesinde veritabanınızı ODBC'ye tanıtmanız gerekmiyor
Veritabanınızı. Neyse önce bu bağlantıyı incelemeyi bitirelim. Sıra ona da gelecek. Bunu kullanmasak ta öğrenelim.

Çünkü benim bu CD'yi hazırlamaktaki amacım, benim bu programları öğrenirken çektiğim sıkıntılardı. Sizlerin de bu sıkıntıyı çekmenizi istemiyorum.

Çekilen Türkçe kaynak sıkıntısını bildiğim için böyle bir çalışma yaptığımı bir kez daha hatırlatayım dedim...

ACCESS

Şimdi açalım Access'ı ve tanımaya ve ilk DB'imizi oluşturalım... Access'i açtığımız zaman aşağıdaki gibi bir pencere gelecektir buradan boş (Blank Access Database) bir veritabanı seçeneğini seçiyoruz ve kaydetmek istediğimiz yere kaydediyoruz.

Bir tavsiye: DB'lerinizi root dizininizde bir DB klasörü oluşturup, oraya kaydederseniz, inanın bana dağınık olmamanın çok faydasını göreceksiniz...

Veritabanımızı kaydettikten sonra aşağıda gördüğünüz pencere gelecektir. Bu pencerede Veritabanımızı inşa etmemiz için bize bazı kolaylıklar sunulmuştur. Bu seçenekler şunlardır:

Create Table In Design View: Bu seçeneğimiz Field'larımızın yani alanlarımızın design'ını yapmamızı sağlar.

Create Table By Using Wizard: Bu seçeneğimizde bir sihirbaz kullanarak Veritabanımzı oluşturmamızı sağlar.
Create Tabşe By Entering Data: Bu seçeneğimiz de verileri girebileceğimizalanları açar...

Biz önce Table In Design View seçeneğine iki kere veya sol üstte gördüğünüz ikonlardan Design butonuna tıklayarak, Table'ımızın dizaynını tamamlayacağız...



Seçtiğimiz zaman aşağıda gördüğünüz gibi bir Design Viewer açılacaktır. Bu pencerede alanlarımızın özelliklerini, metin'mi, checkbox'mı, number'mı veri girişi gerekli mi, değil mi bir ton özelliğini ayarlayacağız. Şu olayı alışkanlık haline getirin. Veritabanlarınızın başına id alanı eklemeyi alışkanlık haline getirin... Size ilerde bir çok kolaylık sağlayacaktır...

Hemen girişelim. Field Name alanına, alanımıza vereceğimiz ismi giriyoruz. Ve hemen yanındaki alana tıklıyoruz. Burada, imajda gördüğünüz gibi bir PopUp menü açılıyor. Bu menüden AutoNumber'ı seçiyoruz ki, her kayıt eklediğimizde ona bir id numarası versin. Bı ID numaralarından daha sonra çok faydalanacağız.

AutoNumber'ı seçtiğimiz zaman, alt tarafta General Ayarlar bölümünden, Filed Size'dan Long Integer'i seçiyoruz. Uzun tamsayılarala artsın diye...


New Values bölümünden Increment'i seçiyoruz. Bu seçenek id_numaramızın sırayla artarak gitmesini sağlar. Random'ı seçerseniz rasgele sayı verilir...

Indexed Bölümünden de No'yu seçiyoruz ki, aynı ID numarasını kopyalamalarda kullanmasın diye. Şimdi geçelim başka alanlara...

İkinci alanımızın Field Name bölümüne mesela Adi yazalım. Hemen yanındaki Data Type bölümünden de Text'i seçelim... Text'i seçtiğimiz zaman General sekmesinde bir ton özxellik çıkacaktır... biz bunlardan kullanacaklarımızı anlamaya çalışalım...

Field Size: Bu bölüme gireceğimiz rakam, alanımızın kaç karakter alacağını belirler. Diyelim ki 50 karakter yazdınız. 50'den sonrasını kabul etmeyecektir...

Required: Bu sekmeden seçeceğiniz değer, sütüna bir değer girilip girilmemenin zorunlu olup olmayacağını belirlememizi sağlar.

Aynı şekilde Soyadi, Telefon, Dogum_Tarihi ve Mail alanı açın. Bu alanlardan da; Telefon alanının Data Type'ını, da Text, Dogum_Tarihi alanını Date/Time, Mail alanını da Text yapın... Ve kapatın. Kapatırken Access size bu anahtar tablosunu kaydedip kaydetmeyeceğinizi sorar. Kaydet'i seçip, Tablonuza bir isim verin. Çoğunlukla tercih edilen Kaydetme İsmi tbl ekiyle birliktedir. Örneklemek için ben tblVeri ismini verdim. Çünkü bu ismi ASP dosyalarımızda kullanacağız...

Kaydettikten sonra, Access size Tablonuzda hiç birincil anahtar belirlenmediğini söyler. İlk alanı Primary Key yapıp yapmak istemediğinizi sorar. Evet deyin, ID alanınızın başına bir anahtar resmi eklenecektir...

Artık tablomuzu yarattığımıza göre, artık örnek bir veri girebiliriz... Şimdi tblVeri'ye iki kere tıklayarak veya seçiliyken, Open butonuna tıklarsak, ver girme sütünlarımız açılır. Tab tuşuyla sütünlar arasında gezebilirsiniz. Benim veri girdiğim DB'yi inceleyin...

Artık ASP'ye geçebiliriz... Tabii veritabanımızı ODBC'ye tanıtmayı unutmayın...

Önce Notepad'imizi veya editörümüzü açarak, önce ziyarteçimizin verileri gireceği Form alanını oluşturalım...
Daha sonra da bu verileri işleyeceğimiz kodları yazacağız.

Hadi buyrun bakalım...

<HTML>
<P>
Lütfen Ziyaretçi Formumuzu Doldurunuz..!</P>
<FORM NAME="VeriFormu" ACTION="FormIsle.asp" METHOD="POST" >
<TABLE WIDTH="31%" BORDER="0">
<TR>
<TD>
Adınız: </TD>
<TD>
<INPUT TYPE="text" NAME="txtAdi">
</TD>
</TR>
<TR>
<TD>
Soyadınız: </TD>
<TD>
<INPUT TYPE="text" NAME="txtSoyadi">
</TD>
</TR>
<TR>
<TD>
Telefon: </TD>
<TD>
<INPUT TYPE="text" NAME="txtTelefon">
</TD>
</TR>
<TR>
<TD>
D. Tarihiniz: </TD>
<TD>
<INPUT TYPE="text" NAME="txtDogum_Tarihi">
</TD>
</TR>
<TR>
<TD>
Mailiniz: </TD>
<TD>
<INPUT TYPE="text" NAME="txtMail">
</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD>
<INPUT TYPE="submit" NAME="cmgGonder" VALUE="Gönder">
<INPUT TYPE="RESET" NAME="cmdTemizle" VALUE="Temizle">
</TD>
</TR>
</TABLE>
</FORM>
</HTML>


Bu Formumuzu VeriForm.asp adıyla kaydedelim ve FormIsle.asp kodumuzu yazalım...

<%@ Language=VBScript Codepage="1254"%>

<%
Dim Baglantimiz


'Önce Request metodumuzla Formdan gelen verileri alıyoruz...
txtAdi=Request.Form("txtAdi")
txtSoyadi=Request.Form("txtSoyadi")
txtTelefon=Request.Form("txtTelefon")
txtDogum_Tarihi=Request.Form("txtDogum_Tarihi")
txtMail=Request.Form("txtMail")

Set Baglantimiz=Server.CreateObject("ADODB.Connection")
Baglantimiz.open "Veri"
SQL="INSERT INTO tblVeri (Adi,Soyadi,Telefon,Dogum_Tarihi,Mail) values
('"&txtAdi&"','"&txtSoyadi&"','"&txtTelefon&"','"&txtDogum_Tarihi&"','"&txtMail&"')"

Baglantimiz.Execute (SQL)
Baglantimiz.Close
Set Baglantimiz=Nothing

Response.Write
"Bilgileriniz DB'e kaydedildi. İlginize Teşekkür ederiz..."
%>


Bu scriptimizi de FormIsle.asp adıyla kaydedelim. Ve bilgileri doldurup Gönder butonuna bastığımız zaman, Response.Write ettiğimiz mesaj ekrana gelecektir ve DB'imize bilgiler kaydedilecektir.

Database'inizi açar ve kontrol ederseniz, Database'inizde gönderdiğiniz bilgilerin olduğunu göreceksiniz. Eğer ilk Database çalışmanızsa, çok sevineceğinize eminim. İnanın ben çok sevinmiştim.

Bu kodumuzda dikkatini çektiyse, MapPath yani *mdb uzantılı Access dosyamızın yolunu göstermeye uğraşmadık. İşte bu bize ODBC'nin sağladığı avantajlardan birisidir.

Daha önce ODBC veri kaynaklarına tanıttığımız için, dosyamızın yolunu göstermeye uğraşmadık. Çünkü Data Sources Name'de dosyamız kayıtlıydı...

Şimdi aynı çalışmayı DSNLess bir DB Bağlantısıyla yaparak bu bağlantımızı da öğrenelim.

Fakat bu bağlantımızı yapmadan önce, ODBC Kaynaklarından tanmlı DB'imizi kaldıralım ki, çalışıp çalışmadığını anlayabilelim... Hadi buyurun Notepad'e..

 

Form sayfamızda sadece Action kısmını değiştirelim ve FormIsle2.asp'ye yönlendirelim. VeriForm2.asp diye kaydedelim. FormIsle.asp'yi açalım ve değiştireceğimiz yerleri değiştirelim...

<%@ Language=VBScript Codepage="1254"%>

<%
Dim Baglantimiz, dsn

'Önce Request metodumuzla Formdan gelen verileri alıyoruz...
txtAdi=Request.Form("txtAdi")
txtSoyadi=Request.Form("txtSoyadi")
txtTelefon=Request.Form("txtTelefon")
txtDogum_Tarihi=Request.Form("txtDogum_Tarihi")
txtMail=Request.Form("txtMail")

Veri="DBQ=" & Server.Mappath("db/Veri.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};"
Set baglantimiz=Server.Createobject("ADODB.Connection")
baglantimiz.open Veri

SQL="INSERT INTO tblVeri (Adi,Soyadi,Telefon,Dogum_Tarihi,Mail) values
('"&txtAdi&"','"&txtSoyadi&"','"&txtTelefon&"','"&txtDogum_Tarihi&"','"&txtMail&"')"
Baglantimiz.Execute (SQL)

Baglantimiz.Close
Set Baglantimiz=Nothing
Response.Write "
Bilgileriniz DB'e kaydedildi. İlginize Teşekkür ederiz..."
%>


Gördüğünüz gibi değişen yer sadece bağlantı yerimiz. Mavi olan kısım... Farkındaysanız değişen bir şey yok.

Sadece DB'imizin, MapPath'ini yani yolunu gösteriyoruz ve Provider'ını yani yayımcısını söylüyoruz. Bu dosyayı da FormIslem2.asp aıyla kaydedip kapatalım. Ve Browser'ımızda VeriForm2.asp'yi çalıştıralım.

ANA SAYFA