22-12-2006, 04:33 AM
ASP ile nasıl veritabanı bağlantısı yapılır?
Nelere ihtiyacımız var?
ASP ile veritabanı bağlantısı yapabilmek için bizim ilk etap olarak kullanacağımız Microsoft Access programına (Ofis Paketi ile birlikte gelir.)
ve bir web sunucuya ihtiyacımız var. Bu web sunucusu bilgisayarımızdaki IIS, PWS olabilir veya bir hosting olabilir.
Önce Microsoft Access programını açıyoruz. CTRL+N ile yeni bir Veritabanı (Bundan sonra VT diyeceğim) yaratıyoruz. VT'mizi web sunumuzun altında ana dizininin üzerindeki db dizinine deneme.mdb adıyla kayıt ediyoruz.
Create Table In Design View (Tasarım görünümünde tablo oluştur) 'i tıklıyoruz. Üç kısımı bir form gelicek karşımıza. Birinci kısıma alan (field) ismini yazacağız. İkinci kısımda alan türünü seçeceğiz. Üçüncü kısım genellikle kullanılmaz ama alanın açıklaması oraya yazılır.
Biz fldAuto, fldIsim, fldTelefon isimli üç alan yaratıyoruz.
fldAuto için Otomatik Sayı'yı (Auto Number) seçiyoruz.
fldIsim ve fldTelefon için Metin'i (Text) seçiyoruz.
Sonra kaydetme tuşuna basıyoruz. Tablo adını soran bir dialog gelicek karşımıza tblTablo yazıyoruz. Sonra Birincil Anahtar ile ilgili bir uyarı gelicek evet diyoruz. Artık tablomuz yaratıldı.
Şimdi ASP dosyamızı açıyoruz; (Adı dboku.asp olsun)
Kod:
<%
SET objConn = Server.CreateObject("ADODB.Connection") ' Veritabanına bağlanmak için gerekli nesneyi yarattık.
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db/deneme.mdb") & ";" 'Bağlantı komutumuzu yazdık.
objConn.Open strConn 'Bağlanma komutunu verdik
strSQL = "SELECT * FROM tblTablo ORDER BY fldIsim ASC"
'SELECT veritabanından veri almak için kullanılan bir SQL komutudur.
'* ile tüm alanları almasını belirtik. İsterseniz tüm alanları yazabilirsiniz; fldAuto, fldIsim, fldTelefon gibi.
'FROM hangi tablodan veri alacağımızı belirlemeye yarar.
'tblTablo ile tablo adımızı da belirttik
'ORDER BY sıralamayı belirlememizi sağlar.
'fldIsim sıralamanın fldIsim alanına bağlı olmasını sağlıyor.
'ASC ile sıralama türü. ASC olursa A-Z'ye (Yükselen) DESC olursa Z-A'ya (Azalan) sıralama yapmış oluruz.
SET objRS = Server.CreateObject("ADODB.Recordset") ' Kayıt setini oluşturduk.
objRS.Open strSQL, objConn, 1, 3
'.Open komutu ile bağlantı açmasını istiyoruz.
'strSQL ile SQL Sorgusunu belirliyoruz.
'objConn ile Bağlantı nesnesini belirliyoruz.
'1, 3 ise cursor adını verdiğimiz olay. Kayıt setinin özelliklerini belirliyor.
Do UNTIL objRS.Eof 'Kayıtların sonuna kadar veri almasını istiyoruz.
Response.Write objRS("fldIsim") & " adlı kişinin telefon numarası : " & objRS("fldTelefon") & "
"
'Kayıtlarımızı objRS("Alanadi") şeklinde alıyoruz.
objRS.MoveNext 'Bir sonraki kayıta geçmesini istiyoruz."
Loop 'Döngünün başa dönmesini ve devam etmesini istiyoruz.
objRS.Close 'Kayıt setimizi kapatıyoruz.
SET objRS = Nothing 'KAyıt setini temizliyoruz.
objConn.Close 'Bağlantıyı kesiyoruz.
SET objConn = Nothing 'Bağlantı nesnesini kapıyoruz.
%>
Nelere ihtiyacımız var?
ASP ile veritabanı bağlantısı yapabilmek için bizim ilk etap olarak kullanacağımız Microsoft Access programına (Ofis Paketi ile birlikte gelir.)
ve bir web sunucuya ihtiyacımız var. Bu web sunucusu bilgisayarımızdaki IIS, PWS olabilir veya bir hosting olabilir.
Önce Microsoft Access programını açıyoruz. CTRL+N ile yeni bir Veritabanı (Bundan sonra VT diyeceğim) yaratıyoruz. VT'mizi web sunumuzun altında ana dizininin üzerindeki db dizinine deneme.mdb adıyla kayıt ediyoruz.
Create Table In Design View (Tasarım görünümünde tablo oluştur) 'i tıklıyoruz. Üç kısımı bir form gelicek karşımıza. Birinci kısıma alan (field) ismini yazacağız. İkinci kısımda alan türünü seçeceğiz. Üçüncü kısım genellikle kullanılmaz ama alanın açıklaması oraya yazılır.
Biz fldAuto, fldIsim, fldTelefon isimli üç alan yaratıyoruz.
fldAuto için Otomatik Sayı'yı (Auto Number) seçiyoruz.
fldIsim ve fldTelefon için Metin'i (Text) seçiyoruz.
Sonra kaydetme tuşuna basıyoruz. Tablo adını soran bir dialog gelicek karşımıza tblTablo yazıyoruz. Sonra Birincil Anahtar ile ilgili bir uyarı gelicek evet diyoruz. Artık tablomuz yaratıldı.
Şimdi ASP dosyamızı açıyoruz; (Adı dboku.asp olsun)
Kod:
<%
SET objConn = Server.CreateObject("ADODB.Connection") ' Veritabanına bağlanmak için gerekli nesneyi yarattık.
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db/deneme.mdb") & ";" 'Bağlantı komutumuzu yazdık.
objConn.Open strConn 'Bağlanma komutunu verdik
strSQL = "SELECT * FROM tblTablo ORDER BY fldIsim ASC"
'SELECT veritabanından veri almak için kullanılan bir SQL komutudur.
'* ile tüm alanları almasını belirtik. İsterseniz tüm alanları yazabilirsiniz; fldAuto, fldIsim, fldTelefon gibi.
'FROM hangi tablodan veri alacağımızı belirlemeye yarar.
'tblTablo ile tablo adımızı da belirttik
'ORDER BY sıralamayı belirlememizi sağlar.
'fldIsim sıralamanın fldIsim alanına bağlı olmasını sağlıyor.
'ASC ile sıralama türü. ASC olursa A-Z'ye (Yükselen) DESC olursa Z-A'ya (Azalan) sıralama yapmış oluruz.
SET objRS = Server.CreateObject("ADODB.Recordset") ' Kayıt setini oluşturduk.
objRS.Open strSQL, objConn, 1, 3
'.Open komutu ile bağlantı açmasını istiyoruz.
'strSQL ile SQL Sorgusunu belirliyoruz.
'objConn ile Bağlantı nesnesini belirliyoruz.
'1, 3 ise cursor adını verdiğimiz olay. Kayıt setinin özelliklerini belirliyor.
Do UNTIL objRS.Eof 'Kayıtların sonuna kadar veri almasını istiyoruz.
Response.Write objRS("fldIsim") & " adlı kişinin telefon numarası : " & objRS("fldTelefon") & "
"
'Kayıtlarımızı objRS("Alanadi") şeklinde alıyoruz.
objRS.MoveNext 'Bir sonraki kayıta geçmesini istiyoruz."
Loop 'Döngünün başa dönmesini ve devam etmesini istiyoruz.
objRS.Close 'Kayıt setimizi kapatıyoruz.
SET objRS = Nothing 'KAyıt setini temizliyoruz.
objConn.Close 'Bağlantıyı kesiyoruz.
SET objConn = Nothing 'Bağlantı nesnesini kapıyoruz.
%>