Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Aggiornamento dati nel database [Parte 3]

Scrivere ed aggiornare le informazioni
Scrivere ed aggiornare le informazioni
Link copiato negli appunti

In questa pagina, andremo a sviluppare del codice Asp affiancato dal linguaggio base del web (Html) che consente di correggere eventuali dati errati all'interno del database. Come pagina finale, otterremo ciò che ci viene rappresentato nella seguente figura.

Cosa osserviamo nell'immagine appena proposta? Si osserva un modulo html con tre caselle di testo ed un pulsante. La nota interessante riguarda le voci che riempiono le caselle di testo. Infatti il loro contenuto è esattamente quello presente nel database. Com'è possibile questo? Come ricorderete dalla lezione specifica sui form, è possibile assegnare (tramite il parametro value) un determinato valore all'interno della casella di testo specifica. Ora mostrerò tutto il codice necessario per realizzare ciò. Questo codice è quello che viene azionato dal link della tabella in pagina precedente (modifica2.asp).

<%
dim intCodice
intCodice = request("Id")
if intCodice<>"" then
%>

<html>
<head>
<title> Modifica Un Libro Immesso</title>
</head>
<body>

<%
  dim strCode
  strCode="innovatel"
  dim intVolta
  intVolta="0"

  Set Conn=Server.CreateObject("ADODB.Connection")
  strConn="driver={Microsoft Access Driver (*.mdb)}; "
  strConn=strConn & " DBQ=" & Server.MapPath("libreria.mdb")
  strConn=strConn & ";pwd=" & strCode
  Conn.Open strConn

  sql = "SELECT * FROM libri WHERE Id="&intCodice
  Set rs = Server.CreateObject("ADODB.Recordset")
  rs.Open sql, conn ,3,3
%>

<form method="post" action="modifica3.asp?Id=<%=rs(0)%>">
<table>
<tr><td>Titolo</td>
<td><input type="text" name="titolo" value="<%=rs(1)%>" /></td></tr>

<tr><td>Autore</td>
<td><input type="text" name="autore" value="<%=rs(2)%>" /></td></tr>
<tr><td>Genere</td>
<td><input type="text" NAME="genere" value="<%=rs(3)%>" /></td></tr>

<tr><td><input type="submit" value="Modifica" /></td><td></td></tr>
</table>
</form>

<%
  rs.Close
  set rs = Nothing
  conn.Close
  set conn = Nothing
%>

</body>
</html>

<%
else
  response.redirect "modifica1.asp"
end if
%>

Come avrete di sicuro notato, il codice Asp in questa pagina è molto simile a quello osservato nelle altre pagine. L'unica differenza in proposito riguarda la stringa Sql per l'interrogazione del database.

sql = "SELECT * FROM libri WHERE Id="&intCodice 

Come è possibile osservare la sintassi della stringa sql è stata ampliata. Infatti ad essa è stata posta in fase conclusiva una condizione. Questa condizione è possibile notarla a causa della presenza della clausula WHERE. Ora la nostra ricerca estrarrà dal database solamente i record che posseggono il campo Id uguale a intCodice.

Il valore intCodice è stato ricevuto tramite link dalla pagina precedente. Nel nostro caso specifico, il dato che viene estratto è unico. Il verificarsi di ciò è legato ad un semplice motivo: il campo Id svolge la funzione di chiave primaria della tabella e quindi, se esiste, possiamo trovarlo una ed una sola volta.

Per quanto riguarda il resto dello script possiamo osservare un semplice modulo (i moduli sono stati affrontati nel corso delle lezioni precedenti) contenente delle caselle di testo. Come osserverete, il valore di queste tre caselle di testo viene assegnato immettendo direttamente il valore prelevato dal recordset interessato in posizione specifica.

<input type="text" name="TITOLO" Value="<%=rs(1)%>" />
<input type="text" name="TITOLO" value="<%=rs(2)%>" />
<input type="text" name="TITOLO" value="<%=rs(3)%>" />

Per inviare correttamente i valori modificati alla pagina finale che memorizzerà i dati si utilizza l'azione del form usando il seguente link:

<form method="post" action="modifica3.asp?Id=<%=rs(0)%>">

In questo modo, abbiamo la certezza che passando l'unico valore univoco nella pagina finale (quella di salvataggio) porteremo le modifiche solo al record corretto.

Ti consigliamo anche