Internet Tips a cura di Piemonte.net


roberto@ilpiola.it
 

Come usare Access per lavorare sul web

Un lettore ci scrive, a proposito di un server web basato su NT:
> > No, la licenza che hai non comprende SQL server; se vuoi, 
> > puoi usare Access.
>
> ma non ci posso fare niente sul web? Nel senso che gli posso 
> passare dei
> dati da un form e fare delle ricerche nel database access, 
> creando delle
> pagine web coi risultati, come faccio col tdb? Questo non lo fa sql?
SQL e' un linguaggio di interrogazione/modifica dei dati, con istruzioni abbastanza simili a quelle del tdb; tale linguaggio si deve appoggiare su di un sistema di database (DBMS) che specifica che formato avranno i files; MS Access, MS SQL Server, Postgres sono tutti DBMS, che si poggiano ciascuno su di un suo formato file; volendo, con Excel danno anche l'opzione pe rusare un foglio execl o un file di testo come fonte dati.

Tipicamente, lo script (ASP) che gira sul server web crea una query sql, apre una connessione verso il dbms e gliela passa.

per esempio, per aggiungere un dato al db, lo script sara':

%3c%25
< %
sql="insert into amici(nome,anni) values('" & request("nome") & "'," & request("anni") & ")"
' creo un oggetto di connessione
Set conn=server.createobject("adodb.conenction") 
' apro il database che mi interessa... nota che lo script non sa minimanente
che
' formato hanno i dati... dal pannello di controllo di windows gestisco
' l'associazione, per esempio
' miodb -> MS Access C:\mieidati\miodb.mdb
conn.open("DSN=miodb")
' adesso passo l'SQL al db
conn.execute(sql)
' chiudo la connessione
conn.close
' avviso l'utente
response.write "OK, dati registrati"
%>
mentre per un'interrogazione avro':
< %
sql="select nome,anni from amici order by anni desc"
Set conn=server.createobject("adodb.conenction") 
conn.open("DSN=miodb")
' l'oggetto rs contiene il risultato dell'interrogazione
Set rs=conn.execute(sql)
' ci devo fare un ciclo sopra:
do while not rs.eof
	response.write rs("nome") & " ha " & rs("anni") & " anni
" rs.movenext loop ' adesso devo anche chiudere l'oggetto rs rs.close conn.close %>
Roberto Piola