Metti ASP nel tuo carrello 3/3

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

Una volta registrati gli ordini, sarà possibile visionarne i dettagli attraverso due nuove pagine, VISORDINI.ASP , contenente la lista dei report in forma semplificata, e DETTAGLI.ASP , che offre un layout stile report con i dettagli dell'ordine selezionato in VISORDINI.ASP .

Nei prossimi paragrafi illustrerò nel dettaglio come soddisfare tutti i punti necessari.

Creazione del Disconnected Recordset

Il file GLOBAL.ASA si rende utile nel momento in cui desideriamo eseguire particolari operazioni in base ad eventi specifici. Questa non vuole essere una trattazione sulla funzione ed implementazione corretta del GLOBAL.ASA , ma piuttosto il motivo della sua adozione.

La creazione del Recordset persistente è un'operazione da eseguire una volta sola, pertanto possiamo realizzarla all'interno dell'evento Application_OnStart di cui ne illustro il contenuto:

Sub Application_OnStart
  'Creo una istanza del RS da salvare
  Set rs=Server.CreateObject("adodb.recordset")

  'Path e nome del carrello persistente
  Carrello=Server.Mappath("carrello.ado")

  'La stringa di connessione
  ConnStr="Provider=Microsoft.Jet.Oledb.3.51;data source=" & Server.mappath("playworld.mdb")

  rs.ActiveConnection=ConnStr

  'Impostazione del cursore lato Client per rendere il recordset persistente (adUseClient)
  rs.CursorLocation=3

  'Query di selezione che ritorna un recordset vuoto
  sqlNoRec="select * from DETTAGLIO_ORDINI where ID_ORDINE=0"
  'Apertura del RS - CursorType=Static - LockType=Batch
  rs.Open sqlNoRec,,3,4

  'Rendo il RS persistente sul disco
  rs.Save Carrello

  'Rilascio le risorse allocate
  rs.Close
  set rs=Nothing

End Sub

Lo script genererà un file chiamato " CARRELLO.ADO " (all'interno della directory dell'applicazione) contenente il risultato della query sqlNoRec, vale a dire un recordset vuoto.

Ricordiamo che l'evento Application_OnStart viene generato quando il Servizio IIS è riavviato e, eventuali modifiche, richiederanno il restart del servizio stesso (attraverso la console MMC o da NT shell). Per chi utilizzasse PWS per Win9x è necessario interrompere il processo, copiare il file GLOBAL.ASA nella directory dell'applicazione e far ripartire PWS.

Nel caso in cui si rendesse necessario far ripartire nuovamente il servizio/processo, ricordatevi di cancellare il carrello precedente, dal momento che lo script tenterà di crearne uno nuovo.

Creazione di un Carrello Elettronico su base utente

Grazie all'evento Session_OnStart , che si verifica alla creazione di una nuova sessione, è possibile soddisfare egregiamente questo punto. Infatti assegneremo all'oggetto Session("CARRELLO") il contenuto del recordset persistente, come illustrato di seguito:

Sub Session_OnStart

  'Il recordset di appoggio per trasferire i dati dal file
  Set rs=Server.CreateObject("adodb.recordset") 
 
  'Path assoluto del Recorset persistente
  Carrello=Server.Mappath("carrello.ado")
 
  'Apertura del recordet
  rs.open Carrello
 
  'Assegno il carrello vuoto all'oggetto Session
  Set Session("carrello")=rs
 
  'Assegno la stringa di connessione ad una variabile session
  Session("StrConn") = "Provider=Microsoft.Jet.Oledb.3.51;data source=" & server.mappath("playworld.mdb")
 
end sub

Da questo momento in poi sarà disponibile il carrello elettronico attraverso l'oggetto Session("carrello"). Nota degna di merito è che il nostro carrello non è altro che l'immagine della tabella DETTAGLIO_ORDINI , la quale ci consentirà di eseguire il BatchUpdate con grande semplicità ed immediatezza.

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

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