ADO opdatering af record
- Forrige side ADO tilføjelse
- Næste side ADO sletning
Vi kan bruge SQL's UPDATE til at opdatere en record i en database tabel.
Opdater database tabel record
Vi ønsker at opdatere en record i Northwind databasens Customers tabel. Først skal vi oprette en tabel, der viser alle records i 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>
Hvis brugeren klikker på knappen i "customerID"-kolonnen, åbnes en ny fil "demo_update.asp". Denne fil indeholder kildekoden til at oprette input-felter, der er baseret på felterne i databasen, og indeholder også en "Opdater"-knap til at gemme ændringer:
<html> <body> <h2>Opdater post</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="Opdater post" /> </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("Ingen opdateringsrettigheder!") else response.write("Record " & cid & " blev opdateret!") end if end if conn.close %> </body> </html>
- Forrige side ADO tilføjelse
- Næste side ADO sletning