Un Database Manager in ASP

3 pagine in totale: <<Indietro 1 2 [3]

Creazione automatica della query

Attraverso l'uso di script lato client è possibile avere il quasi completo controllo sugli elementi contenuti nella pagina, caratteristica utilizzata dal nostro script per costruire l'espressione della query.

Questo è ottenuto grazie alla cattura dell'evento OnClick sugli elementi <RADIO BUTTON> (primo riquadro) e <SELECT> (secondo riquadro), il quale evento viene generato col semplice click dell'utente. Alla selezione di un tipo di query e una tabella, verrà richiamata la funzione Javascript buildSql, incaricata di costruire l'espressione basandosi sulle scelte operate dall'utente; per le query di comando (UPDATE, INSERT INTO e DELETE) sarà fornita anche la corretta sintassi da rispettare.

Procedendo con l'esecuzione della query (tasto [ Prosegui >> ]), otterremo un ricaricamento della pagina ed esecuzione della query specificata, con verifica e intercettamento degli errori eventualmente restituiti da ADO.

Nel caso in cui la query abbia una corretta sintassi, otterremo due tipi di risultati:

Tipo Query Risultato
SELECT Viene visualizzata una tabella HTML corrispondente all'immagine del recordset, a patto che questo contenga almeno un record.
UPDATE, INSERT INTO, DELETE Verrà visualizzato il numero di record su cui la query ha avuto effetto.

Degna di nota è la soluzione adottata per costruire la tabella HTML (nel caso di query SELECT): il metodo

Recordset.GetString()
consente di convertire il contenuto di un Recordset nel formato ASCII delimitato (oppure XML con ADO 2.5). Si può facilmente intuire la sua adeguatezza alle nostre esigenze.

La sintassi del metodo

Recordset.GetString()
è la seguente:

ADO_Recordset.GetString (formato, record, sep_colonna, sep_riga, carattere_null)

Dove:

ADO_Recordset Il nome dell'oggetto ADO Recordset contenente i risultati

Formato

formato dei dati da restituire (omesso = adClipString)

Record

numero di record da considerate (se omesso = tutti)

sep_colonna

separatore di colonna

sep_riga

separatore di riga

carattere_null

Carattere da sostituire in presenza di valori NULL

Il codice necessario alla creazione di una tabella HTML può essere considerato come stringa delimitata da TAG, più che da delimitatori. Infatti, la nostra soluzione utilizza i seguenti elementi:

formato

Omesso, quindi ASCII delimitato

Record

Omesso, quindi tutti i record

sep_colonna

</TD><TD>

sep_riga

</TR><TR><TD>

carattere_null

&nbsp; (simbolo [spazio] in HTML)

Questo ci consente la costruzione automatica del corpo della tabella, senza intestazione e TAG (<TABLE>?</TABLE>), che possiamo provvedere ad aggiungere con un minimo sforzo.

Questo metodo risulta di gran lunga più performante rispetto a metodi più comuni, come cicli di scorrimento del recordset oppure il metodo

Recordset.GetRows()
, in grado di convertire un Recordset in una matrice. V'invito a tal proposto a verificare i tempi di risposta.

Conclusioni

Apprezzerete sempre di più, col tempo, questa semplice applicazione, che potrebbe estendere le proprie funzionalità ad altre fonti dati di tipo Client/Server, come MS Sql Server, Sybase, Oracle. Sono certo che sarete voi a suggerire possibili scenari futuri come già avvenuto con mio intenso piacere.

3 pagine in totale: <<Indietro 1 2 [3]

Attenzione: Questo articolo contiene un allegato

Contenuti dell'articolo

Commenti
Dai un voto a questo articolo, ci aiuterà a migliorare il nostro sito (1 è il voto minimo, 5 il massimo).

Per procedere al rating dell'articolo devi essere autenticato.

Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.


TUTORIALS
TOP TEN ARTICOLI
NOTIFICHE

Iscriviti alla nostra newsletter nuoviarticoli per ricevere e-mail le notifiche!

Indirizzo e-mail:
PROVIDER ASP.NET 2.0

Seleziona il database per avere il web.config pronto per Membership, Roles e Profile API.



IN EVIDENZA
MISC