Newsgroup: it.comp.lang.visual-basic
Titolo: Problema con GetRows su ADO - RDO

Ho tentato (visto che non ci sono riuscito è il termine più adatto) di
utilizzare il metodo GetRows( intRecordNumber) per ottenere un array
contenente i record di una query, però ottengo come risultato solo il primo
campo della prima riga,
E' normale?
Quello che vorrei ottenere io invece è avere nell'array tutti i campi di
tutto il recordset.
Ho VB6 sp4, se può essere utile.
Qualcuno può aiutarmi? Devo postare il codice sorgente?
P.S. Vorrei farvi i complimenti per il sito del NG, ci sono molte cose utili
e mi piacerebbe collaborare (per quello che posso) solo che mi sono
avvicinato a questo NG da poco... Comunque programmo circa tre anni in VB...
e ormai un po' di esperienza ce l'ho... anche se ancora mi intoppo....
--
MARCO VERGAINI
DARWIN COMMUNICATIONS®
m...@darwin.it
www.darwin.it

Ho tentato (visto che non ci sono riuscito è il termine più adatto) di
utilizzare il metodo GetRows( intRecordNumber) (prima quello di ADO e poi
quello di RDO) per ottenere un array contenente i record di una query, però
ottengo come risultato solo il primo campo della prima riga.


 wrote in message
news:Byl06.8815$5k3.3...@twister2.tin.it...


 ha scritto nel messaggio
news:91str0$sb2$1...@stargate1.inet.it...

Ecco il codice che mi da problemi, non è che riesci a capire qualse sia il
problema?
Public Function GetAllMembers(ByRef ReturnData As Variant) As String
   Dim conn As New ADODB.Connection
   conn.ConnectionString = "dsn=MYsql;"
   conn.Open
      Dim MLset As New ADODB.Recordset
      MLset.CursorLocation = adUseClient
      MLset.CursorType = adOpenDynamic
      MLset.LockType = adLockOptimistic
      MLset.Open "SELECT (name + email + pwd) AS nep FROM admin." &
m_strUser, conn, adOpenDynamic, adLockOptimistic
      If Not MLset.EOF Then
         ReturnData = MLset.GetRows()
      End If
      MLset.Close
      Set MLset = Nothing
   conn.Close
   Set conn = Nothing
errore:
   GetAllMembers = GetAllMembers & "GET ALL MEMBER ERROR! " &
Err.Description & "SOURCE : " & Err.Source
End Function


Scusa, a me sembra normale che tu ottenga solo un campo, dato che stai
selezionando un solo campo (ovvero il campo nep)...
Se vuoi averli separati devi selectarli uno alla volta, ovvero
MLset.Open "SELECT name, email, pwd AS nep FROM admin." & _
     m_strUser, conn, adOpenDynamic, adLockOptimistic
Ciaotutti,
Alessandro


Piccolo errore... Questa e' la select corretta:
MLset.Open "SELECT name, email, pwd FROM admin." & _
      m_strUser, conn, adOpenDynamic, adLockOptimistic
Tra parentesi, non capisco quel & m_strUser...
Altrimenti ti selectava il campo pwd col nome di nep, il che non ti avrebbe
dato problemi col getrows ma avrebbe potuto confonderti le idee in seguito.
Ciaotutti,
 Alessandro

       End If
<CUT>
...
Non è che il problema è dovuto al fatto che tenti di passare l'array al
parametro di ingresso invece che alla funzione che quindi dovresti
dichiarare come Variant?
GetAllMembers=MLset.GetRows()
Secondo me i parametro in ingresso è inutile in questo caso, o lo potresti
usare per la stringa di connessione
--
Ciao
VB
*<:-)

 ha scritto nel messaggio
news:91t83j$4u3o$1...@stargate1.inet.it...

Il campo nep era solo una prova, visto che non mi prendeva tutti i campi del
recordset li ho riuniti tutti all'interno di uno unico con il nome di nep,
poi una routine di parsering li processava e riottenevo tutto quello che mi
serviva...
Comunque ancora non funziona...
Possibile che il problema sti nel fatto che non è un eseguibile ma una dll
che andrà nel MTS?
E poi comunque all'interno del variant, (ho fatto anche la prova che mi ha
consigliato Valter) mi trovo solo il primo record.
Mi viene il dubbio, ma per trovare l'indice massimo del variant contenente
il risultato del GetRows va bene Ubound(variant,1)??
Il problema è che non posso debuggare la dll, essendo complicato per via del
MTS....
Comunque grazie mille per l'aiuto, spero di trovare qual'è l'inghippo
(altrimenti trovo un altro modo per fare la stessa cosa es. scorrere tutto
il record e metterlo riga per riga in un array.....)
Grazie di nuovo.
P.S. BUON NATALE A TUTTI
--
MARCO VERGAINI
m...@darwin.it

 MTS....
Basterebbe leggere l' help :-)
Buon Natale
Aldo