DevTrain

Autor: Bernhard Elbl

DATAGRID Teil 2 - Update

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


Erfasst am: 19.01.2001 - Artikel-URL: http://www.devtrain.de/news.aspx?artnr=268
© Copyright 2003 ppedv AG - http://www.ppedv.de