Newsgroup: it.comp.lang.visual-basic
Titolo: cursore?

salve, non mi è ben chiara la differenza tra cursore statico e dinamico...
non è che qualcuno potrebbe spiegarmela un po' ?
lo so che questo non è un corso on line di VB, ma magari ci sono altri nelle
mie condizioni (ne dubito), che quindi trarrebbero giovamento (oh-oh guarda
come parlo! si vede che ho inghiottito il vocabolario?) da un'eventuale
spiegazione.
grazie
Mario

 ha scritto nel messaggio
news:a5h8mi$7bvm9$1...@ID-70152.news.dfncis.de...

Beh basta premere F1.....te lo premo io vàh!
logicamente cursori di ADO eh!!!
Cut & paste dalla guida in linea!
In ADO sono disponibili quattro diversi tipi di cursore:
1)Cursore dinamico: consente di visualizzare aggiunte, modifiche ed
eliminazioni eseguite da altri utenti e di effettuare tutti i tipi di
movimento tramite il Recordset che non si basano sui segnalibri. Consente
inoltre di inserire segnalibri se supportati dal provider.
2)Cursore direzionale(Keyset): si comporta come un cursore dinamico ad
eccezione del fatto che non consente di visualizzare record aggiunti da
altri utenti e di accedere a record cancellati da altri utenti. I dati
modificati da altri utenti saranno ancora visibili. Supporta segnalibri e
consente di effettuare tutti i tipi di movimento tramite il Recordset.
3)Cursore statico: fornisce una copia statica di un set di record da
utilizzare per trovare dati o generare relazioni; consente di inserire
segnalibri e di effettuare tutti i tipi di movimento tramite il Recordset.
Aggiunte, modifiche o eliminazioni eseguite da altri utenti non saranno
visibili. È l'unico tipo di cursore disponibile quando si apre un oggetto
Recordset del client (ADOR)
4)Cursore a scorrimento in avanti: si comporta esattamente come un cursore
dinamico ad eccezione del fatto che consente di scorrere i record solo in
avanti. In questo modo si migliorano le prestazioni quando è necessario
effettuare un solo passaggio all'interno di un Recordset.
...mi sembra abbastanza esauriente no????
come impostare e usare  i cursori beh se cerchi la proprietà
CursorType di ADO....c'è una bella spiegazione...anche in italiano!
:-).....
P.S.
un po di sforzo prima di postare una domanda del genere sarebbe
appropriato....
4 passaggi da fare
1) ...premi f1 e consulta la guida in linea
2)....non mi basta.....leggo il materiale che c'è su sito
comune...
http://www.it-lang-vb.net
3)...non mi basta...cerco su google o altro motore di ricerca...prova a
cercare VB6 ADO Cursori Esempio......vedrai se qualcosa non salta fuori
4)...non mi basta....osservo e leggo i vecchi post del ng....
non mi basta....ok prova a postare!

 non mi basta....ok prova a postare!
bye & thanks
Mario

 > 3)Cursore statico: fornisce una copia statica di un set CUT
Ti do una risposta ed una tirata di orecchi.......
tutto quello che ho trovato è un Copia e Incolla dal mio MSDN!!!!
Definizione di cursore:(Ricerca: Cursori, definizione )
"..Questa situazione risulta piuttosto complicata per la maggior parte degli
sviluppatori, i quali sono abituati a utilizzare il recupero sequenziale in
base ai record, ma non hanno esperienza con i gruppi di risultati delle
query. Sebbene l'applicazione basata sulle query sappia in generale cosa
aspettarsi nel gruppo di risultati, potrebbe aver bisogno di valutare
determinate colonne in righe specifiche per raggiungere una conclusione.
Tali applicazioni devono disporre di un meccanismo per convertire in
variabili di programma una riga o un piccolo gruppo di righe da un gruppo di
risultati.
I cursori consentono di risolvere questo problema esponendo l'intero gruppo
di risultati in modo tale che l'applicazione possa utilizzare le righe del
gruppo di risultati in modo simile all'utilizzo dei record di un file
sequenziale. L'illustrazione che segue mostra il modo in cui un cursore
rende le righe disponibili all'applicazione...."
Tipi di cursore (Ricerca: cursori client )
"......
Ciascun cursore utilizza risorse temporanee per conservare i propri dati.
Tali risorse possono essere costituite dalla memoria, da un file di paging
su disco, da file su disco temporanei o addirittura da aree di
memorizzazione temporanee nel database. Il cursore viene denominato cursore
del client quando tali risorse si trovano sul computer client, mentre è
denominato cursore del server quando tali risorse si trovano sul computer
server.
Cursori del client
Con un cursore del client non gestito da keyset, il server invia l'intero
gruppo di risultati al computer client tramite la rete. Il computer client
mette a disposizione e gestisce le risorse temporanee richieste dal cursore
e dal gruppo di risultati. L'applicazione del client è in grado di scorrere
l'intero gruppo di risultati per determinare le righe richieste.
I cursori statici del client gestiti da keyset possono costituire un carico
pesante per la workstation se comprendono troppe righe. Anche se tutte le
librerie dei cursori sono in grado di creare cursori con migliaia di righe,
è possibile che le applicazioni progettate per recuperare gruppi di righe di
grandi dimensioni offrano prestazioni scadenti, benchè possano esistare
eccezioni a questa regola. Per determinate applicazioni è infatti possibile
che un cursore del client di grosse dimensioni sia perfettamente appropriato
e che le prestazioni non rappresentino un problema.
Un beneficio evidente derivante dall'utilizzo del cursore del client è
rappresentato dalla rapidità della risposta. Una volta scaricato il gruppo
di risultati sul computer client, lo scorrimento delle righe risulta
estremamente rapido. L'applicazione risulterà in genere più scalabile con i
cursori del client, in quanto i requisiti di risorse del cursore gravano su
ciascun client e non sul server.
Cursori del server
Con un cursore del server, il server gestisce il gruppo di risultati
utilizzando le risorse messe a disposizione dal computer server. Il cursore
del server restituisce solo i dati richiesti tramite la rete. È possibile
che questo tipo di cursore fornisca talvolta prestazioni migliori rispetto
al cursore del client, in particolare nei casi in cui l'eccessivo traffico
di rete rappresenta un problema.
I cursori del server consentono inoltre di eseguire più operazioni sulla
connessione. Questo significa che una volta creato il cursore sarà possibile
utilizzare la stessa connessione per apportare le modifiche alle righe,
senza che sia necessario creare una connessione aggiuntiva per gestire le
query di aggiornamento sottostanti.
È tuttavia importante sottolineare come il cursore di lato server consumi,
almeno temporaneamente, preziose risorse del server per ciascun client
attivo. È necessario pianificare di conseguenza l'utilizzo dei cursori per
garantire che l'hardware del server sia in grado di gestire tutti i cursori
del server richiesti dai client attivi. Un cursore del server può inoltre
risultare lento perché fornisce solo l'accesso a una singola riga in quanto
non è disponibile un cursore batch.
I cursori del server sono utili quando si inseriscono, si aggiornano o si
eliminano i record. Con i cursori del server è possibile disporre di più
istruzioni attive sulla stessa connessione. Con SQL Server è possibile avere
risultati in sospeso in più handle di istruzione.
Nell'elenco seguente sono illustrati alcuni vantaggi dell'utilizzo dei
cursori del server:
Utilizzo della memoria
Non è necessario che il client memorizzi nella cache ingenti quantità di
dati o che conservi informazioni sulla posizione del cursore, in quanto tale
compito è svolto dal server.
Prestazioni
 Se si intende accedere solo ad alcuni dei dati del gruppo di risultati,
oppure si intende accedere ai dati solo poche volte, un cursore del server
consente di ridurre il traffico di rete.
Tipi di cursore aggiuntivi
Con i cursori del server sono disponibili sia cursori keyset che cursori
dinamici.
Aggiornamenti posizionati
   I cursori del server supportano gli aggiornamenti posizionati diretti,
mentre ODBC simula gli aggiornamenti di cursore posizionati generando
un'istruzione SQL di ricerca e aggiornamento. Gli aggiornamenti posizionati
diretti non solo sono più veloci, ma consentono anche di evitare il rischio
di collisioni impreviste tra gli aggiornamenti.
Si noti che i cursori del server non supportano l'esecuzione delle query che
restituiscono più di un gruppo di risultati. È tuttavia possibile utilizzare
la libreria dei cursori del server con questo tipo di query se si richiede
un cursore di sola lettura forward-only con una dimensione di rowset di 1.
Questo gruppo di opzioni disattiva il carico di scorrimento dovuto al
cursore e consente al driver del cursore di gestire ciascun gruppo di
risultati in modo individuale.
...."
Che dire ci sarebbe MOOOlto altro da dire
ad esempio cerca
Cursori, suggerimenti e strategie
Le proprietà di riferimento(ADO)
.CursorLocation
.CursorType
.LockType
etc etc..........adesso dipende dalla tua voglia ti ho dato un sacco di
input!!!!
:-)
p.s.
considera anche che se usi il lato server...bisogna che dall'altra parte ci
sia un DB vero, non un giocattolino come Access!!!!Già MSDE va
meglio...MySQL....Postgres..e poi va
beh!...Oracle...SqlServer....Informix...Sybase(esiste ancora?)....etc etc...

 con un tale cursorlocation?"
Se vuoi aprire un RS puoi scegliere in che modalità aprirlo in base alle tue
esigenze.
Il concetto è questo :
la locazione dei cursori (server o client) è un parametro secondario
rispetto al tipo di cursore da utilizzare.
Nell'analisi strutturale del programma devi prima chiederti che tipi di
cursore ti servono; in base a questo imposti la proprietà cursor location.
prova a cercare su google qualcosa in merito ai cursori
Saluti

 cursore ti servono; in base a questo imposti la proprietà cursor location.
CUT
Beh  indubbiamente.
Access poi ha una elaborazione server??? (eh eh !)
...non per mettere in dubbio ciò che dici che è sacrosanto.
Però se mi danno come possibilità un buon motore DB (od uno pessimo)...un
buon server(o un catorcio)...lato server..o lato client... è la mia prima
discriminante!
io ultimamente sto scoprendo la "bellezza" dell'elaborazione lato
server!...ed i casini che comporta!
:-)