Molte volte capita di non riuscire a modificare il contenuto di un recordset, anche se il codice che si è usato è perfetto, e non ci sono errori.
Nella maggior parte dei casi, ciò dipende dal modo in cui è stato aperto il recordset.
ADO supporta diversi tipi di cursori, ciascuno con proprietà diverse, ed un lock type, cioè una regola durante la modifica di un recordset.
Vediamo entrambi nel dettaglio:
ADO supporta i seguenti cursori, forniti come costanti (si veda ADBOVBS.inc per ricavarne il relativo valore numerico)
- adOpenForwardOnly: è il cursore di default. Ideale quando si devono scorrere i record di un recordset sono per una volta. Non sono permesse modifiche.
- adOpenKeyset: permette qualsiasi tipo di modifica, ma non si possono vedere modifiche da parte di altri utenti.
- adOpenDynamic: permette qualsiasi tipo di modifica, ed in più si vedono anche le modifiche da parte di altri utenti.
- adOpenStatic: non permette modifiche.
Ecco i valori del lock type.
- adLockReadOnly: è il valore di default. Non si possono modificare i dati.
- adLockPessimistic: con questo valore, il database provider blocca tutti i dati in modifica assicurandone il successo.
- adLockOptimistic: con questo valore, il database provider blocca solo i record in modifica.
Per maggiori informazioni su cosa sia un recordset, su ADO, e sui database, si consiglia https://www.aspitalia.com/articoli/db/
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.