Newsgroup: it.comp.lang.visual-basic
Titolo: Oggetto ado e seek

Come posso utilizzare il metodo seek per ricercare un determinata chiave in
ms sql server 7
es.
    Private oADANA2 As ADODB.Recordset
    Private cn As ADODB.Connection
    Set cn = New ADODB.Connection
    Set oADANA2 = New ADODB.Recordset
    cn.ConnectionString = "DSN=Pc_Aie;uid=max;pwd=1234"
    cn.Open
    oADANA2.Open "Adana", cn, adOpenDynamic, adLockOptimistic
    oADANA2.Seek (Mid(List1.Text, 3, 6))
    Text1.Text = oADANA2.Fields("RagSoc1")
    oADANA2.Close
mi da' errore ?!?!?  "Errore run-time 3251 - L'operazione richiesta non e'
supportata dall'oggetto o dal provider"
Grazie 1k
Max

 ha scritto nel messaggio
news:9dr8ig$21k$1...@pegasus.tiscalinet.it...


 ha scritto nel messaggio
news:9dr97l$ffd$1...@news.mclink.it...


Devi posporre al nome della
tabella, nella clausola from,
il nome dell'indice/degli indici
che desideri privilegiare.
Es:
       SELECT Campo1,
              Campo2, 
              ...
              CampoN
       FROM   TableXXX (IDX_DF_KK7D4)
       WHERE  CampoX = @SuppliedValue
Intendendo con IDX_DF_KK7D4 un nome di indice
valido su TableXXX.
Se la tua richiesta confligge con l'ottimizzatore
di SQL, questi esclude la tua indicizzazione;
puoi perň forzare la tua prospettiva anche contro
l'evidenza dell'ottimizzatore, utilizzando
        SET FORCEPLAN ON
per il quale consulta Help T-SQL di SQL-Server.
Ciao 
	Adriano


 che desideri privilegiare.
[...]

 scegliere all'optimizer cosa utilizzare.
Perchè al 99,9%???
Mettiamo di avere la tabella Clienti e una chiave primaria(PK_Clienti) sul
campo ID.
Se faccio così:
"Select * from Clienti with(Index([Pk_Clienti])) where ID = 13"
"Select * from Clienti [Pk_Clienti] where ID = 13"
Non evito a Sql di complicarsi la vita?
La tua affermazione:
"Nel 99,9% dei casi è meglio fare scegliere all'optimizer cosa utilizzare."
L'hai letta da qualche parte o è frutto di immaginazione:)))
No Scherzo, mi sai dire maggiori Informazioni visto che attualmente per ogni
select
specifico l'indice?
A proposito,mettiamo che un pgm ha in giro più versioni ed è in continuo
Aggiornamento
usando il nome dell'indice verrà generato un errore che manca l'indice,
quindi l'ho aggiungerò alla tabella, altrimenti magari rischio di aggiornare
componenti e di non avere le strutture del Db Appropiate...
Spero nelle tue informazioni
Ciao
Oz


Ma la vita del programmatore non è già abbastanza complicata con versioni di
S.O., mdac, componenti ocx, service pack e tutto il resto per andarsi a
creare anche i problemi che gli indici devono essere identici ?
Ciao
Alfonso

 [...]

valido su TableXXX.
Dacche' mi risulta se una select e' sortata su un campo indicizzato il
database sa dell'indice e lo usa autonomamente.
Se tuttavia non e' cosi' la cosa mi interessa molto.
L'annotazione che hai scritto ti risulta nell' ANSI SQL ? o e' una
SQLServer-invenzione ?
----------------------------------------------------------
Paolo Hölzl
Gruppo Tekup Software developer (Bologna)
----------------------------------------------------------
ATTENTION!, antispam 
For reply, substitute xxx with gruppotekup

 ha scritto
| Tieni presente che comunque tu puoi indicargli che indici usare, ma questo
| non ti consentirą di usare la seek.
| IN ADO LA SEEK NON ESISTE ! rassegnati.
| Ciao
| Alfonso
Pero' esiste la FIND... :)
adorRset.find "id=" & myID

 creare anche i problemi che gli indici devono essere identici ?
Purtroppo la mia Realtà è questa :))))
Ciao
Oz

 | non ti consentirà di usare la seek.


Nutro forti dubbi sulla appartenenza
di questa sintassi allo standard SQL-92.
E, a supporto parziale di questo, non credo
che DB2 di IBM la ammetta.
Tuttavia alcuni fra i più diffusi DBMS la
supportano.
Fra questi SQL-Server ed Oracle.
Ciao 
	Adriano
