ایڈو ریکارڈسیٹ آوبجیکٹ
- پچھلے پیج ایڈو ریکارڈ
- پچھلے پیج ایڈو اسٹرییم
مثال
- 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") |
- پچھلے پیج ایڈو ریکارڈ
- پچھلے پیج ایڈو اسٹرییم