مجرد ADO Recordset
- صفحه قبل ADO Record
- صفحه بعدی ADO Stream
مثال
- GetRows
- این مثال نحوه استفاده از روش GetRows را نشان میدهد.
رکوردهای Recordset
رکوردهای Recordset ADO برای نگهداری یک مجموعه از رکوردها از یک جدول پایگاه داده استفاده میشوند. یک رکوردset شامل رکوردها و ستونها (فیلدها) است.
در ADO، این شیء مهمترین و بیشتر مورد استفاده قرار گرفته برای عملیات دادهای بر روی پایگاه داده است.
ProgID
set objRecordset=Server.CreateObject("ADODB.recordset")
وقتی اولین بار یک رکوردset را باز میکنید، اشارهگر رکورد فعلی به اولین رکورد اشاره میکند و ویژگیهای BOF و EOF به False هستند. اگر هیچ رکوردی وجود نداشته باشد، ویژگیهای BOF و EOF به True هستند.
رکوردهای Recordset قادر به پشتیبانی از دو نوع بهروزرسانی هستند:
- بهروزرسانی فوری - به محض فراخوانی روش Update، همه تغییرات به صورت فوری به پایگاه داده نوشته میشوند.
- بهروزرسانی در یک بار - پرفایدر چندین تغییر را در حافظه ذخیره میکند و سپس این تغییرات را با استفاده از روش UpdateBatch به پایگاه داده ارسال میکند.
در ADO، 4 نوع مختلف از کلاینتورها (پوینترها) تعریف شده است:
- کلاینتور پویا - به شما امکان میدهد اضافات، تغییرات و حذفهای انجام شده توسط کاربران دیگر را مشاهده کنید
- کلاینتور - شبیه به کلاینتورهای پویا است، اما شما نمیتوانید اضافات انجام شده توسط کاربران دیگر را مشاهده کنید و از دسترسی به رکوردهای حذف شده توسط کاربران دیگر جلوگیری میکند. تغییرات دادهای که توسط کاربران دیگر انجام شده است، همچنان قابل مشاهده است.
- موس (cursor) ثابت - یک نسخه ثابت از مجموعه رکوردها ارائه میدهد، که میتوان از آن برای جستجو دادهها یا ایجاد گزارشها استفاده کرد. علاوه بر این، اضافات، تغییرات و حذفهایی که توسط سایر کاربران انجام شدهاند، دیده نمیشوند. این تنها نوع موس (cursor) مجاز هنگام باز کردن یک شیء Recordset کاربر است.
- موس (cursor) به سمت جلو - فقط حرکت به سمت جلو در Recordset مجاز است. علاوه بر این، اضافات، تغییرات و حذفهایی که توسط سایر کاربران انجام شدهاند، دیده نمیشوند.
نوع موس (cursor) را میتوان از طریق ویژگی CursorType یا پارامتر CursorType در روش Open تنظیم کرد.
نکته:همه ارائهدهندگان (providers) تمام روشها و ویژگیهای Recordset را پشتیبانی نمیکنند.
ویژگی
ویژگی | توضیح |
---|---|
AbsolutePage | تنظیم یا بازگشت مقداری که صفحهای که Recordset در آن قرار دارد را مشخص میکند. |
AbsolutePosition | تنظیم یا بازگشت مقداری که موقعیت رکورد فعلی در Recordset را مشخص میکند. |
ActiveCommand | شیء Command مرتبط با Recordset را بازمیگرداند. |
ActiveConnection | اگر اتصال بسته شده باشد، تعریف اتصال را تنظیم یا بازگرداند، اگر اتصال باز باشد، شیء Connection فعلی را تنظیم یا بازگرداند. |
BOF | اگر موقعیت رکورد فعلی قبل از اولین رکورد باشد، true بازمیگرداند، در غیر این صورت false. |
Bookmark | یک نقشنام (bookmark) تنظیم یا بازگرداند. این نقشنام موقعیت رکورد فعلی را ذخیره میکند. |
CacheSize | تعداد رکوردهایی که میتوانند در حافظه پشتیبان (cache) قرار گیرند را تنظیم یا بازگرداند. |
CursorLocation | موقعیت سرویس موس (cursor) را تنظیم یا بازگرداند. |
CursorType | نوع موس (cursor) Recordset را تنظیم یا بازگرداند. |
DataMember | نام عضو دادهای که باید از شیء مرجع داده (DataSource) مورد استفاده قرار گیرد را تنظیم یا بازگرداند. |
DataSource | یک شیء را مشخص میکند که شامل دادههایی است که باید به عنوان Recordset نمایش داده شوند. |
EditMode | وضعیت ویرایش رکورد فعلی را بازمیگرداند. |
EOF | اگر موقعیت رکورد فعلی پس از آخرین رکورد باشد، true بازمیگرداند، در غیر این صورت false. |
Filter | یک فیلتر برای دادههای Recordset بازمیگرداند. |
Index | تنظیم یا بازگشت نام شاخص فعلی Recordset. |
LockType | تنظیم یا بازگشت مقداری که نوع قفل را در هنگام ویرایش یک رکورد در Recordset میتوان مشخص کرد. |
MarshalOptions | تنظیم یا بازگشت یک مقدار، که این مقدار مشخص میکند کدام مدارک باید به سرور بازگردانده شوند. |
MaxRecords | تعداد بیشینه رکوردهایی که از یک جستجو بازمیگردانند Recordset object را تعیین یا بازمیگرداند. |
PageCount | تعداد صفحات داده Recordset object را بازمیگرداند. |
PageSize | تعداد بیشینه رکوردهای مجاز در یک صفحه Recordset object را تعیین یا بازمیگرداند. |
RecordCount | تعداد رکوردها در Recordset object را بازمیگرداند. |
Sort | تعیین یا بازگرداندن نام یک یا چند فیلد که به عنوان معیار مرتبسازی Recordset استفاده میشوند. |
Source | یک مقدار رشتهای، یا یک رفرنس به Command object، یا یک مقدار رشتهای بازمیگرداند که میتواند منبع Recordset object را نشان دهد. |
State | یک مقدار بازمیگرداند که میتواند توضیح دهد آیا Recordset object باز، بسته، در حال اتصال، در حال اجرا یا در حال بازیابی داده است. |
Status | وضعیت فعلی رکورد در مورد بهروزرسانی گروهی یا عملیات بزرگ را بازمیگرداند. |
StayInSync | تعیین یا بازگرداندن اینکه آیا رفرنس به رکوردهای فرزند تغییر میکند یا نه، زمانی که موقعیت رکورد والد تغییر میکند. |
روش
روش | توضیح |
---|---|
AddNew | یک رکورد جدید ایجاد میکند. |
Cancel | یک اجرا را لغو میکند. |
CancelBatch | یک بهروزرسانی گروهی را لغو میکند. |
CancelUpdate | تغییرات انجام شده بر روی یک رکورد Recordset object را لغو میکند. |
Clone | یک کپی از Recordset موجود ایجاد میکند. |
Close | Recordset را میبندد. |
CompareBookmarks | دو نشاننمای کتابخانه را مقایسه میکند. |
Delete | یک رکورد یا گروه از رکوردها را حذف میکند. |
Find | یک رکورد را در Recordset که با یک شرط خاص مطابقت دارد، جستجو میکند. |
GetRows | رکوردهای چندگانهای را از یک Recordset object به یک آرایه دو بعدی کپی میکند. |
GetString | Recordset را به عنوان یک رشته بازمیگرداند. |
Move | در Recordset object، پسوند نویسنده را حرکت میدهد. |
MoveFirst | پسوند نویسنده را به اولین رکورد حرکت میدهد. |
MoveLast | پسوند نویسنده را به آخرین رکورد حرکت میدهد. |
MoveNext | پسوند نویسنده را به رکورد بعدی حرکت میدهد. |
MovePrevious | پسوند نویسنده را به رکورد قبلی حرکت میدهد. |
NextRecordset | با اجرای یک سری از دستورات، Recordset فعلی را پاک میکند و Recordset بعدی را باز میگرداند. |
Open | باز کردن یک عنصر پایگاه داده، این عنصر دسترسی به رکوردهای جدول، نتایج جستجو یا Recordset ذخیره شده را فراهم میکند. |
Requery | دادههای Recordset اوبجکت را با اجرای دوباره جستجوی پایهای آن بهروزرسانی میکند. |
Resync | دادههای فعلی Recordset را از بانک اطلاعاتی اصلی بهروزرسانی میکند. |
Save | Recordset اوبجکت را به یک فایل یا Stream اوبجکت ذخیره میکند. |
Seek | موقعیت رکوردی که با مقدار مشخص همخوانی دارد را در شاخص Recordset جستجو میکند و آن را به رکورد فعلی تبدیل میکند. |
Supports | یک مقدار بولین (布尔) برمیگرداند، این مقدار میتواند تعیین کند که آیا Recordset اوبجکت از نوع خاصی از قابلیتها پشتیبانی میکند یا خیر. |
Update | تمام تغییرات مربوط به یک رکورد Recordset را ذخیره کند. |
UpdateBatch | تمام تغییرات مربوط به Recordset را به بانک اطلاعاتی ذخیره کنید. از حالت بستهبندی برای استفاده از آن استفاده کنید. |
رویداد
توجه: نمیتوان رویدادها را با استفاده از VBScript یا JScript (فقط زبانهای Visual Basic، Visual C++ و Visual J++ میتوانند رویدادها را مدیریت کنند).
رویداد | توضیح |
---|---|
EndOfRecordset | وقتی که سعی میشود به سمت ردیفی فراتر از پایان Recordset حرکت شود، فعال میشود. |
FetchComplete | وقتی که همه رکوردها در عملیات آسانک خوانده شدند، فعال میشود. |
FetchProgress | در طول عملیات آسانک در بازههای زمانی مشخص فعال میشود، تعداد رکوردهایی که خوانده شدهاند را گزارش میدهد. |
FieldChangeComplete | قبل از تغییر مقدار Field اوبجکت، فعال میشود. |
MoveComplete | بعد از تغییر موقعیت فعلی Recordset، فعال میشود. |
RecordChangeComplete | بعد از تغییر یک رکورد، فعال میشود. |
RecordsetChangeComplete | بعد از تغییر Recordset، فعال میشود. |
WillChangeField | قبل از تغییر مقدار Field اوبجکت، فعال میشود |
WillChangeRecord | قبل از تغییر یک رکورد، فعال میشود. |
WillChangeRecordset | قبل از تغییر Recordset، فعال میشود. |
WillMove | قبل از تغییر موقعیت فعلی Recordset، فعال میشود. |
مجموعه
مجموعه | توضیح |
---|---|
Fields | تعداد Field اوبجکتهای Recordset را در اینجا نشان میدهد. |
Properties | شامل همه Property اوبجکتهای Recordset. |
ویژگیهای مجموعه Fields
ویژگی | توضیح |
---|---|
Count |
بازگشت تعداد موارد در مجموعه fields. از 0 شروع میشود. مثال: countfields = rs.Fields.Count |
Item(named_item/number) |
بازگشت یکی از موارد مشخص شده در مجموعه fields. مثال: itemfields = rs.Fields.Item(1) یا itemfields = rs.Fields.Item("Name") |
ویژگیهای مجموعه Properties
ویژگی | توضیح |
---|---|
Count |
بازگشت تعداد موارد در مجموعه properties. از 0 شروع میشود. مثال: countprop = rs.Properties.Count |
Item(named_item/number) |
بازگشت به مجموعه properties یکی از موارد مشخص شده. مثال: itemprop = rs.Properties.Item(1) یا itemprop = rs.Properties.Item("Name") |
- صفحه قبل ADO Record
- صفحه بعدی ADO Stream