ایڈو ریکارڈسیٹ آوبجیکٹ

مثال

GetRows
این مثال نشان می‌دهد که چگونه می‌توان از روش GetRows استفاده کرد.

شیء Recordset

شیء Recordset ADO برای نگهداری مجموعه رکوردهایی از یک جدول پایگاه داده استفاده می‌شود. یک شیء Recordset از رکوردها و ستون‌ها (فیلدها) تشکیل شده است.

در ADO، این شیء مهم‌ترین و پرکاربردترین شیء برای عملیات داده‌های پایگاه داده است.

ProgID

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

وقتی اولین بار یک Recordset را باز می‌کنید، اشاره‌گر رکورد فعلی به اولین رکورد اشاره می‌کند و ویژگی‌های BOF و EOF به False هستند. اگر هیچ رکوردی وجود نداشته باشد، ویژگی‌های BOF و EOF به True هستند.

Recordset object می‌تواند دو نوع به‌روزرسانی را پشتیبانی کند:

  • به‌روزرسانی فوری - به محض فراخوانی روش Update، همه تغییرات به صورت فوری به پایگاه داده نوشته می‌شوند.
  • به‌روزرسانی پارتی - ارائه‌دهنده چندین تغییر را در حافظه ذخیره می‌کند و سپس این تغییرات را با استفاده از روش UpdateBatch به پایگاه داده ارسال می‌کند.

در ADO، 4 نوع مختلف کورس (پوینتر) تعریف شده است:

  • کورس دینامیک - اجازه می‌دهد تا اضافات، تغییرات و حذف‌های سایر کاربران را مشاهده کنید
  • جیوتی کورس - مشابه کورس دینامیک، اما تفاوت این است که شما نمی‌توانید اضافات سایر کاربران را مشاهده کنید و از دسترسی به رکوردهای حذف شده سایر کاربران جلوگیری می‌کند. تغییرات داده‌ای که سایر کاربران انجام داده‌اند هنوز قابل مشاهده هستند.
  • 静态游标 - 提供记录集的静态副本,可用来查找数据或生成报告。此外,由其他用户所做的添加、更改和删除将是不可见的。当您打开一个客户端 Recordset 对象时,这是唯一被允许的游标类型。
  • 仅向前游标 - 只允许在 Recordset 中向前滚动。此外,由其他用户所做的添加、更改和删除将是不可见的。

可通过 CursorType 属性或 Open 方法中的 CursorType 参数来设置游标的类型。

نوٹ:تمام فراہم کنندگان (providers) ریکارڈسٹ آئیٹم کی تمام طریقت اور نمائش کو نہیں دیتے ہیں。

خصوصیات

خصوصیات وصف
AbsolutePage ریکارڈسٹ آئیٹم میں موجودہ پیج کو سٹ یا رجوع کرتا ہے。
AbsolutePosition ریکارڈسٹ آئیٹم میں موجودہ ریکارڈ کی ترتیب کی پوزیشن کو سٹ یا رجوع کرتا ہے。
ActiveCommand ریکارڈسٹ آئیٹم سے متعلق کمانڈ آئیٹم کو واپس لیتا ہے。
ActiveConnection کڑی بند ہونے پر، کڑی کا معائنہ یا رجوع کرتا ہے، اگر کڑی کھلی ہوئی ہے تو کونکشن آئیٹم کا معائنہ یا رجوع کرتا ہے。
BOF اگر موجودہ ریکارڈ کی پوزیشن پہلے کے ریکارڈ کے قبل ہے تو true واپس لیتا ہے، درغیر اینٹ، false واپس لیتا ہے。
Bookmark ایک بکمارک کو سٹ یا رجوع کرتا ہے، جس میں موجودہ ریکارڈ کی پوزیشن محفوظ رکھی جائے گی。
CacheSize کچی ریکارڈ کی تعداد کو سٹ یا رجوع کرتا ہے。
CursorLocation کورس سروس کی پوزیشن کو سٹ یا رجوع کرتا ہے。
CursorType ریکارڈسٹ آئیٹم کا کورس آئیٹم کو سٹ یا رجوع کرتا ہے。
DataMember DataSource نمائش کی آئیٹم کا نام کو سٹ یا رجوع کرتا ہے جس سے ڈاٹا حاصل کیا جائے گا。
DataSource ریکارڈسٹ آئیٹم کے طور پر نمائش کے لئے ڈاٹا کا ایک آئیٹم کا حامل آئیٹم کو مخصوص کرتا ہے。
EditMode موجودہ ریکارڈ کی ترمیم کی حالت کو واپس لیتا ہے。
EOF اگر موجودہ ریکارڈ کی پوزیشن آخری ریکارڈ کے بعد میں ہے تو true واپس لیتا ہے، درغیر اینٹ، false واپس لیتا ہے。
Filter ریکارڈسٹ آئیٹم میں موجودہ ڈاٹا کے لئے ایک فیلٹر واپس لیتا ہے。
Index ریکارڈسٹ آئیٹم کی موجودہ انڈیکس کی نام کو سٹ یا رجوع کرتا ہے。
LockType سٹ یا رجوع ایک کمیت، جس میں مخصوص کیا گیا ہے کہ ریکارڈسٹ میں کسی ریکارڈ کو ترمیم کرتے وقت کس طرح کی قفل کی جائے گی。
MarshalOptions سٹ یا رجوع ایک کمیت، جس میں مخصوص کیا گیا ہے کہ کس ریکارڈ کو سرور واپس فراہم کیا جائے گا。
MaxRecords 设置或返回从一个查询返回 Recordset 对象的的最大记录数目。
PageCount 返回一个 Recordset 对象中的数据页数。
PageSize 设置或返回 Recordset 对象的一个单一页面上所允许的最大记录数。
RecordCount 返回一个 Recordset 对象中的记录数目。
Sort 设置或返回一个或多个作为 Recordset 排序基准的字段名。
Source 设置一个字符串值,或一个 Command 对象引用,或返回一个字符串值,此值可指示 Recordset 对象的数据源。
State 返回一个值,此值可描述是否 Recordset 对象是打开、关闭、正在连接、正在执行或正在取回数据。
Status 返回有关批更新或其他大量操作的当前记录的状态。
StayInSync 设置或返回当父记录位置改变时对子记录的引用是否改变。

方法

方法 وصف
AddNew 创建一条新记录。
Cancel 撤销一次执行。
CancelBatch 撤销一次批更新。
CancelUpdate 撤销对 Recordset 对象的一条记录所做的更改。
Clone 创建一个已有 Recordset 的副本。
Close 关闭一个 Recordset。
CompareBookmarks 比较两个书签。
Delete 删除一条记录或一组记录。
Find 搜索一个 Recordset 中满足指定某个条件的一条记录。
GetRows 把多条记录从一个 Recordset 对象中拷贝到一个二维数组中。
GetString 将 Recordset 作为字符串返回。
Move 在 Recordset 对象中移动记录指针。
MoveFirst 把记录指针移动到第一条记录。
MoveLast 把记录指针移动到最后一条记录。
MoveNext 把记录指针移动到下一条记录。
MovePrevious 把记录指针移动到上一条记录。
NextRecordset 通过执行一系列命令清除当前 Recordset 对象并返回下一个 Recordset。
Open 打开一个数据库元素,此元素可提供对表的记录、查询的结果或保存的 Recordset 的访问。
Requery داده‌های Recordset را با اجرای دوباره جستجویی که اوبجیکٹ بر اساس آن تعریف شده به‌روزرسانی می‌کند.
Resync داده‌های فعلی Recordset را از دیتابیس اصلی به‌روزرسانی می‌کند.
Save Recordset اوبجیکٹ را به یک فایل یا اوبجیکٹ Stream ذخیره می‌کند.
Seek جستجو در شاخص Recordset برای یافتن ردیف‌هایی که با مقدار مشخصی مطابقت دارند و آن را به ردیف فعلی تبدیل می‌کند.
Supports یک مقدار بولین به بازمی‌گرداند، که نشان‌دهنده این است که آیا Recordset پشتیبانی از نوع خاصی از قابلیت‌ها را دارد یا خیر.
Update تمام تغییرات انجام شده در یک رکورد Recordset را ذخیره کند.
UpdateBatch تمام تغییرات انجام شده در Recordset را در دیتابیس ذخیره کنید. از حالت UpdateBatch استفاده کنید.

رویداد

توجه: نمی‌توانید رویدادها را با استفاده از 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.

فیلڈ سیٹ کی خصوصیات

خصوصیات وصف
کاؤنٹ

فیلڈ سیٹ میں پروجیکٹوں کی تعداد کو بازگردانے کے لئے، سے شروع ہوتا ہے

مثال:

	countfields = rs.Fields.Count
	
ایٹم(نام_ایٹم/اعداد)

فیلڈ سیٹ میں کسی مخصوص پروجیکٹ کو بازگردانے کے لئے

مثال:

	itemfields = rs.Fields.Item(1)
	یا	
	itemfields = rs.Fields.Item("Name")
	

پروپریٹیز سیٹ کی خصوصیات

خصوصیات وصف
کاؤنٹ

پروپریٹیز سیٹ میں پروجیکٹوں کی تعداد کو بازگردانے کے لئے، سے شروع ہوتا ہے

مثال:

	countprop = rs.Properties.Count
	
ایٹم(نام_ایٹم/اعداد)

پروپریٹیز سیٹ میں کسی مخصوص پروجیکٹ کو بازگردانے کے لئے

مثال:

	itemprop = rs.Properties.Item(1)
	یا
	itemprop = rs.Properties.Item("Name")