Wir haben jetzt einen DATAGRID, in dem jedes Recordset verlinkt ist. Über diese Links wird nun die CustomerID des geklickten Recordset´s in die Seite "dataupdate.asp" übergeben. In dieser Seite soll der Datensatz bearbeitet und abgespeichert werden. (UPDATE einer DB)
dataupdate.asp
... </body> <% ' ------------- instanziieren der DB-Connection und des Recordsets set conn = server.CreateObject("ADODB.Connection") set rs = server.CreateObject("ADODB.Recordset") ' ------------- die DB wird nach dem Recordset mit der ID vom Querystring durchsucht strSQL = "Select * FROM Customers WHERE CustomerID = " & Request.QueryString("id") ' ------------- öffnen der Connection und des Recordsets conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=" _ & Server.MapPath("./db/") & "dbcustomer.mdb;" rs.Open strSQL,conn ' ------------- Form mit den Detail-Angaben des gewählten Customers %> <!-- hier steht die Form -->
<% ' ------------- Recordset wird geschlossen und zerstört rs.Close set rs = nothing ' ------------- Update des Recordsets mit UPDATE if Request.Form("update") = "Update" then conn.Execute "UPDATE Customers SET CompanyName = '" _ & Request.Form("companyname") _ & "', ContactName = '" & Request.Form("contactname") _ & "', City = '" & Request.Form("city") _ & "' where CustomerID = " & Request.Querystring("id") & ";" ' ------------- zerstören der Verbindung zur DB set conn = nothing ' ------------- datagrid.asp aufrufen über Response.Redirect Response.Redirect "datagrid.asp" end if %> </BODY> </HTML> |
Um die Schreibweise für das Update klarzustellen, hier eine einfachere und kürzere Ausführung.
UpdateString = "UPDATE Customers set CompanyName = 'neuerCompanyName', ContactName = 'neuerContactName' WHERE CustomerID = dieCustomerID;" conn.Execute UpdateString |