ADO Recordset


ULASHISH

Recordset obyekti

ADO Recordset obyekti ma’lumotlar bazasi jadvalidan olingan yozuvlar to‘plamini saqlash uchun ishlatiladi. Recordset obyekti yozuvlar va ustunlardan (maydonlardan) iborat.

ADO’da bu obyekt eng muhimi hisoblanadi va ma’lumotlar bazasidagi ma’lumotlarni boshqarish uchun eng ko‘p ishlatiladi.


ProgID

set objRecordset=Server.CreateObject("ADODB.recordset")

Recordset’ni birinchi marta ochganingizda joriy yozuv ko‘rsatkichi birinchi yozuvni ko‘rsatadi, BOF va EOF xususiyatlari esa False bo‘ladi. Agar yozuvlar bo‘lmasa, BOF va EOF xususiyatlari True bo‘ladi.

Recordset obyektlari yangilashning ikki turini qo‘llab-quvvatlashi mumkin:

  • Darhol yangilash (immediate updating) - Update metodi chaqirilishi bilanoq barcha o‘zgarishlar darhol ma’lumotlar bazasiga yoziladi.
  • Paketli yangilash (batch updating) - provayder bir nechta o‘zgarishni keshlaydi, so‘ngra ularni UpdateBatch metodi orqali ma’lumotlar bazasiga yuboradi.

ADO’da 4 xil kursor turi aniqlangan:

  • Dinamik kursor (dynamic cursor) - Boshqa foydalanuvchilar tomonidan qo‘shilgan, o‘zgartirilgan va o‘chirilgan yozuvlarni ko‘rish imkonini beradi.
  • Kalitlar to‘plami kursori (keyset cursor) - Dinamik kursorga o‘xshaydi, faqat boshqa foydalanuvchilar qo‘shgan yozuvlarni ko‘ra olmaysiz va u boshqa foydalanuvchilar o‘chirgan yozuvlarga kirishni to‘sadi. Boshqa foydalanuvchilar kiritgan ma’lumot o‘zgarishlari esa ko‘rinib turaveradi.
  • Statik kursor (static cursor) - Ma’lumotlarni qidirish yoki hisobotlar tayyorlashda foydalanish uchun Recordset’ning statik nusxasini taqdim etadi. Boshqa foydalanuvchilar tomonidan qo‘shilgan, o‘zgartirilgan yoki o‘chirilgan yozuvlar ko‘rinmaydi. Mijoz tomonidagi (client-side) Recordset obyektini ochganda faqat shu turdagi kursorga ruxsat beriladi.
  • Faqat oldinga harakatlanuvchi kursor (forward-only cursor) - Recordset bo‘ylab faqat oldinga qarab harakatlanish imkonini beradi. Boshqa foydalanuvchilar tomonidan qo‘shilgan, o‘zgartirilgan yoki o‘chirilgan yozuvlar ko‘rinmaydi.

Kursor turini CursorType xususiyati yoki Open metodidagi CursorType parametri orqali o‘rnatish mumkin.

Eslatma: Hamma provayderlar ham Recordset obyektining barcha metod va xususiyatlarini qo‘llab-quvvatlamaydi.



Xususiyatlar

Xususiyat Tavsif
AbsolutePage Recordset obyektidagi sahifa raqamini belgilovchi qiymatni o‘rnatadi yoki qaytaradi
AbsolutePosition Recordset obyektidagi joriy yozuvning tartib raqamini belgilovchi qiymatni o‘rnatadi yoki qaytaradi
ActiveCommand Recordset bilan bog‘langan Command obyektini qaytaradi
ActiveConnection Ulanish yopiq bo‘lsa, ulanish ta’rifini, ochiq bo‘lsa, joriy Connection obyektini o‘rnatadi yoki qaytaradi
BOF Joriy yozuv o‘rni birinchi yozuvdan oldin bo‘lsa true, aks holda false qaytaradi
Bookmark Xatcho‘pni (bookmark) o‘rnatadi yoki qaytaradi. Xatcho‘p joriy yozuvning o‘rnini saqlaydi
CacheSize Keshlanishi mumkin bo‘lgan yozuvlar sonini o‘rnatadi yoki qaytaradi
CursorLocation Kursor xizmatining joylashuvini o‘rnatadi yoki qaytaradi
CursorType Recordset obyektining kursor turini o‘rnatadi yoki qaytaradi
DataMember DataSource xususiyati havola qilgan obyektdan olinadigan ma’lumot a’zosining (data member) nomini o‘rnatadi yoki qaytaradi
DataSource Recordset obyekti sifatida taqdim etiladigan ma’lumotlarni o‘z ichiga olgan obyektni belgilaydi
EditMode Joriy yozuvning tahrirlash holatini qaytaradi
EOF Joriy yozuv o‘rni oxirgi yozuvdan keyin bo‘lsa true, aks holda false qaytaradi
Filter Recordset obyektidagi ma’lumotlar uchun filtrni o‘rnatadi yoki qaytaradi
Index Recordset obyekti uchun joriy indeks nomini o‘rnatadi yoki qaytaradi
LockType Recordset’dagi yozuvni tahrirlashda qulflash (locking) turini belgilovchi qiymatni o‘rnatadi yoki qaytaradi
MarshalOptions Serverga qaysi yozuvlar qaytarilishini belgilovchi qiymatni o‘rnatadi yoki qaytaradi
MaxRecords So‘rovdan Recordset obyektiga qaytariladigan yozuvlarning maksimal sonini o‘rnatadi yoki qaytaradi
PageCount Recordset obyektidagi ma’lumotli sahifalar sonini qaytaradi
PageSize Recordset obyektining bitta sahifasida ruxsat etilgan yozuvlarning maksimal sonini o‘rnatadi yoki qaytaradi
RecordCount Recordset obyektidagi yozuvlar sonini qaytaradi
Sort Recordset’ni saralashda ishlatiladigan maydon nomlarini o‘rnatadi yoki qaytaradi
Source String qiymatni yoki Command obyektiga havolani o‘rnatadi yoxud Recordset obyektining ma’lumotlar manbaini ko‘rsatuvchi String qiymatni qaytaradi
State Recordset obyekti ochiq, yopiq, ulanmoqda, bajarilmoqda yoki ma’lumot olmoqda ekanini tavsiflovchi qiymatni qaytaradi
Status Paketli yangilashlar yoki boshqa ommaviy amallarga nisbatan joriy yozuvning holatini qaytaradi
StayInSync Ota (parent) yozuv o‘rni o‘zgarganda bola (child) yozuvlarga havola ham o‘zgarishi yoki o‘zgarmasligini o‘rnatadi yoki qaytaradi

Metodlar

Metod Tavsif
AddNew Yangi yozuv yaratadi
Cancel Bajarilishni bekor qiladi
CancelBatch Paketli yangilashni bekor qiladi
CancelUpdate

Recordset obyekti yozuviga kiritilgan o‘zgarishlarni bekor qiladi

Clone Mavjud Recordset’ning dublikatini yaratadi
Close Recordset’ni yopadi
CompareBookmarks Ikki xatcho‘pni (bookmark) solishtiradi
Delete Yozuvni yoki yozuvlar guruhini o‘chiradi
Find Recordset’da belgilangan mezonga mos keladigan yozuvni qidiradi
GetRows Recordset obyektidagi bir nechta yozuvni ikki o‘lchamli massivga nusxalaydi
GetString Recordset’ni string sifatida qaytaradi
Move Recordset obyektidagi yozuv ko‘rsatkichini siljitadi
MoveFirst Yozuv ko‘rsatkichini birinchi yozuvga siljitadi
MoveLast Yozuv ko‘rsatkichini oxirgi yozuvga siljitadi
MoveNext Yozuv ko‘rsatkichini keyingi yozuvga siljitadi
MovePrevious Yozuv ko‘rsatkichini oldingi yozuvga siljitadi
NextRecordset Joriy Recordset obyektini tozalaydi va buyruqlar ketma-ketligi bo‘ylab o‘tib, keyingi Recordset obyektini qaytaradi
Open Jadvaldagi yozuvlarga, so‘rov natijalariga yoki saqlangan Recordset’ga kirish imkonini beruvchi ma’lumotlar bazasi elementini ochadi
Requery Dastlabki Recordset’ni hosil qilgan so‘rovni qayta bajarib, Recordset’dagi ma’lumotlarni yangilaydi
Resync Joriy Recordset’dagi ma’lumotlarni asl ma’lumotlar bazasidan yangilaydi
Save Recordset obyektini faylga yoki Stream obyektiga saqlaydi
Seek Belgilangan qiymatlarga mos yozuvni topish uchun Recordset indeksida qidiradi
Supports Recordset obyekti muayyan turdagi funksionallikni qo‘llab-quvvatlashi yoki qo‘llab-quvvatlamasligini bildiruvchi boolean qiymat qaytaradi
Update Recordset obyektidagi bitta yozuvga kiritilgan barcha o‘zgarishlarni saqlaydi
UpdateBatch Recordset’dagi barcha o‘zgarishlarni ma’lumotlar bazasiga saqlaydi. Paketli yangilash rejimida ishlaganda qo‘llaniladi

Hodisalar

Eslatma: Hodisalarni VBScript yoki JScript yordamida qayta ishlab bo‘lmaydi (hodisalarni faqat Visual Basic, Visual C++ va Visual J++ tillari qayta ishlay oladi).

Hodisa Tavsif
EndOfRecordset Oxirgi yozuvdan keyingi yozuvga o‘tishga harakat qilganingizda ishga tushadi
FetchComplete Asinxron amaldagi barcha yozuvlar olib bo‘lingandan keyin ishga tushadi
FetchProgress Asinxron amal davomida yana nechta yozuv olinganini bildirish uchun vaqti-vaqti bilan ishga tushadi
FieldChangeComplete Field obyektining qiymati o‘zgargandan keyin ishga tushadi
MoveComplete Recordset’dagi joriy o‘rin o‘zgargandan keyin ishga tushadi
RecordChangeComplete Yozuv o‘zgargandan keyin ishga tushadi
RecordsetChangeComplete Recordset o‘zgargandan keyin ishga tushadi
WillChangeField Field obyektining qiymati o‘zgarishidan oldin ishga tushadi
WillChangeRecord Yozuv o‘zgarishidan oldin ishga tushadi
WillChangeRecordset Recordset o‘zgarishidan oldin ishga tushadi
WillMove Recordset’dagi joriy o‘rin o‘zgarishidan oldin ishga tushadi

Kolleksiyalar

Kolleksiya Tavsif
Fields Recordset obyektidagi Field obyektlari sonini ko‘rsatadi
Xususiyatlar Recordset obyektidagi barcha Property obyektlarini o‘z ichiga oladi

Fields kolleksiyasining xususiyatlari

Xususiyat Tavsif
Count Fields kolleksiyasidagi elementlar sonini qaytaradi. Sanoq noldan boshlanadi.

Misol:

countfields=rs.Fields.Count

Item(named_item/number) Fields kolleksiyasidagi ko‘rsatilgan elementni qaytaradi.

Misol:

itemfields=rs.Fields.Item(1)
yoki
itemfields=rs.Fields.Item("Name")


Properties kolleksiyasining xususiyatlari

Xususiyat Tavsif
Count Properties kolleksiyasidagi elementlar sonini qaytaradi. Sanoq noldan boshlanadi.

Misol:

countprop=rs.Properties.Count

Item(named_item/number) Properties kolleksiyasidagi ko‘rsatilgan elementni qaytaradi.

Misol:

itemprop = rs.Properties.Item(1)
yoki
itemprop=rs.Properties.Item("Name")


W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!