GESTIONE DI MDB in WEB Il presente documento riporta

Gestione database di Access con ASP in ambiente WEB
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)
<HTML>
<HEAD>
<TITLE>Gestione di un database di ACCESS</TITLE>
</HEAD>
<BODY>
<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>
</BODY>
</HTML>
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")
%>
Realizzato da C. Ferrara
Gestione database di Access con ASP in ambiente WEB
Pagine per ‘Operazioni di INSERIMENTO di record’
Inserim.html
<HTML>
<HEAD><TITLE>Gestione di un database</TITLE></HEAD>
<BODY>
<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>
<a href='home.html'>Indietro</a></p>
</BODY>
</HTML>
RegistraIns.asp
<% @LANGUAGE = VBScript %>
<!--#include file="config.asp"-->
<%
Dim C, D, CN, RS
%>
<html>
<head>
<title>Registrazione dati</title>
</head>
<body>
<%
' Recupero i dati dal form
C = Request.Form("codice")
D = Request.Form("descrizione")
' Mi connetto al database
Set Cn = Server.CreateObject("ADODB.Connection")
Cn.Open StrCn
' Verifico che i dati da registrare non esistano già
Dim SQL
SQL = "SELECT * FROM tabella WHERE codice = '" & C & "' AND descrizione = '" & D & "';"
Set Rs = Server.CreateObject("ADODB.Recordset")
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>"
End If
Rs.Close
Set Rs = Nothing
Cn.Close
Set Cn = Nothing
With Response
.Write "<p align=""center"">"
.Write "<a href='home.html'>"
.Write "Indietro</a></p>"
End With
%>
</body>
</html>
Realizzato da C. Ferrara
Gestione database di Access con ASP in ambiente WEB
Pagine per ‘Operazioni di MODIFICA di record’
Modifica.html
<HTML>
<HEAD><TITLE>Gestione di un database</TITLE></HEAD>
<BODY>
<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>
<a href='home.html'>Indietro</a></p>
</BODY>
</HTML>
Modifica.asp
<%@LANGUAGE = VBScript%>
<!--#include file="config.asp"-->
<%
Dim C, D, Cn, Rs
%>
<html>
<head>
<title>Modifica Record di una tabella</title>
</head>
<body>
<%
' Recupero il record con il codice inserito
C = Request.Form("codice")
' Mi connetto al database
Set Cn = Server.CreateObject("ADODB.Connection")
Cn.Open StrCn
' Verifico che il record esista già
Dim SQL
SQL = "SELECT * FROM tabella WHERE Codice = '" & C & "';"
Set Rs = Server.CreateObject("ADODB.Recordset")
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">
<tr>
<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>
</tr>
<tr>
<td align="right">
<input type="submit" value="Salva"></td>
</tr>
</form>
</table>
<%
End If
rs.Close
set Rs = Nothing
Cn.Close
Set Cn = Nothing
%>
<a href='home.html'>Indietro</a></p>
</body>
</html>
Realizzato da C. Ferrara
Gestione database di Access con ASP in ambiente WEB
RegistraMod.asp
<%@LANGUAGE = VBScript%>
<!--#include file="config.asp"-->
<%
Dim C, D
%>
<html>
<head>
<title>Registrazione modifica dati</title>
</head>
<body>
<%
Dim SQL
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>"
' Mi connetto al database
Set Cn = Server.CreateObject("ADODB.Connection")
Cn.Open StrCn
SQL = "SELECT * FROM tabella WHERE Codice = '" & C & "';"
Set Rs = Server.CreateObject("ADODB.Recordset")
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>"
End If
Rs.Close
Set Rs = Nothing
Cn.Close
Set Cn = Nothing
With Response
.Write "<p align=""center"">"
.Write "<a href='home.html'>"
.Write "Indietro</a></p>"
End With
%>
</body>
</html>
Realizzato da C. Ferrara
Gestione database di Access con ASP in ambiente WEB
Pagine per ‘Operazioni di CANCELLAZIONE di record’
Elimina.html
<HTML>
<HEAD><TITLE>Gestione di un database</TITLE></HEAD>
<BODY>
<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>
<a href='home.html'>Indietro</a></p>
</BODY>
</HTML>
Elimina.asp
<%@LANGUAGE = VBScript%>
<!--#include file="config.asp"-->
<%
Dim C, D
%>
<html>
<head>
<title>Eliminazione Record di una tabella</title>
</head>
<body>
<%
Dim Cn, Rs
' Recupero il record con il codice inserito
C = Request.Form("codice")
' Mi connetto al database
Set Cn = Server.CreateObject("ADODB.Connection")
Cn.Open StrCn
' Verifico che il record esista
Dim SQL
SQL = "SELECT * FROM tabella WHERE Codice = '" & C & "';"
Set Rs = Server.CreateObject("ADODB.Recordset")
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">
<tr>
<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>
</tr>
<tr>
<td align="right">
<input type="submit" value="Elimina"></td>
</tr>
</form>
</table>
<%
End If
rs.Close
set Rs = Nothing
Cn.Close
Set Cn = Nothing
%>
<a href='home.html'>Indietro</a></p>
</body>
</html>
Realizzato da C. Ferrara
Gestione database di Access con ASP in ambiente WEB
RegistraDel.asp
<%@LANGUAGE = VBScript%>
<!--#include file="config.asp"-->
<%
Dim C, D
%>
<html>
<head>
<title>Eliminazione Record di una tabella</title>
</head>
<body>
<%
Dim Cn, Rs
' Recupero il record con il codice inserito
C = Request.Form("codice")
' Mi connetto al database
Set Cn = Server.CreateObject("ADODB.Connection")
Cn.Open StrCn
' Verifico che il record esista
Dim SQL
SQL = "SELECT * FROM tabella WHERE Codice = '" & C & "';"
Set Rs = Server.CreateObject("ADODB.Recordset")
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">
<tr>
<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>
</tr>
<tr>
<td align="right">
<input type="submit" value="Elimina"></td>
</tr>
</form>
</table>
<%
End If
rs.Close
set Rs = Nothing
Cn.Close
Set Cn = Nothing
%>
<a href='home.html'>Indietro</a></p>
</body>
</html>
Realizzato da C. Ferrara