Corsi di Cultura Informatica (edizione 2001)

CICAIA Centro Interdipartimentale di Calcolo Automatico e Informatica Applicata dell'Università di Modena e Reggio Emilia
CEDOC Centro Documentazione della Provincia di Modena
in collaborazione con: NEXTRA Internet at work

ASP e PHP

  argomenti ASP
  • presentazione
  • I Data Base
  • Ms Access
  • ASP e Database
  • Linguaggio SQL
  • Lettura di dati
  • Aggiunta di record
  • Modifica dati
  • Cenni di configurazione IIS e ODBC

  • Bibliografia e siti web
  • ASP e DataBase

    Accesso ai DataBase

    ASP può collegarsi a un qualunque tipo di DataBase purché compatibile ODBC (Open Data Base Connectivity). Attraverso l'interfaccia ODBC Il DataBase deve essere configurato sul server come DSN Data Source Name. Le operazioni sui dati vengono poi eseguite utilizzando il linguaggio SQL.
    Ms Access, DataBase relazionale di utilizzo abbastanza semplice e molto diffuso in ambiente Windows, è l'unico DataBase a cui ASP si può connettere direttamente anche SENZA utilizzare gli ODBC, quindi senza la configurazione come DSN.

    Oggetti Connection e Recordset

    ASP mette a disposizione due oggetti predefiniti: Connection e Recordset per effettuare la connessione e l'interrogazione al DataBase. I passi da effttuare sono i sguenti:
    1. Stabilire la connessione
    2. Effettuare l'estrazione dei dati tramite una richiesta SQL

    Esempio di lettura dati da una tabella

    ES020
    Utilizzo degli oggetti ADODB.Connection e ADODB.Recordset.
    nome del file: es20.asp
    <html>
    <head> <title> La mia pagina ASP 20 </title>
    </head>
    <body>
    Questa è la mia pagina ASP 20
    <br>
    <pre>
    <% 
    '
    'connessione al data base definito guida00 nei DSN-ODBC del server
    '
     dim dbconn
     set dbconn = Server.CreateObject("ADODB.Connection")
     dbconn.ConnectionString = ("DSN=guida00")
     dbconn.Open
     '
     'interrogazione dati
     '
     dim tabfac
     set tabfac = Server.CreateObject("ADODB.Recordset")
     tabfac.open "facolta", dbconn
     '
     ' visualizzazione dati
     '
     do while not tabfac.eof 
     response.write "<li>" & tabfac.fields("facoltaID") & " - "
     response.write tabfac.fields("nome") 
     tabfac.movenext
     loop
     '
     ' chisura connessione e cancellazione oggetti ADO
     '
     tabfac.close
     set tabfac=nothing
     dbconn.close
     set dbconn=nothing
    %>
    </pre>
    </body>
    </html>
    
        Visualizza l'esempio

    Connessione DNS-less

    Nell'esempio 20 la connessione al DataBase è stata effettuata utilizzando un DNS (Data Source Name) che prevede la configurazione della sorgente dati attraverso gli ODBC. Solo nel caso di archivi Access è possibile effettuare una connessione DNS-less (senza DNS) in questo modo:
    ES020
    Utilizzo degli oggetti ADODB.Connection e ADODB.Recordset.
    nome del file: es21.asp
    <html>
    <head> <title> La mia pagina ASP 21 </title>
    </head>
    <body>
    Questa è la mia pagina ASP 21
    <br>
    <pre>
    <% 
    '
    'connessione al data base DSN-LESS
    '
     dim dbconn
     set dbconn = Server.CreateObject("ADODB.Connection")
     dbconn.ConnectionString = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=D:\archivi\guida00.mdb"
     dbconn.Open
     '
     'interrogazione dati
     '
     dim tabfac
     set tabfac = Server.CreateObject("ADODB.Recordset")
     tabfac.open "facolta", dbconn
     '
     ' visualizzazione dati
     '
     do while not tabfac.eof 
     response.write "<li>" & tabfac.fields("FacoltaID") & " - "
     response.write tabfac.fields("nome") 
     tabfac.movenext
     loop
     '
     ' chisura connessione e cancellazione oggetti ADO
     '
     tabfac.close
     set tabfac=nothing
     dbconn.close
     set dbconn=nothing
    %>
    </pre>
    </body>
    </html>
    
        Visualizza l'esempio

    Nota
    La connessione DNS-less prevede la conoscenza del path completo del file access. E' anche possibile indicare il path relativo utilizzando la funzione Server.MapPath, che restituisce il percorso fisico del server.
    
    "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&server.mappath("guida00.mdb")
    



    © Daniela Nasi CICAIA - 2001