از دستور UPDATE می توانیم برای ویرایش کردن داده های فیلدهای جدول بانک استفاده کنیم
 مثال :

 در این مثال ما دو فایل نیاز داریم :

test1.asp

test2.asp

هر دو را با notepad ایجاد کرده و در مسیر ای ای اس ذخیره کنید

 

 مشاهده روش ذخیره و اجرای فایل Asp
 دستورات فایل test1.asp :
 می خواهیم اطلاعات رکورد موجود در جدول Customers  بانک اطلاعاتی Northwind  را ویرایش کنیم
 

 در فایل test1.asp دستوراتی می نویسیم که تمام فیلدهای همه افراد ثبت شده در جدول بانک را نمایش دهد

برای زیبا تر شدن کار ، از یک جدول اچ تی ام ال استفاده می کنیم که هر سطر ان برای هر رکورد و هر ستون برای یک فیلد است . فیلد شماره مشتری را بصورت یک دکمه submit نشان می دهیم که روی دکمه شماره مشتری نشان داده می شود

مقدار بقیه فیلدها  رابا دستور Response.Write نمایش می دهیم تا کاربر نتواند داده های فیلدهای مشتریان را در این صفحه تغییر دهد

 

 

<html>
<body>
<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "d:/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
  response.write("<th>" & ucase(x.name) & "</th>")
next
%>
</tr>
<% do until rs.EOF %>
<tr>
<form method="post" action="test2.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><%Response.Write(x.value)%></td>
  <%end if
next
%>
</form>
<%rs.MoveNext%>
</tr>
<%
loop
conn.close
%>
</table>

</body>
</html>

 
 بعد از اینکه کاربر سایت روی دکمه ای که شماره مشتری مورد نظر روی ان است کلیک کرد ، کاربر به صفحه test2.asp منتقل خواهد شد
 
دستورات فایل test2.asp :
 ابتدا اطلاعات فردی که روی شماره ان کلیک کرده بودیم دوباره نمایش داده می شود

 یعنی ابتدا دوباره به بانک وصل می شویم

سپس مقدار فیلد customerID فرمی که برای test2.asp ارسال شده است  خوانده می شود

 

 در صورتیکه مقدار فیلد companyname فرم ارسال شده از طرف صفحه test1.asp  برابر تهی است ابتدا یک رکورد ست ساخته می شود چون می خواهیم اطلاعات رکورد   بگیریم و بعد با دستور select رکوردهایی که customerID انها برابر چیزی است که در متغیر cid قرار گرفته بدست می اید  .

 ( توجه :

در فایل test1.asp فرم ما اصلا دارای فیلدی با نام companyname  نیست . پس همیشه وقتی ما از صفحه test1 به test2 می اییم مقدار این فیلد خالی است

این یک ترفند برای نوشتن دستورات نمایش فیلدهای رکورد در صفحه test2 و اپدیت انها در همان صفحه است  .

اگر نمی خواهید از این شرط استفاده کنید باید صفحه دیگری به نام test3.asp هم داشته باشید که دستورات قسمت else در ان نوشته شود و با کلیک روی دکمه update در صفحه test2 به صفحه test3 برویم )

سپس در یک فرمی اطلاعات تمام فیلدهای این رکورد پیدا شده نمایش داده می شود 

کاربر اطلاعات مورد نظر را ویرایش می کند

روی دکمه submit که عنوان ان  Update record است کلیک می کند

و دوباره به همین صفحه test2.asp منتقل می شود

ولی این بار چون فیلد companyname خالی نیست پس دستورات else اجرا می شود و اطلاعات دریافت شده در فرم صفحه test2.asp به جای اطلاعات قبلی می نشیند

 

 

<html>
<body>

<h2>Update Record</h2>
<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "d:/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="test2.asp">
  <table>
  <%for each x in rs.Fields%>
  <tr>
  <td><%=x.name%></td>
  <td><input name="<%=x.name%>" value="<%=x.value%>"></td>
  <%next%>
  </tr>
  </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>