• 07-04-2010, 13:33:52
    #1
    Arkadaşlar ben bir yerden buldum bu örneği aynısını yapıyorum ama hatalar veriyor response hataları veriyor burdaki kodlar yanlış mı? doğrusu ne dir acil ihtiyacım var teşekkürler...


    Özet
    Database bağlantısı, tablodan veri okuma, kayıt ekleme, kayıt güncelleme, kayıt silme, kayıt sıralama, yazdırma, veri değişkeni tanımlama işlemlerinden bahsediyoruz.


    Db ismine sahip yeni bir Access veritabanı oluşturalım.

    Db veritabanımızda deneme diye bir tablo oluşturalım ve aşağıdaki alanları (field) 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ğ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 kayıt formunu oluşturmaya başlayalım.
    Response.Write '<form method=POST action=kayit_son.asp>'
    Response.Write 'Adı ve Soyadı : <input type=text name=isim> <br>'
    Response.Write 'Adresi : <input type=text name=adres> <br>'
    Response.Write 'Şehir : <input type=text name=sehir> <br>'
    Response.Write 'E-Mail : <input type=text name=email> <br>'
    Response.Write '<input type=submit value=Gönder>'
    Response.Write '</form>'
    %>

    Formumuzu tamamladık. Şimdi bu dosyayı paylaşım yaptıgımız ders klasörüne default.asp olarak kayıt edelim. Artık kayıt formumuz hazır. Farkındaysanız bu formun 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ğ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 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.

    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 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=javascript: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ı inceleyin 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 eklemesini de 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.
    Response.Write '<form method=POST action=guncelle_son.asp>'
    Response.Write '<input type=hidden name=ID value='&ID&'>'
    Response.Write '<input type=text name=isim value='&isim&'>'
    Response.Write '<input type=text name=adres value='&adres&'>'
    Response.Write '<input type=text name=sehir value='&sehir&'>'
    Response.Write '<input type=text name=email value='&email&'>'
    Response.Write '<input type=submit value=Gönder>'

    ' 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=javascript: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 db 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.
    %>
  • 07-04-2010, 20:50:20
    #2
    Üyeliği durduruldu
    response içinde ' işareti kullanılmaz. " ile değiştir.
    örneğin:

    response.write "deneme yazı"

    response.write "default.asp"
  • 08-04-2010, 01:29:56
    #3
    saol kardeşim hallettim.
  • 08-04-2010, 02:07:34
    #4
    Ya birde bunların nasıl yazıldıgını bulamadım sorun veriyor sureklı.

    Güncelleme sayfasındaki;

    Set rs=Server.CreateObject("adodb.recordset")
    Rs.Open "uyeler where id="&id,db,1,3

    Ve
    Kayit Silmedeki;

    Set rs = db.Execute("delete from db where id="&ID)


    Bu kodlar yüzünden hata veriyor 2 sayfa.
  • 08-04-2010, 02:43:03
    #5
    arkadaşım şimdi hatalımı veya değil mi bakacak halim yok ama sana kariyervideo.com ve Webhocam.net sitelerini öneririm dediğin işlemlerin videoları var buralarda bir bak derim