##tablomunAdi
#kimlikNo (int, autoinc, pk), #ustKimlikNo (int), #ad (metin)
Yukarıdaki ifade ettiğim gibi bir veri yapısına sahip olduğunu öngörerek;
Kod:
dim sBaglantiCumlesi
sBaglantiCumlesi = "provider=Microsoft.jet.oledb.4.0; data source=" & server.mapPath("veriTabanim.mdb")
dim rsKayitSeti
set rsKayitSeti = server.createObject("adodb.recordset")
rsKayitSeti.cursorLocation = 3 'kayıtların istemcide tutulacak, ve kayıtlar arasında ileri - geri gezilebilecek
dim sSQL
sSQL = "SELECT * FROM tablomunAdi"
rsKayitSeti.open sSQL, sBaglantiCumlesi, 1, 3
Buraya kadar veri tabanımıza bağlanarak ilgili tablodaki tüm kayıtları ve kursör istemcide olacak şekilde tanımladık.
Şimdi döngüsel fonksiyonu tanımlıyorum.
Kod:
public function sDonguselCozum(rsVT, iUstKimlikNo, sSablon)
sDonguselCozum = "" 'fonksiyonumuz geriye sSablon ile aktarılan string değer döndürecek.
dim vGecici
dim sEskiFiltre, iEskiKayitYeri
sEskiFiltre = rsVT.filter
sEskiKayitYeri = rsVT.absolutePosition
rsVT.filter = "ustKimlikNo=" & iUstKimlikNo
sDonguselCozum = "<ul>"
while not rsVT.eof
'bulunan kayıda ait alanları şablonun içinde tanımlanan değerler ile değiştiriyoruz.
'örnek şablon; sSablon = "<li><a href=""?secilenKimlikNo=[$kimlikNo]"">[$ad]</a></li>"
vGecici = sSablon
vGecici = replace(vGecici, "[$kimlikNo]", rsVT("kimlikNo") & "")
vGecici = replace(vGecici, "[$ustKimlikNo]", rsVT("ustKimlikNo") & "")
vGecici = replace(vGecici, "[$ad]", rsVT("ad") & "")
'tanımlanan değeri fonksiyon taşıyıcısına ekiliyoruz
sDonguselCozum = sDonguselCozum & vGecici
'eklediğimiz dal için alt dalları araştırıyoruz. Burada döngüsel fonksiyon kullanılıyor.
sDonguselCozum = sDonguselCozum & sDonguselCozum(rsVT, rsVT("kimlikNo"), sSablon)
rsVT.moveNext
wEnd
sDonguselCozum = "</ul>"
'veri tabanı filtresi ve yerini eski değerlerine geri alıyoruz.
rsVT.filter = sEskiFiltre
if iKayitSetiYeri > -1 then
rsVT.absolutePosition = sEskiKayitYeri
end if
end function
Şimdi veri tabanımızda kökten başlayarak tüm dalları tarayan komutu vermeye geldik.
Kod:
response.write sDonguselCozum(rsKayitSeti, 0, "<li><a href=""?secilenKimlikNo=[$kimlikNo]"">[$ad]</a></li>")
Şimdi de veri tabanını kapatıyoruz
Kod:
rsKayitSeti.close
set rsKayitSeti = nothing