ADO初学者教程:ADO 更新记录
程序员文章站
2022-07-09 22:56:47
我们可使用SQL的UPDATE来更新数据库表中的某条记录。
更新数据库表中的记录
我们希望更新Northwind数据中Custom...
我们可使用SQL的UPDATE来更新数据库表中的某条记录。
更新数据库表中的记录
我们希望更新Northwind数据中Customers表的某条记录。首先我们需要创建一个表格,来列出Customers中的所有记录。
<html> <body> <% 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 response.write("<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><%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("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> <%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>