Newsgroup: it.comp.lang.visual-basic
Titolo: ADO, i primi passi

Visto la stupidità della domanda mandatemi pure a quel paese, non me la
prendo.
Ricordate tempo fà? vi ho spiegato che io utilizzo dao senza sfruttare
oggetti recordset connection etc..
Avendo una discreta voglia di convertirmi sto cercando di fare le mie prime
prove per capire come funziona invece il sistema più "professionale".
mi sono scaricato un progetto tutorial dal sito comune e stò cercando di
basarmi su quello, nel contempo ne approfitto per migrare anche ad ADO.
Ora, da quello che ho capito devo istanziare due variabili
ad es.
Private cnprova As ADODB.Connection
Private rsprova As ADODB.Recordset
le devo settare, istanziare??(mas non l'avevo già fatto prima?) ancora non
ho capito bene a cosa serve questa parte
Set cnprova = New ADODB.Connection
Set rsprova = New ADODB.Recordset
dopodichè vado con una  stringa di connessione
cnprova.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Prova.mdb"
e faccio una query per avere in mano FINALMENTE!!! un recordset
rsprova.Open "SELECT * FROM ANAGRAFICA", cnprova, adOpenKeyset, _
adLockOptimistic, adCmdText
*Prima domanda
la parte dopo la query (, cnprova, adOpenKeyset, _
adLockOptimistic, adCmdText) da quello che ho capito serve per dire a Vb a
che oggetto connection ci riferiamo, che tipo di cursore usare (ce ne sono
una miriade! come scegliere quale usare? ne esiste uno standard che va bene
più o meno sempre?), come e quando bloccare i record,l'ultima voce è ancora
un mistero per me ma msdn cita così
--------------
Opzioni   Valore Long che indica come il provider deve valutare l'argomento
Fonte se questo non rappresenta un oggetto Command o che il recordset deve
essere ripristinato da un file in cui era stato precedentemente salvato
(opzionale). Tale valore può essere una delle varianti che seguono. Per
ulteriori informazioni sulle prime cinque costanti dell'elenco, vedere la
proprietà
DELLA SERIE MA PARLA COME MANGI, STRON**
---------------
Ma soprattuto, ogni volta che apro un recordset devo specificare tutta
questa roba?
Ma per fare un programmino ci metto un anno!
*altre domande
Questo è il sistema migliore di lavorare?
come ottimizzare la procedura?
Grazie
Davide

 Set rsprova = New ADODB.Recordset
allora...
dichiarando una variabile As <TipoOggetto> non stai creando l'istanza,
stai semplicemente indicando che quella variabile *è* di quel tipo.
quella variabile, al momento, non è *niente* (infatti risulta = Nothing,
prima del Set)
il Set <NomeVariabile> = New <TipoOggetto>, invece, crea effettivamente
un'istanza della classe in questione. diciamo che è da questo momento
che la variabile 'assume consistenza' e può, quindi, essere utilizzata.
--
Faber

 Davide
Posso dirti che dipende sempre (è ovvio) dalle tue esigenze...:-)
Quando apri un recordset non è necessario specificare tutta quella roba _a
meno che_ ti vadano bene i valori di default che vengono assunti per ogni
flag che compone il comando....
in più se hai necessità di leggere soltanto i dati del recordset puoi
aprirlo in sola lettura (risparmiando risorse preziose nel sistema), se devi
consultare un archivio al quale accedono diversi utenti puoi specificare se
fare soltanto un'immagine del recordset sul tuo pc senza interagire con gli
altri utenti...almeno fin quando non aggiorni il db con modifiche che hai
apportato (updatebatch)....
Quindi alla fine, presa un poco di familiarità, riesci a ritagliarti gli
strumenti adatti per ogni circostanza...
Spero di non averti confuso ancora di più....
Ciao
Alex

 Ma per fare un programmino ci metto un anno!
Beh, fortunamente i programmi non devono essere scritti a macchina, quindi
con un po' di pratica, cut&paste e l'Intellisense vedrai che aprirai i tuoi
recordset in un attimo ;-)
Ciao
--
Luca Dormio - 
luca....@tin.it
________________________________
"Marty, non stai ragionando in maniera quadridimensionale"
Dr. Emmett L. Brown

 recordset in un attimo ;-)
Dopo qualche prova ho notato che a fetchare è molto più veloce...
Davide