Hizmetlerimiz
       Web Tasarım
       Grafik Tasarım
       Ürünlerimiz
       Seo Uygulamaları
       Hosting Hizmetleri
       Domain Hizmetleri
       Referanslarımız
        Müşteri Alanı
      Müşteri Kayıt
      Müşteri Paneli Giriş
      Ödeme Bildirimi
      Ticket
        Haberler

Tüm Haberler >>   

        Son Projeler
        Son Konular
    Veritabanındaki Birçok Kaydı Aynı Anda Güncelleme  

Veritabanındaki bir kaydı güncellerken sorun yok. Ancak birden fazla kaydı tek bir sayfada güncellemeye kalktığınızda bu sizi biraz zorlayacaktır  

ASP ile veritabanındaki bir kaydı güncellerken belki sorun yaşamıyor olabilirsiniz ama siz bir çok kaydı aynı anda güncellemeye kalktığınızda bu sizi biraz zorlayabilir. Şimdi size bu işin mantığını aktarmaya çalışacağım.

   Diyelimgi bilgisayar parça fiyatlarının tutulduğu bir tablonuz var ve bu tabloda parçadı, fiyatı, özellikleri gibi 3 alan var. Sizde bu veritabanındaki bilgileri bir admin sayfasından güncelleyeceksiniz. Yapacağınız iş bir do while döngüsü ile verileri alıp textboxlar içine yazdırmak. Sorunmu ne? Bilgileri veritabanından döngü ile alacağınız için ve sadece 3 adet taxtbox (parcaadi, fiyat, ozellik) kullanıp bunu döngü ile çoğaltacağınızdan tüm textboxların adı aynı olacak ve siz formun gönderildiği sayfada textboxun adını yazdığınızda son textboxtaki veri geçerli olacaktır. Buda demek oluyor ki her textboxa ayrı bir isim verip bu şekilde diğer sayfadan almalıyız. Peki ayrı isim vermeyi nasıl yapacağız. Öncelikler veritabanınızda ID (Kimlik) alanının olması şart. ID numarası otomatik olarak VT tarafından atanır ve hiçbir kaydın ID numarası siğeriyle aynı değildir. Yani biz textboxları isimlendirirken bu ID numaralarını kullanacağız. Kısa bir örnek verelim:

############# sayfa 1 ##############
<%
'---- Veritabanı bağlantınızı gerçekleştirdiğinizi varsayıyorum

SQL = "Select * From tablolar order by ID"
set getir = baglanti.Execute(SQL)
%>
<table*>
<tr*>
<td*>Parça</td ><td >Fiyat</td ><td >özellik</td*>
</tr*>
<%
Do While not getir.EOF
ID = getir("ID")
parca = getir("parcaadi")
fiyat = getir("fiyat")
ozellik = getir("ozellik")
%>
<tr*>
<td*><input type="text" name="parca_<%=ID%>" value="<%=parca%>"></td*>

<td*><input type="text" name="fiyat_<%=ID%>" value="<%=fiyat%>"></td*>

<td*><input type="text" name="ozellik_<%=ID%>" value="<%=ozellik%>"></td*>

</tr*>
<%
getir.Movenext
Loop
%>
</table>
############ sayfa 1 sonu #############

    Bu örneği incelediğinizde textboxların isimlendirilmesinde grubu ile birlikte ID numaralarınında kullanıldığını göreceksiniz. Şimdi bu verilerin alınmasını inceliyelim:

############ sayfa 2 ################
<%
'---- Veritabanı bağlantınızı gerçekleştirdiğinizi varsayıyorum

SQL = "Select * From tablolar order by ID"
set getir = baglanti.Execute(SQL)

Do While not getir.EOF
ID = getir("ID")
parca = Request.Form("parca_" &amp;amp; ID &amp;amp; "")
fiyat= Request.Form("fiyat_" &amp;amp; ID &amp;amp; "")
ozellik= Request.Form("ozellik_" &amp;amp; ID &amp;amp; "")

   SQL = "Update parca Set "
   SQL = SQL &amp;amp; " parca="' &amp;amp; parca &amp;amp; "', "
   SQL = SQL &amp;amp; " fiyat=" &amp;amp; fiyat &amp;amp; ", " 'Sayısal ifadelerde tek tırnak (') kullanılmaz
   SQL = SQL &amp;amp; " ozellik="' &amp;amp; ozellik &amp;amp; "' "
   SQL = SQL &amp;amp; " where ID=" &amp;amp; ID &amp;amp; ""
   baglanti.Execute(SQL)

getir.Movenet
Loop
%>
########### sayfa2 sonu #############

   Gördüğünüz gibi formdan bilgileri yine ID numaralarını ve grubunu kullanarak aldık. Bu makaleyi yazarken amacım yalnızca işin mantığını size aktarabilmekti. Bu sebeple kodlarda fazla ayrıntıya girmedim. Hatalarda olabilir. Bu mantık ile her türlü çoklu kayıtla işlem yapabilirsiniz.
    Mesela yazdığınız bir mesaj scriptinde üyelerin başındaki checkboxu işaretlediği mesajları sileceksiniz. Yine aynı mantık geçerli. Bu sefer checkboları kayıtların ID numaralarıyla isimlendireceksiniz.



Okunma : 144
 
 

 
 
 
Bugün Tekil : 2
Toplam Tekil : 3651
Toplam Çoğul : 27401
İp No : 38.107.191.113

Display Pagerank

 

ENSOFTdizayn.NET
2009-2010 Her Hakkı Saklıdır

KareOfis | Rulet Sohbet | Dizi Seti