Genelde Web Yazılım DErslerine Başlarken ilk Ders Genelde Form Yapmak Olur. Başlarda Saçma bulurdum Ama sonradan Tabanın Orda Atıldığını Anladım.
Burda öğreneceğimiz konu form elemanlarından databaseye kayıt – güncelleme ve silme olacak. Ayrıca yine databaseden while döngüsüyle kayıtları sıralı çekmeyi öğreneceğiz.
Alıntı:
İlk önce masaüstünde ders1 diye bir klasör yaratıp yine ders1 diye dosya özellikler > Webpaylaşımı ndan paylaşım verin.
Başlat > Programlar > MS Access e tıklayarak bir Access dosyası açalım. Ve dosya3 klasörüne db ismiyle olarak yeni bir Access veritabanı oluşturalım.
Db veritabanımızda deneme diye bir tablo oluşturalım ve aşağıdaki alan ( field ) leri açalım ;
id – otomatik sayı
isim – not
adres – not
sehir – not
email – not
tarih – tarih
ve veritabanımızı kapatalım.
Şimdi veritabanımızdan veri alıp işlem yapabilmemiz için ilk etapta kayıt etmeliyiz. Bunun için bir kayıt formu oluşturmamız gerekli.
Bir NotePad dosyası açın ve aşağıda yazıcaklarımı aynen yazın.
<%
‘ İlk etapta veritabanımıza bağlanmaız gerekiyor.
Set db = Server.CreateObject("adodb.connection" )
db.Open("driver={microsoft access driver (*.mdb)}; dbq=" & Server.MapPath("db.mdb" ))
‘ Veritabanımıza bağlantı kurduk. Şimdi kayıt formunu oluşturmaya başlayalım.
Formumuzu tamamladık. Şimdi bu dosyayı paylaşım yaptıgımız ders3 klasörüne default.asp olarak kayıt edelim. Artık kayıt formumuz hazır. Farkındaysanız bu form un action bölümüne kayit_son.asp ye yönlendirdik. Yani bu adımdan sonraki işlemlerimizi kayit_son.asp diye bir dosyada yapmamız gerekecek.
Kayit_son.asp yi oluşturmaya başlayalım.
<%
‘ İlk etapta veritabanımıza bağlanmaız gerekiyor.
Set db = Server.CreateObject("adodb.connection" )
db.Open("driver={microsoft access driver (*.mdb)}; dbq=" & Server.MapPath("db.mdb" ))
‘ Veritabanımıza bağlantı kurduk. Şimdi kayıt işlemlerini oluşturmaya başlayalım.
‘ Yukarıdada veritabanımızda deneme diye bir tablo açmış ve alanlarını oluşturmuştur. Şimdi bu düzenekte ilk önce tablomuza bağlanacağız ve formdan gelen verileri kontrol edip bu tablomuz ve alanlarına göre kayıt işlemi yapacağız.
‘ ilk önce default.asp den gönderdiğimiz form elemanlarımızı alıp tanımlayalım ve boş olup olmadıklarını kontrol edelim.
‘ form elemanlarını tanımladık. Şimdi gönderilen verilen boş olup olmadıklarını kontrol edelim . Boş ise default.asp ye geri döndürelim.
If isim=”” or adres=”” or sehir=”” or email=”” Then
Response.Write “Boş alan bıraktınız.<br><br>Lütfen geri dönüp kontrol ediniz.<br><br><a href=j a v a s c r i p t:history.go(-1)>Geri dönmek için tıklayınız.</a>”
Else
‘ Else yani boş değilse dedikten sonra kayıt yapacağımız deneme tablomuzu açıp kayıt işlemine başlayalım.
Set rs=Server.CreateObject(“adodb.recordset”)
Rs.Open “deneme”,db,1,3
Rs.addnew
Rs(“isim”)=isim
Rs(“adres”)=adres
Rs(“sehir”)=sehir
Rs(“email”)=email
Rs(“tarih”)=Now()
Rs.update
Rs.Close
Set rs=Nothing
‘ kayıt işlemini bitirdik. Şimdi kayıt işlemini bitirdiğimize dair bilgi verelim.
Response.Write “ Kayıt işlemi başarıyla yapıldı. <br><br><a href=default.asp>Yeni kayıt için tıklayınız.</a><br><br><a href=kayitlar.asp>Tüm Kayıtları İnceleyin. </a>”
End If
‘ şimdi bu dosyayı kayit_son.asp olarak kayıt edelim. Evet artık kayıt işlemi sayfamızda hazır arkadaşlar….
%>
Farkındaysanız tüm Kayıtları İnceleyin diye kayitlar.asp ye giden bir link oluşturduk yukarıda . Ve Yeni kayıt için tıklayınız diye az önce oluşturduğumuz form sayfamıza yani default.asp ye ziyaretçiyi yönlendirip yeni bir kayıt eklemesinide sağlayabiliyoruz.
Şimdi yapacağımız işlem kayıt ettiğimiz verileri sayfaya while döngüsü ile sıralı halde yazdırmak olacak.
Bunun için bir notePad dosyası açalım.
<%
‘ İlk etapta veritabanımıza bağlanmamız gerekiyor.
Set db = Server.CreateObject("adodb.connection" )
db.Open("driver={microsoft access driver (*.mdb)}; dbq=" & Server.MapPath("db.mdb" ))
‘ Veritabanımıza bağlantı kurduk. Şimdi işlemlerimize başlayalım. Bu sayfada veritabınımızdaki deneme tablomuzun içerisine kayıt ettiğimiz bilgileri sıralı halde sayfaya yazdırma işlemi yapacağız. Bunun için deneme tablomuza bağlanıp ilk etapta veri olup olmadıgını kontrol edeceğiz ,Yok ise olmadıgına dair bilgi yazısı yazdıracağız, var ise verileri tanımlayıp sayfaya sıralı halde yazdıracağız.
Set rs=Server.CreateObject(“adodb.recordset”)
Rs.Open “deneme”,db,1,3
If rs.Eof Then
Response.Write “Kayıt bulunamadı.<br><br><a href=default.asp>Yeni kayıt eklemek için tıklayınız.</a>”
Else
While not rs.Eof
id=rs(“id”)
isim=rs(“isim”)
adres=rs(“adres”)
sehir=rs(“sehir”)
email=rs(“email”)
tarih=rs(“tarih”)
‘ alanları tanımladık . şimdi yazdıralım.
Response.Write “ Sıra No : “&id&” – Adı Soyadı : “&isim&” – Adres : “&adres&” – Şehir : “&sehir&” –Email : “&email&” – Kayıt Tarihi : “&tarih&” <a href=guncelle.asp?ID=”&id&”> - Güncelle ! </a><br>”
Rs.Movenext
Wend
‘ döngüyü bitirdik.
Response.Write “<a href=default.asp>Yeni Kayıt eklemek için tıklayınız.</a>”
End If
Rs.Close
Set rs=Nothing
‘ iş bukadar. Artık sayfamızda tüm verilerin sonuna <br> tagı koydugumuz için alt alta sıralandı. <br> tagından hemen sonra guncelle.asp diye bir link oluşturduk. Ve hangi verimizi guncelleyeceğimizi bildirmemiz için verinin id numarasını ID tanımıyla linkimize ekledik. Bunu guncelle.asp ye gidildiğinde hangi veriyi güncelleyeceğimizi bilmemiz için yaptık. Şimdi bu dosyayıda kayitlar.asp olarak kayıt edelim.
%>
Bir kayıtı güncelleyebilmemiz için o kayıtı form elemanlarına yazdırmamız gerekiyor. Şimdi yapacağımız işlemde link ile gelen ID değişkeni ne göre tablomuzdan verimizi bulup form elemanlarımıza bu kayıtın bilgilerini yazdıracağız.
<%
‘ İlk etapta veritabanımıza bağlanmamız gerekiyor.
Set db = Server.CreateObject("adodb.connection" )
db.Open("driver={microsoft access driver (*.mdb)}; dbq=" & Server.MapPath("db.mdb" ))
‘ şimdi kayitlar.asp den gelen ID değişkenini tanımlayalım.
ID=request(“ID”)
‘ şimdi ID değişkenine göre veritabanındaki deneme tablomuzdan kayıtımızı bulalım ve kayıtları tanımlayalım.
Set rs=Server.CreateObject(“adodb.recordset”)
Rs.Open “deneme where id=”&ID,db,1,3
isim=rs(“isim”)
adres=rs(“adres”)
sehir=rs(“sehir”)
email=rs(“email”)
rs.Close
Set rs=Nothing
‘ tablodan kayıtı bulup verileri tanımladık. Şimdi form oluşturup bu verileri form elemanlarına yerleştirelim.
‘ formumuzu oluşturduk ve formun gideceği adres olarak guncelle_son.asp olarak tanımladık. Bundan sonraki güncelleme işlemini guncelle_son.asp de yapacağız. Ve farkındaysanız bir önceki sayfadan gelen ID değişkenini formun içerisinde gizli (hidden) olara koyduk ve tanımladık. Amacımız guncelle_son.asp dede hangi ID numaraya sahip kayıtsetimiz ile ilgili işlem yapacağımız bilmek..
‘Şimdi bu dosyamızı guncelle.asp olarak kayıt edelim ve bir sonraki adıma geçelim.
%>
Şimdiki yapacağımız işlemde guncelle.asp den yolladıgımız form elemanlarını alıp , formdan gizli olarak gelen ID değişkenine göre kayıtsetimizi bulmak ve veirleri güncellemek olacak.
Bir notePad açalım.
<%
‘ İlk etapta veritabanımıza bağlanmamız gerekiyor.
Set db = Server.CreateObject("adodb.connection" )
db.Open("driver={microsoft access driver (*.mdb)}; dbq=" & Server.MapPath("db.mdb" ))
‘ ilk önce guncelle.asp den gönderdiğimiz form elemanlarımızı alıp tanımlayalım ve boş olup olmadıklarını kontrol edelim.
ID = Request.Form(“ID”)
isim = Request.Form(“isim”)
adres = Request.Form(“adres”)
sehir = Request.Form(“sehir”)
email = Request.Form(“email”)
‘ form elemanlarını tanımladık. Şimdi gönderilen verilen boş olup olmadıklarını kontrol edelim . Boş ise guncelle.asp ye geri döndürelim.
If isim=”” or adres=”” or sehir=”” or email=”” Then
Response.Write “Boş alan bıraktınız.<br><br>Lütfen geri dönüp kontrol ediniz.<br><br><a href=j a v a s c r i p t:history.go(-1)>Geri dönmek için tıklayınız.</a>”
Else
‘ Else yani boş değilse dedikten sonra kayıt yapacağımız deneme tablomuzu açıp kayıt işlemine başlayalım.
Set rs=Server.CreateObject(“adodb.recordset”)
Rs.Open “deneme where id=”&ID ,db,1,3
Rs(“isim”)=isim
Rs(“adres”)=adres
Rs(“sehir”)=sehir
Rs(“email”)=email
Rs.update
Rs.Close
Set rs=Nothing
‘ güncelleme işlemini bitirdik. Şimdi güncelleme işlemini bitirdiğimize dair bilgi verelim.
Response.Write “ Güncelleme işlemi başarıyla yapıldı. <br><br><a href=default.asp>Yeni kayıt için tıklayınız.</a><br><br><a href=kayitlar.asp>Tüm Kayıtları İnceleyin. </a>”
End If
‘ şimdi bu dosyayı guncelle_son.asp olarak kayıt edelim. Evet artık kayıtsetine özel Güncelleme sayfamızda hazır arkadaşlar….
%>
Silme işlemi yapalım. Bunun için ilk önce kayitlar.asp sayfamızı notePad da açalım ve aşağıdaki satırı bulalım.
Response.write “ Sıra No : “&id&” – Adı Soyadı : “&isim&” – Adres : “&adres&” – Şehir : “&sehir&” –Email : “&email&” – Kayıt Tarihi : “&tarih&” <a href=guncelle.asp?ID=”&id&”> - Güncelle ! </a><br>”
Burada bir silin linki koyup bu link sayedesinde istediğimiz kayıtı silebileceğiz.
Yukarıdaki satırı aşağıdaki gibi düzenleyin.
Response.write “ Sıra No : “&id&” – Adı Soyadı : “&isim&” – Adres : “&adres&” – Şehir : “&sehir&” –Email : “&email&” – Kayıt Tarihi : “&tarih&” <a href=guncelle.asp?ID=”&id&”> - Güncelle ! </a> - <a href=kayit_sil.asp?ID=”&id&”>Silin !</a> <br>”
Bu şekilde düzenledikten sonra kayitlar.asp yi kaydedip kapatın.
Silme işlemini farkındaysanız kayit_sil.asp de yapacağız. Sil linkindeki ID değişkenine göre kayıtımızı belirleyecğeiz ve kayit_sil.asp de bu kayıtı bulup sildireceğiz. Silme işleminde sonra direkt kayitlar.asp ye geri döneceğiz. Bunun için bir notePad açalım.
<%
‘ İlk etapta veritabanımıza bağlanmamız gerekiyor.
Set db = Server.CreateObject("adodb.connection" )
db.Open("driver={microsoft access driver (*.mdb)}; dbq=" & Server.MapPath("db.mdb" ))
‘ sil linkinden gelen ID verisini tanımlayalım.
ID = Request.Form(“ID”)
‘ şimdi sildirelim.
Set rs=db.Execute(“delete from deneme where id=”&ID)
‘ sildirmeyi yaptık. Şimdi kayitlar.asp ye geri döndürelim.
Response.Redirect “kayitlar.asp”
‘ işte bukadar. Artık kayıtları sildirebiliyoruz.
%>
Arkadaşlar. Bu derslerimizde Database bağlantısı , Tablo bağlantısı , Kayıt ekleme , Kayıt Güncelleme , Kayıt silme , Kayıt Sıralama – Yazdırma , veri değişkeni tanımlama işlemlerini öğrendik. Bu işlemler ASP için çok önemli unsurlardır.
Bu forumda yeni başlıklar açamazsınız Bu forumdaki başlıklara cevap veremezsiniz Bu forumdaki mesajlarınızı değiştiremezsiniz Bu forumdaki mesajlarınızı silemezsiniz Bu forumdaki anketlerde oy kullanamazsınız