GESTIONE DI MDB in WEB Il presente documento riporta un esempio generico di gestione di un database di Access. Il lettore può personalizzare in base alle proprie esigenze sia il contenuto del database, sia l aspetto grafico delle pagine web. Operazioni preliminari Posizionarsi nella cartella <RootSito>/mdb-database/database La cartella creata deve essere condivisa con permessi di scrittura e/o modifica da parte di altri utenti della rete Avviare ACCESS e creare qui un database vuoto di nome: Database Creare nel database una tabella di nome Tabella La Tabella deve avere la seguente struttura: Codice Testo, 5 caratteri Descrizione Testo, 50 caratteri Creazione pagine WEB Creare in una cartella del sito Web i seguenti file, corrispondenti ad altrettante pagine web: Home.html (Home Page della sezione del sito dedicata alla gestione del database) <HEAD> <TITLE>Gestione di un database di ACCESS</TITLE> </HEAD> <OL TYPE="1"> <LI><A HREF="Inserim.html">Inserimento</A></LI> <LI><A HREF="modifica.html">Modifica</A></LI> <LI><A HREF="elimina.html">Eliminazione</A></LI> <LI><A HREF="visualizza.asp">Visualizzazione</A></LI> </OL> Config.asp(questo file serve solo per eseguire identiche operazioni in tutte le pagine asp) Option Explicit 'On Error Resume Next Response.Buffer = True Dim StrCn StrCn = "" StrCn = StrCn & "driver={microsoft Access Driver (*.mdb)};" StrCn = StrCn & "dbq=" & Server.MapPath("../mdb-database/database/database.mdb")
Pagine per Operazioni di INSERIMENTO di record Inserim.html <HEAD><TITLE>Gestione di un database</title></head> <TABLE border="1"> <FORM method="post" action="registrains.asp"> <TR> <TD> Codice<BR> <INPUT type="text" name="codice"><br> Descrizione<BR> <INPUT type="text" name="descrizione"><br> <INPUT type="submit" value="inserisci"><br> <INPUT type="reset" value="annulla"><br> </TD> </TR> </TABLE> RegistraIns.asp @LANGUAGE = VBScript Dim C, D, CN, RS <title>registrazione dati</title> ' Recupero i dati dal form D = Request.Form("descrizione") ' Verifico che i dati da registrare non esistano già SQL = "SELECT * FROM tabella WHERE codice = '" & C & "' AND descrizione = '" & D & "';" rs.open SQL, cn, 2, 3 If Not rs.eof Then Response.Write "<p align=""center"">i dati specificati sono già presenti</p>" Else ' Se non esiste, effettuo la registrazione rs.close Rs.Open "tabella", Cn, 2, 3 Rs.AddNew Rs("codice") = C Rs("descrizione") = D Rs.Update Response.Write "<p align=""center"">registrazione avvenuta con successo!</p>" Rs.Close Set Rs = Nothing With Response.Write "<p align=""center"">".write "<a href='home.html'>".write "Indietro</a></p>" End With
Pagine per Operazioni di MODIFICA di record Modifica.html <HEAD><TITLE>Gestione di un database</title></head> <TABLE border="1"> <FORM method="post" action="modifica.asp"> <TR> <TD> Codice del record da modificare<br> <INPUT type="text" name="codice"><br> <INPUT type="submit" value="cerca record"> <INPUT type="reset" value="annulla"> </TD> </TR> </TABLE> Modifica.asp @LANGUAGE = VBScript Dim C, D, Cn, Rs <title>modifica Record di una tabella</title> ' Recupero il record con il codice inserito ' Verifico che il record esista già rs.open SQL, cn If rs.eof=true and rs.bof=true Then Response.Write "<p align=""center"">il codice specificato non esiste</p>" else <table border="1"> <form method="post" action="registramod.asp"> <td>codice<br> <input type="text" name="codice" value="=rs("codice")" maxlength="10" style="width: 100%;"> Descrizione<br> <input type="text" name="descrizione" value="=rs("descrizione")" maxlength="80" style="width: 100%;"> </td> <td align="right"> <input type="submit" value="salva"></td> </form> </table> rs.close set Rs = Nothing
RegistraMod.asp @LANGUAGE = VBScript Gestione database di Access con ASP in ambiente WEB Dim C, D <title>registrazione modifica dati</title> dim Cn, Rs ' Recupero i dati C = Request.Form("Codice") D = Request.Form("Descrizione") Response.Write "Dati ricevuti:"+"<br>" Response.Write "Codice = " + C+"<BR>" Response.Write "Descrizione = " + D+"<BR>" rs.open SQL, cn, 2, 3 If Not rs.eof Then ' Se esiste già effettuo la Modifica Rs("codice") = C Rs("descrizione") = D Rs.Update Response.Write "Dati salvati:"+"<br>" Response.Write "Codice = " + Rs("codice")+"<BR>" Response.Write "Descrizione = " + Rs("descrizione")+"<BR>" Response.Write "<p align=""center"">modifica avvenuta con successo!</p>" Else Response.Write "<p align=""center"">impossibile effettuare la modifica. Il record non è più presente</p>" Rs.Close Set Rs = Nothing With Response.Write "<p align=""center"">".write "<a href='home.html'>".write "Indietro</a></p>" End With
Pagine per Operazioni di CANCELLAZIONE di record Elimina.html <HEAD><TITLE>Gestione di un database</title></head> <TABLE border="1"> <FORM method="post" action="elimina.asp"> <TR> <TD> Codice del record da eliminare<br> <INPUT type="text" name="codice"><br> <INPUT type="submit" value="cerca record"> <INPUT type="reset" value="annulla"> </TD> </TR> </TABLE> Elimina.asp @LANGUAGE = VBScript Dim C, D <title>eliminazione Record di una tabella</title> Dim Cn, Rs ' Recupero il record con il codice inserito ' Verifico che il record esista rs.open SQL, cn If rs.eof=true and rs.bof=true Then Response.Write "<p align=""center"">il codice specificato non esiste</p>" else <table border="1"> <form method="post" action="registradel.asp"> <td>codice<br> <input type="text" name="codice" value="=rs("codice")" maxlength="10" style="width: 100%;"> Descrizione<br> <input type="text" name="descrizione" value="=rs("descrizione")" maxlength="80" style="width: 100%;"> </td> <td align="right"> <input type="submit" value="elimina"></td> </form> </table> rs.close set Rs = Nothing
RegistraDel.asp @LANGUAGE = VBScript Gestione database di Access con ASP in ambiente WEB Dim C, D <title>eliminazione Record di una tabella</title> Dim Cn, Rs ' Recupero il record con il codice inserito ' Verifico che il record esista rs.open SQL, cn If rs.eof=true and rs.bof=true Then Response.Write "<p align=""center"">il codice specificato non esiste</p>" else <table border="1"> <form method="post" action="registradel.asp"> <td>codice<br> <input type="text" name="codice" value="=rs("codice")" maxlength="10" style="width: 100%;"> Descrizione<br> <input type="text" name="descrizione" value="=rs("descrizione")" maxlength="80" style="width: 100%;"> </td> <td align="right"> <input type="submit" value="elimina"></td> </form> </table> rs.close set Rs = Nothing