4 pagine in totale: <<Indietro 1 [2] 3 4 Avanti >>
Per lo sviluppo di oggetti, Visual Basic mette a disposizione comodi wizard che consentono di generare velocemente la struttura di base dell'oggetto.
Dal menu "File" di VisualBasic scegliamo l'opzione "Nuovo Progetto": verrà aperta una maschera in cui occorre scegliere il tipo di programma che si vuole sviluppare, nel nostro caso "DLL ActiveX".
Si otterrà l'apertura dell'Editor di VB che consente di scrivere delle funzioni all'interno di un modulo di classe. Un modulo di classe è in pratica un contenitore di procedure che consentono al programmatore di descrivere il funzionamento delle proprietà e dei metodi di un oggetto.
Si differenzia dai moduli standard i quali definiscono funzioni interne all'oggetto non visibili quindi all'esterno.
Definizione delle proprietà
Per prima cosa definiamo le proprietà dell'oggetto, cioè i parametri che, come abbiamo visto nella sezione dedicata al richiamo all'interno di una pagina ASP, vengono passati all'oggetto.
La sintassi generica per una funzione che descriva una proprietà è la seguente:
Public Property Let NomeTabella(ByVal vData As String)
mvarNomeTabella = vData
End PropertyLa variabile mvarnometabella dovrà essere definita nella sezione riservata alle dichiarazioni del modulo, presente nelle prime righe dello stesso, con la seguente sintassi:
Private mvarNomeTabella As StringPer ogni proprietà dell'oggetto occorre quindi costruire una funzione analoga.
Definizione dei metodi
Sicuramente più complessa è l'implementazione dei metodi dell'oggetto.
Nel nostro caso avremo un solo metodo che, sulla base dei parametri ricevuti, effettua l'aggiornamento del database.
Occorre definire una nuova funzione all'interno del modulo di classe denominata "Aggiorna".
La sintassi è quella tipica di una qualsiasi funzione Visual Basic:
Public Function aggiorna(requestForm As String) As BooleanTale funzione inizia la sua opera agganciando il database oggetto di aggiornamento:
'======================================
' Creo il RECORDSET
'======================================
Dim conn As New adodb.Connection
Dim taborig As New adodb.Recordset
' Apro la connessione
conn.Open mvarNomeDatabase
' Apro il recordset
sql = "SELECT * FROM " & mvarNomeTabella
taborig.ActiveConnection = conn
taborig.LockType = adLockOptimistic
taborig.CursorType = adOpenKeyset
taborig.Source = sql
taborig.OpenCome si può notare sono stati usati due nuovi oggetti: adodb.Connection e adodb.Recordset.
Senza scendere nei dettagli di cosa sia la tecnologia ADO per l'accesso ai database (a tal proposito, si veda questo articolo ), diciamo solo che, dopo aver costruito due istanze di questi oggetti, (praticamente due copie degli stessi che possiamo usare all'interno della nostra applicazione), abbiamo dapprima usato il metodo Open per aprire una connessione al database, cioè un canale che ci consente di dialogare con esso.
Successivamente, dopo averne definito alcune proprietà (notiamo che la proprietà ActiveConnnection è costituita dallo stesso oggetto Connection di cui sopra), apriamo il Recordset che altro non è che un oggetto contenente l'insieme di righe del database che vogliamo aggiornare, tramite il rispettivo metodo Open.
I metodi dell'oggetto Recordset che useremo andranno a modificare direttamente il nostro database.
Il passo successivo della funzione-metodo Aggiorna consiste nel decodificare il Request.Form arrivato come parametro dalla pagina ASP:
Il flusso del programma scandisce il Request.Form per individuare tutte le righe della tabella da aggiornare..
Viene usata una nuova funzione che, non dovendo essere visibile all'esterno dell'oggetto, viene definita non all'interno di una modulo di classe ma di un modulo standard.
Per aggiungere un modulo standard è sufficiente scegliere l'opzione "Inserisci Modulo" dal menu "Progetto". La funzione è la seguente:
Public Function MidStr(Stringa As String, target As String, numero As Integer, tipoRicerca) As StringQuest'ultima consente, data una stringa origine, di individuare una sottostringa compresa all'interno di un delimitatore.
Riceve in input:
- La stringa origine in cui effettuare la ricerca
- La stringa di delimitazione
- Un progressivo usato per individuare la prima oppure la seconda ecc.. ricorrenza della sottostringa.
'======================================
' Decodifico il Request HTML
'======================================
With taborig
x = 0
' -----------------------------------
' Trovo tutti i record da aggiornare
' -----------------------------------
Do Until esci = True
x = x + 1
y = 1
valori = MidStr(requestForm, mvarCampoChiave, x, 1)
If valori = "" Then
esci = True
. . . . . . . . . .
End If
Loop
End With4 pagine in totale: <<Indietro 1 [2] 3 4 Avanti >>
Contenuti dell'articolo
Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.





Difficoltà
Stampa
Download 



