asp ile veritabanı işlemlerinden GetRows( ) konusuna kısaca değinmek istiyorum. umarım yararlı bir kaynak olur.
GetRows( ) uygulamasında amacımız veritabanında ilgili tabloda mevcut olan tüm satır ve sütunları işlemektir.
örneğin;
tablo adında bir tablomuz ve
id, a, b, c adında 4 tane fieldimiz olsun
Dim veri, Rs
Set Rs = Baglanti.Execute("SELECT * FROM tablo" )
If Not Rs.EOF Then
veri=Rs.GetRows( )
End If
Set Rs = Nothing
GetRows( ) da satır ve sutun numaraları Daima SIFIRdan başlayıp artarak devam eder.
Toplam veri ve field Sayısını şöyle bulabiliriz
fieldsayi ve verisayi sayıları ışığında gerekli kıyaslamalarımızı yaparız.
Örneğin;
Dim veri, Rs, SatirSayi, SutunSayi
Set Rs = Baglanti.Execute("SELECT * FROM tablo" )
If Not Rs.EOF Then
veri=Rs.GetRows( )
fieldsayi = Ubound(veri,1 )
verisayi = Ubound(veri,2 )
End If
Set Rs = Nothing
id, a, b, c adında 4 tane fieldimiz olsun demiştik
bu durumda
fieldsayi yani Ubound(veri,1 )= 3 olacaktır
(4 değilde neden 3 olmasının sebebi değerin sıfırdan başlamasıdır. )
verisayi ise bize toplam kayıt sayısının bir eksiğini verir. bunun sebebide yukarda yazdığım sebeble aynı.
GetRows( ) işleminin diğer işlemlere göre kolay ve performansının yüksek olması da burda başlıyor.
eğer GetRows( ) kullanmasaydık veri sayısını bulmak için ayrı bir Rs açıp COUNT edecektir.
ama GetRows( ) da veri sayısını tek işlemde tek bir Rs üzerinden alabiliriz.
ve derizki tablomuzda toplam <%=(Ubound(veri,2 )+1 )%> veri veya (verisayi+1 ) vardır.
şimdide tablomuzdaki tüm verileri yazdıralım.
Dim i,j
If verisayi > 0 Then
For i=0 to verisayi
For j=0 to fieldsayi
Response.write veri(j,i ) &"-"
Next
Response.write "<br>"
Next
Response.write "<hr>Veritabanında "&Int(verisayi+1 )&" kayıt var"
Else
Response.write "Veritabanında kayıt yok.."
End If
id, a, b, c adında 4 tane fieldimiz içerisinde
id=0
a=1
b=2
c=3 numarasıyla eşlenmektedir.
gördüğünüz gibi, yukarıda açtığım bir recordsetten hem veri sayısını aldım. hem tüm verileri yazdırdım.
Burda Veri(SatirNumarasi,SutunNumarasi ) şeklinde işlem yapılmakta.
bu kadar yeter. umarım faydalı olur.
bir dahaki sefere Allah nasip ederse GetRows( ) ile birden fazla tabloyu eşleştirme ve sayfalama işlemlerine değineceğim.
iyi çalışmalar