Mi sono da poco avvicinato a ADO. Ho notato che, aprendo un oggetto Recordset, si possono specificare diversi parametri, tra cui CursorType e LockType ecc. Che cosa significano?

Utente HTML.it
chiede

Mi sono da poco avvicinato a ADO. Ho notato che, aprendo un oggetto Recordset, si possono specificare diversi parametri, tra cui CursorType e LockType ecc. Che cosa significano?

Redazione HTML.it
risponde

ADO supporta diversi tipi di cursori (CursorType), ciascuno con proprietà diverse, ed un LockType, cioè una sorta di “regola” che viene applicata durante la modifica di un recordset.

La proprietà CursorType può assumere uno dei seguenti valori:

  • adOpenForwardOnly: è il cursore di default. Ideale quando si deve scorrere un recordset solo in avanti. Non sono permesse modifiche.
  • adOpenKeyset: permette qualsiasi tipo di modifica, ma non si possono vedere le modifiche apportate da altri utenti.
  • adOpenDynamic: permette qualsiasi tipo di modifica, ed in più mostra anche le modifiche da parte di altri utenti.
  • adOpenStatic: non permette modifiche.

Ecco i valori del LockType.

  • adLockReadOnly: è il valore di default. Non si possono modificare i dati.
  • adLockPessimistic: con questo valore, il provider blocca tutti i dati in modifica assicurandone il successo.
  • adLockOptimistic: con questo valore, il provider blocca i record in modifica solo quando viene richiamato il metodo Update.