فهرست سرفصل‌های ASP
خانه (HOME) معرفی (WebPages Intro) ریزر (WebPages Razor) چیدمان (WebPages Layout) پوشه ها (WebPages Folders) گلوبال (WebPages Global) فرم ها (WebPages Forms) اشیا (WebPages Objects) فایل ها (WebPages Files) پایگاه داده ها (WebPages Databases) هلپرها (WebPages Helpers) وب گرید (WebPages WebGrid) نمودارها (WebPages Charts) ایمیل (WebPages Email) امنیت (WebPages Security) انتشار (WebPages Publish) نمونه ها (WebPages Examples) کلاس ها (WebPages Classes) معرفی (Razor Intro) سینتکس (Razor Syntax) متغیرها (Razor C# Variables) حلقه ها (Razor C# Loops) منطق (Razor C# Logic) متغیرها (Razor VB Variables) حلقه ها (Razor VB Loops) منطق (Razor VB Logic) معرفی (ASP Intro) سینتکس (ASP Syntax) متغیرها (ASP Variables) رویه ها (ASP Procedures) شرط ها (ASP Conditionals) حلقه ها (ASP Looping) فرم ها (ASP Forms) کوکی ها (ASP Cookies) نشست (ASP Session) برنامه (ASP Application) اینکلود (#include) (ASP #include) Global.asa (ASP Global.asa) AJAX (ASP AJAX) ایمیل (ASP e-mail) نمونه ها (ASP Examples) گواهینامه (ASP Certificate) توابع VB (ASP VB Functions) کلیدواژه های VB (ASP VB Keywords) Response (ASP Response) Request (ASP Request) Application (ASP Application) Session (ASP Session) Server (ASP Server) Error (ASP Error) FileSystem (ASP FileSystem) TextStream (ASP TextStream) Drive (ASP Drive) File (ASP File) Folder (ASP Folder) Dictionary (ASP Dictionary) AdRotator (ASP AdRotator) BrowserCap (ASP BrowserCap) پیوند محتوا (ASP Content Linking) گرداننده محتوا (ASP Content Rotator) راهنمای سریع (ASP Quick Ref) معرفی (ADO Intro) اتصال (ADO Connect) رکوردست (ADO Recordset) نمایش (ADO Display) کوئری (ADO Query) مرتب سازی (ADO Sort) افزودن (ADO Add) به روزرسانی (ADO Update) حذف (ADO Delete) فرمان (ADO Command) اتصال (ADO Connection) خطا (ADO Error) فیلد (ADO Field) پارامتر (ADO Parameter) ویژگی (ADO Property) رکورد (ADO Record) رکوردست (ADO Recordset) جریان (ADO Stream) انواع داده (ADO DataTypes)
نتیجه‌ای برای جستجو یافت نشد.
ASP

ASP — رکوردست (ADO Recordset)

آخرین بروزرسانی: 1404/08/14

رکوردست (ADO Recordset)

«رکوردست ADO (ADO Recordset)» مجموعه ای از ردیف ها و ستون هاست. یعنی مثل یک جدول کوچک همراه توست. بنابراین با آن خواندن، فیلترکردن، مرتب سازی و ویرایش داده ممکن می شود. این شیء در ADO مهم ترین ابزار برای دستکاری داده است.

رکوردست ADO چیست؟

رکوردست یک ظرف داده است. داخلش ردیف ها «Record» و ستون ها «Field» قرار دارند. هنگام بازشدن، اشاره گر روی اولین ردیف است. اگر داده ای نباشد، هر دو ویژگی BOF و EOF درست می شوند.

ProgID (شناسه ساخت)

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

مشاهده در ادیتور

حالت های به روزرسانی

دو مدل وجود دارد: «Immediate» یعنی تغییرات با Update فوراً ذخیره شوند. «Batch» یعنی چند تغییر ذخیره موقت شوند و با UpdateBatch یکجا ارسال شوند.

نوع های کرسر (Cursor Types)

«کرسر (Cursor)» جهت حرکت و دیدن تغییرات را تعیین می کند. چهار نوع داریم: پویا، کی ست، ایستا، و فقط به جلو.

  • Dynamic: افزوده ها، تغییرها و حذف های دیگران را می بینی.
  • Keyset: تغییرهای دیگران دیده می شود؛ افزوده های جدید را نه.
  • Static: یک کپی ثابت برای جست وجو و گزارش.
  • Forward-only: فقط رو به جلو حرکت می کند.

نکته: همه ارائه دهنده ها همه ویژگی ها یا متدها را پشتیبانی نمی کنند.

نمونه بازکردن و پیمایش

<%
' فرض: conn یک Connection باز است
set rs = Server.CreateObject("ADODB.recordset")
rs.CursorType = 3
rs.LockType = 3
rs.Open "SELECT * FROM Students", conn

Do While Not rs.EOF
  Response.Write rs.Fields("Name").Value
  Response.Write "<br/>"
  rs.MoveNext
Loop

rs.Close
set rs = Nothing
%>

مشاهده در ادیتور

ویژگی های مهم رکوردست

برخی ویژگی های کلیدی را کوتاه ببینیم. سپس در نیاز، جزئی شو.

  • BOF/EOF: قبل از اول یا بعد از آخر بودن.
  • RecordCount: تعداد ردیف ها را می دهد.
  • Filter و Sort: فیلتر و مرتب سازی روی فیلدها.
  • CursorType و CursorLocation: نوع و مکان کرسر.
  • LockType: نحوه قفل هنگام ویرایش.
  • State و Status: وضعیت شیء و ردیف فعلی.

متدهای پرکاربرد

  • Open/Close: باز و بستن رکوردست.
  • MoveFirst/Next/Previous/Last: جابه جایی اشاره گر.
  • Find و Seek: جست وجوی ردیف ها.
  • AddNew/Delete/Update: افزودن، حذف و ذخیره تغییرات.
  • UpdateBatch/CancelBatch: ذخیره یا لغو گروهی.
  • GetRows/GetString: گرفتن داده به آرایه یا رشته.

Fields و Properties (مجموعه ها)

Inside رکوردست دو مجموعه داریم: Fields و Properties. با Count تعداد را بگیر. با Item به عضو برس.

<%
countFields = rs.Fields.Count
Response.Write countFields
itemByIndex = rs.Fields.Item(1)
itemByName = rs.Fields.Item("Name")
Response.Write itemByName.Value
countProps = rs.Properties.Count
Response.Write countProps
%>

مشاهده در ادیتور

مراحل عملی پیشنهادی

  1. Connection را آماده کن و تست کن.
  2. CursorType و LockType مناسب را تنظیم کن.
  3. با Open کوئری یا جدول را باز کن.
  4. با MoveNext تا EOF پیمایش کن.
  5. در پایان Close و آزادسازی را انجام بده.

هشدار: در Batch Update، حتماً UpdateBatch را فراموش نکن. وگرنه تغییرها ارسال نمی شوند.

پیوند با بخش های مرتبط

برای ردیف تکی، صفحه رکورد ADO را ببین. برای ستون ها، فیلد ADO مناسب است. همچنین، اتصال ADO پایه رکوردست است. این صفحه «رکوردست ADO» مرجع کاربردی شماست.

جمع بندی سریع

  • رکوردست ظرف ردیف ها و ستون هاست.
  • Immediate سریع ذخیره می کند؛ Batch گروهی ذخیره می کند.
  • نوع کرسر روی دید و حرکت اثر دارد.
  • قبل از پایان، همیشه Close را انجام بده.