Lezione 17: Modifica e Aggiornamento dei Dati di una Form | |
Una funzione molto utilizzata delle Active Server Pages è l'abilità di creare, cancellare, recuperare e aggiornare informazioni all'interno dei databse. In questo corso utilizzeremo database di tipo Microsoft Access come sorgente di dati, perciò sarà importante che comprendiate alcuni fondamenti sui database. |
Fausto Marinsalta |
Form Qui abbiamo una versione modificata della form utilizzata nella Lezione 6, riempita con il primo record del nostro database. Dovreste notare che il campo Studente ID non è presente in questa form. Poichè Studente ID è il valore chiave nel nostro database, l'utente non dovrebbe avere la possibilità di modificare tale valore. La tabella Valutazioni fa riferimento a Studente ID, quindi se noi cambiamo Studente ID nella tabella Studenti, dobbiamo cambiarlo anche nella tabella Valutazioni. Inviamo la form a update.asp. La form modificata è presentata qui sotto:
Ora necessitiamo anche di indicare alla form dove inviare i dati cambiando le proprietà <form>. Invieremo la form alla pagina update.asp. Così, la form è definita come segue:
<form action="update.asp" method="post">
Al ricevimento, in update.asp, è necessario raccogliere i nostri dati e utilizzare una query update per aggiornare il record nel nostro database. Il codice seguente rappresenta la query di aggiornamento che utilizzeremo: sql="UPDATE Studenti SET " & _ "NOME='" & Request("txtfname") & "'," & _ "COGNOME='" & Request("txtlname") & "'," & _ "INDIRIZZO='" & Request("txtaddress") & "'," & _ "CITTà='" & Request("txtcity") & "'," & _ "STATO='" & Request("txtst") & "'," & _ "CAP=" & Request("txtzipcode") & " " & _ "WHERE SID='" & Request("txtsid")
Una volta che abbiamo costruito la nostra query, eseguiamola e il record verrà aggiornato. <% sql = "SELECT * FROM Studenti" openCN rs.Open sql, cn %>
<form method="post" action="update.asp"> <input type="hidden" name="txtsid" value=" <%=rs("SID")%> "> <table border="1" bgcolor="#C0C0C0" bordercolorlight="#FFFFFF"> <tr> <td> <b>Informazioni Studente</b> </td> </tr> <tr> <td> <table border="0" cellspacing="1" cellpadding="1"> <tr> <td> <font size="2">Nome</font> </td> <td colspan="2"> <font size="2">Cognome</font> </td> </tr> <tr> <td> <input type="text" size="20" value=" <%=rs("NOME")%> " name="txtfname"> </td> <td colspan="2"> <input type="text" size="20" value=" <%=rs("COGNOME")%> " name="txtlname"> </td> </tr> <tr> <td> <font size="2">Indirizzo</font> </td> </tr> <tr> <td colspan="3"> <input type="text" size="40" value=" <%=rs("INDIRIZZO")%> " name="txtaddress"></td> </tr> <tr> <td> <font size="2">Città</font> </td> <td> <font size="2">ST</font> </td> <td> <font size="2">CAP</font> </td> </tr> <tr> <td> <input type="txttext" size="20" value=" <%=rs("CITTà")%> " name="txtcity"> </td> <td> <input type="txttext" size="2" value=" <%=rs("STATO")%> " name="txtst"> </td> <td> <input type="txttext" size="10" value=" <%=rs("CAP")%> " name="txtzipcode"> </td> </tr> </table> </td> </tr> <tr> <td> <table cellpadding="0" cellspacing="0" width="100%" border="0"> <tr> <td align="left"> <input type="reset" name="btnClear" value="Clear"> </td> <td align="right"> <input type="submit" name="btnSubmit" value="Submit"> </td> </tr> </table> </td> </tr> </table> </form> <!--#include virtual="/includes/adovbs.inc"--> <!--#include virtual="/includes/subConn.inc"--> <% sid=Request("txtsid") nome=Request("txtfname") cognome=Request("txtlname") indirizzo=Request("txtaddress") citta=Request("txtcity") st=Request("txtst") cap=Request("txtzipcode")
OpenCN
sql="UPDATE Studenti SET " & _ "SID='" & sid & "', " & _ "NOME='" & nome & "', " & _ "COGNOME='" & cognome & "', " & _ "INDIRIZZO='" & indirizzo & "', " & _ "CITTà='" & citta & "', " & _ "STATO='" & st & "', " & _ "CAP=" & cap & " " & _ "WHERE sid='" & SID & "'"
cn.Execute(sql) closeCN %> <html>
<head> <title>Aggiornamento Completato</title> </head>
<body> <h1>Aggiornamento Completato.</h1> </body> </html> Applicate ciò che avete appreso Usando la form costruita nella Lezione 14, riempitela con le valutazioni per lo Studente ID 00000001. Realizzate poi uno script per aggiornare le valutazioni. |