Lo script esegue in modo automatico il backup del proprio database MySql. Gestisce la programmazione settimanale o giornaliera del backup, esegue il tutto e invia il file già zippato al tuo indirizzo email. Si possono personalizzare le tabelle di cui fare il backup e il numero di righe per grossi database.

Seconda versione del popolare script per la gestione via web di database Access. Consente tutte le principali azioni di editing su un database ma anche la creazione di nuovi db in formato Access 97 o 2000

AxpDB coniuga un completo set di funzionalità per l’amministrazione remota di database con la gradevolezza di un’interfaccia basata sull’uso intensivo dei CSS.È in grado di gestire recordset corposi e si interfaccia con database Access, MSQL Server e persino Oracle.Per l’installazione è consigliata la lettura della ricca documentazione. Lo zip allegato contiene un archivio (sempre zip) con l’applicazione principale e un secondo zip con la patch necessaria a rendere il componente free e una serie di esempi

Semplice ma efficace strumento di amministrazione via web di database Access. Offre, tra l’altro, una funzione di login, un pannello di controllo e la possibilità di modificare, aggiungere e cancellare record. L’installazione richiede semplicemente la modifica della stringa di connessione al database. Per il primo login i dati da inserire sono admin e admin, per il nome utente e la password

Davvero ottima questa applicazione opera di Livio Siri. Con dbList è pssobile effettuare tramite una semplice pagina web tutte le operazioni più comuni su tabelle di database: visualizzazione, modifica, acancellazione, aggiunta di record, filtro, ricerca. dbList può essere scaricata direttamente dal sito personale dell’autore. Sul sito stesso è possibile provare una demo.

Molto spesso si costruiscono script che prevedono l’effettuazione di query su una tabella da parte di tutti gli utenti che accedono al sito nonostante la stessa tabella (o limitatamente i campi restituiti dalla query) sia oggetto di modifiche solo raramente.

Esiste un modo per evitare che tutti gli utenti eseguano ad ogni accesso la stessa identica query ed alleggerire quindi il lavoro del server: utilizzare le variabili Application.

Una volta creata una variabile Application, questa è disponibile per tutte le pagine del sito web e per tutti gli utenti: solo nel caso in cui vi fosse un restart di IIS la variabile sarebbe azzerata.

Lo script di seguito mostra come sia possibile creare la variabile application con le informazioni provenienti dal database (lista delle sezioni del sito, ad esempio) e stamparla in ogni pagina piuttosto che effettuare infinite volte la stessa query sul database.


<%

function elencoSezioni()

if IsNull(Application(“sezioni”) then

‘Apri connessione (conn)

‘Apri recordset (rs)

strSQL = “SELECT * FROM tSezioni ORDER BY sezione”

rs.Open strSQL, conn

if not rs.EOF then

sQuery = “”

sQuery = “<select name=””sezione””>”

do while not rs.EOF

sQuery = sQuery &”<option value=”””& rs(“sezione_id”) &”””>”& rs(“sezione”) &”</option>”

rs.MoveNext

Loop

sQuery = sQuery &”</select>”

‘Creo la variabile application

Application(“sezioni”) = sQuery

end if

‘Chiudi recordset (rs)

‘Chiudi connessione (conn)

end if

elencoSezioni = Application(“sezioni”)

end function

Response.Write(“<form method = “”post”” action = “”pagina.asp””>”)

Response.Write(elencoSezioni())

Response.Write(“</form>”)

%>

MySQL è un database molto potente che offre la possibilità di sfruttare query preconfezionate e particolarmente utili.

In questo script viene mostrato come con due semplici ed intuitive istruzioni sia possibile recuperare i nomi delle tabelle ed i nomi di tutti i campi di ognuna di esse.

Per funzionare richiede esclusivamente la definizione del nome del database cui collegarsi da specificare all’inizio dello script stesso.

Non è raro di avere la necessità di recuperare un ID (identificativo chiave primaria) che sia stato appena inserito in una tabella tramite una query di accodamento come questa:


<%

‘Apertura connessione “conn”

‘Inserimento valori

strSQL = “INSERT INTO rubrica (cognome, nome) VALUES (‘Rossi’, ‘Marco’)”

conn.Execute(strSQL)

%>

A prima vista, la soluzione immediata potrebbe essere quella di ordinare la tabella in ordine decrescente di ID e, tramite la clausola TOP 1 (che funziona esclusivamente su database di tipo Access però!), recuperarne solo il primo record (ovvero l’ultimo ad essere stato inserito):


<%

‘Recupero dell’ultimo ID: clausola TOP 1 e ID DESC

strSQL = “SELECT TOP 1 ID FROM rubrica ORDER BY ID DESC”

%>

Utilizzando questo sistema però estrarremo effettivamente l’ultimo record inserito, ma non potremmo avere la sicurezza completa che si tratti proprio del nostro.

In molti casi infatti, quando più utenti hanno accesso alla stessa tabella, potrebbero verificarsi inserimenti concorrenti e potremmo trovarci con un ID appartenente sicuramente “all’ultimo record”, ma non necessariamente a quello inserito da noi, bensì da chi, casualmente, ha immesso il proprio pochi (infinitesimi) istanti dopo di noi.

Per superare questo problema apparentemente senza soluzione dobbiamo riuscire a legare il record inserito con l’operazione che l’ha immesso nella tabella, quasi si trattasse di un’operazione unica.

Per ottenere tale risultato possiamo avvalerci di una particolare sintassi dell’istruzione SELECT, per di più non esclusiva dei database Access, che fa uso della clausola @@IDENTITY:


<%

‘Settaggio recordset objRS

set objRS = Server.CreateObject(“ADODB.recordset”)

‘Query

strSQL = “SELECT @@IDENTITY FROM rubrica”

‘Apertura del recordset ed esecuzione della query

objRS.Open strSQL, conn

ultimo_id = objRS(0)

‘Chudura e distruzione dell’oggetto recordset

objRS.Close

set objRS = nothing

‘Chiusura connessione “conn”

%>

Utilizzando il codice riportato sopra, nella variabile ultimo_id avremo finalmente l’ID del “nostro” ultimo record inserito

Con questo script, viene mostrato come legger una tabella di un database mySql. In fondo alla tabella, viene mostrato il tempo impiegato a svolger tale operazione.

<%

inizioTempo = Timer()

Set conn = Server.CreateObject(“ADODB.Connection”)

Set comm = Server.CreateObject(“ADODB.Command”)

Set Rs = Server.CreateObject(“ADODB.Recordset”)

conn.CommandTimeout = 40

conn.CursorLocation = 1

conn.ConnectionString = “db=innoDb;uid=innovatel;pwd=innovatel;driver=MySQL”

conn.Open

comm.ActiveConnection = conn

comm.CommandType = 1

comm.CommandText = “SELECT nome FROM clienti”

Rs.Open comm,,1,1

%>

<TABLE>

<%

do while not(rs.eof)

i=i+1

if i mod 2 = 0 then

strFondo=”#CCFF00″

else

strFondo=”#CC33CC”

end if

%>

<TR>

<TD bgcolor=”<%=strFondo%>”>

<%

if i mod 2 = 0 then

response.write “<font size=””2″” color=””#66CCCC””>”

else

response.write “<font size=””2″” color=””#CC33FF””>”

end if

response.write “Messaggio numero –> ” & i & ” – Testo –> ” & rs(0)

response.write “<br></font>”&chr(13)&chr(10)

rs.movenext

%>

</TD>

</TR>

<%

loop

%>

</TABLE>

<%

rs.close

conn.close

set rs = nothing

set comm= nothing

set conn = nothing

response.write “Secondi Impiegati : ” & ( timer() – inizioTempo )

%>