فهرست سرفصل‌های 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 Update)

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

به روزرسانی (ADO Update)

در این بخش «به روزرسانی رکورد ADO» را می بینیم. «UPDATE» یعنی تغییر سطر موجود. «رکورد (Record)» یک سطر از جدول است. مثل اصلاح شماره تماس دانش آموز در دفتر مدرسه.

فهرست رکوردها و دکمه ویرایش

اول همه رکوردها را نشان می دهیم. سپس برای هر سطر، یک دکمه ویرایش می گذاریم. دکمه شناسه را ارسال می کند.

<html>
<body>
<%
  Dim conn
  Dim rs
  Dim x
  Set conn = Server.CreateObject("ADODB.Connection")
  conn.Provider = "Microsoft.Jet.OLEDB.4.0"
  conn.Open "c:/webdata/northwind.mdb"
  Set rs = Server.CreateObject("ADODB.Recordset")
  rs.Open "SELECT * FROM customers", conn
%>
<h2>List Database</h2>
<table border="1" width="100%">
  <tr>
    <% For Each x In rs.Fields %>
      <th><% = UCase(x.Name) %></th>
    <% Next %>
  </tr>
  <% Do Until rs.EOF %>
    <tr>
      <form method="post" action="demo_update.asp">
        <% For Each x In rs.Fields %>
          <% If LCase(x.Name) = "customerid" Then %>
            <td>
              <input type="submit" name="customerID" value="<% = x.Value %>" />
            </td>
          <% Else %>
            <td><% = x.Value %></td>
          <% End If %>
        <% Next %>
      </form>
      <% rs.MoveNext %>
    </tr>
  <% Loop %>
<%
  conn.Close
%>
</table>
</body>
</html>

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

فرم ویرایش یک رکورد و اجرای UPDATE

حالا با شناسه انتخاب شده وارد صفحه ویرایش می شویم. اگر فرم خالی باشد، ورودی ها با مقدار فعلی پر می شوند. سپس با ارسال فرم، UPDATE اجرا می شود.

<html>
<body>
<h2>Update Record</h2>
<%
  Dim conn
  Dim rs
  Dim cid
  Dim sql
  Set conn = Server.CreateObject("ADODB.Connection")
  conn.Provider = "Microsoft.Jet.OLEDB.4.0"
  conn.Open "c:/webdata/northwind.mdb"
  cid = Request.Form("customerID")
  If Request.Form("companyname") = "" Then
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open "SELECT * FROM customers WHERE customerID='" & cid & "'", conn
%>
<form method="post" action="demo_update.asp">
  <table>
    <% For Each x In rs.Fields %>
      <tr>
        <td><% = x.Name %></td>
        <td><input name="<% = x.Name %>" value="<% = x.Value %>" /></td>
      </tr>
    <% Next %>
  </table>
  <br /><br />
  <input type="submit" value="Update record" />
</form>
<%
  Else
    sql = "UPDATE customers SET "
    sql = sql & "companyname='" & Request.Form("companyname") & "', "
    sql = sql & "contactname='" & Request.Form("contactname") & "', "
    sql = sql & "address='" & Request.Form("address") & "', "
    sql = sql & "city='" & Request.Form("city") & "', "
    sql = sql & "postalcode='" & Request.Form("postalcode") & "', "
    sql = sql & "country='" & Request.Form("country") & "' "
    sql = sql & "WHERE customerID='" & cid & "'"
    On Error Resume Next
    conn.Execute sql
    If Err <> 0 Then
      Response.Write "No update permissions!"
    Else
      Response.Write "Record " & cid & " was updated!"
    End If
  End If
  conn.Close
%>
</body>
</html>

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

گام های عملی سریع

  1. اتصال ADO بساز و رکوردها را بگیر.
  2. برای هر سطر، دکمه ویرایش بگذار.
  3. فرم ویرایش را با مقدار فعلی پر کن.
  4. UPDATE را با شناسه اجرا کن.
  5. خطا را بررسی کن و اتصال را ببند.

نکته: «WHERE» شرط رکورد هدف است. بدون آن، همه تغییر می کنند.

هشدار: از اتصال رشته ای خام پرهیز کن. ورودی ها را پاک سازی کن تا تزریق SQL رخ ندهد.

برای مرور، صفحه افزودن ADO و همچنین حذف ADO را ببین.

جمع بندی سریع

  • UPDATE یعنی ویرایش یک رکورد.
  • WHERE تعیین کننده رکورد هدف است.
  • فرم، داده جدید را می فرستد.
  • خطا را همیشه بررسی کن.
  • اتصال ها را ببند.