ADO 레코드 업데이트

저희는 데이터베이스 테이블의 특정 기록을 업데이트하려면 SQL의 UPDATE를 사용할 수 있습니다.

데이터베이스 테이블의 기록 업데이트

저희는 Northwind 데이터베이스의 Customers 테이블의 특정 기록을 업데이트하고자 합니다. 먼저 Customers 테이블의 모든 기록을 나열하는 테이블을 만들어야 합니다.

<html>
<body>
<%
set conn=Server.CreateObject(\
conn.Provider=\
conn.Open \

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=\
<%
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>

사용자가 "customerID" 열의 버튼을 클릭하면 새 파일 "demo_update.asp"이 열립니다. 이 파일은 데이터베이스 중의 기록 필드를 기반으로 한 입력 필드를 포함하고 있으며, 변경 사항을 저장하는 "업데이트 버튼"도 포함하고 있습니다:

<html>
<body>
<h2>Update Record</h2>
<%
set conn=Server.CreateObject(\
conn.Provider=\
conn.Open \
cid=Request.Form(\
if Request.form(\
  
  rs.open \
  %>
  <form method=\
  <table>
  <%for each x in rs.Fields%>
  <tr>
  <td><%=x.name%></td>
  <td><input name=\
  <%next%>
  </tr>
  </table>
  <br /><br />
  <input type=\
  </form>
<%
else
  
  
  
  sql=sql & \
  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>