Newsgroup: it.comp.lang.visual-basic
Titolo: [?] - MySQL e capricci varii (non vede i dati nelle tabelle)

Ciao a tutti,
    vi propongo una domanda insolita e anche a me che vi scrivo sembra una
bestialità.
    Sto cercando di abbandonare Access per migrare su MySQL (che mi sembra
potente e soprattutto free) solo che mi succede una cosa stranissima, non
tutte le tabelle del database che ho creato sono visibili da VB6 SP3.
    In pratica ho messo circa 7000 record in una tabella, e se da visual
basic eseguo il seguente codice
***************************************************************
    dim DB as adodb.connection
    dim RS as variant
    dim SSQL as string
    set DB = CreateObject("adodb.connection"): DB.open "Mia connessione
ODBC"
    SSQL = "select * from MiaTabella"
    set RS = DB.execute(SSQL)
    do while not rs.eof
        'qualcosa da fare
        rs.movenext
    loop
    RS.close: set RS = nothing
    Db.close: set DB = nothing
***************************************************************
    il programma non entra mai nel ciclo DO WHILE, ma se prendo la stessa
query e la metto nel FRONT di MySQL il tutto funge correttamente.
    Ho già postato una domanda del genere, ma non ho avuto nessuna risposta.
    Possibile che nessuno mi sappia dire dove sbaglio, e/o se non sbaglio io
come pezzottare questo tipo di problema ?
    1000 grazie a chi sappia darmi una mano.
Ciao, Rocco

     loop
endif


 ha scritto nel messaggio
news:REpK7.3731$zO1.1...@news2.tin.it...


 ha scritto
|     Ci proverò durante la pausa pranzo (il progetto è a casa), ma penso che
| non cambi nulla, eseguendo il debug RS è sempre EOF, quindi il controllo
| dovrebbe comunque non entrare le ciclo.
|     Hai altre idee ?
Il fatto che il recorset sia posizionato su EOF NON significa che sia vuoto!
Non a caso ho aggiunto il test per verificare che sia effettivamente vuoto:
    If Not RS.BOF And Not RS.EOF Then    ' tests if recordset is empty
Inoltre con la
    RS.MoveFirst
se il risultato della query fornisce dei record ti posizioni sul primo di questi.
Pensavo fossero chiare (nonstante l'errore di battitura).|

    Scusami, ma forse sono stato poco chiaro io.
    Io ho fatto il debug di tutta la variabile RS e non solo di RS.EOF. Nei
molti valori che il debug mi restituisce non esiste nessun record
restituito.
    Comunque sia, alle 15:10 ti farò sapere se è andato tutto a buon fine o
meno.
In ogni caso grazie per l'attenzione che mi stai dimostrando.
    Ciao, Rocco


 ha scritto nel messaggio
news:9td716$f7e$1...@fe1.cs.interbusiness.it...


 ha scritto
|     Scusami, ma forse sono stato poco chiaro io.
|     Io ho fatto il debug di tutta la variabile RS e non solo di RS.EOF. Nei
| molti valori che il debug mi restituisce non esiste nessun record
| restituito.
|     Comunque sia, alle 15:10 ti farò sapere se è andato tutto a buon fine o
| meno.
|
| In ogni caso grazie per l'attenzione che mi stai dimostrando.
|
|     Ciao, Rocco
Per quel poco che posso fare... :-))))

 Cambia i campi bigint con int e vedrai funziona tutto.
    Io ho un campo ID dichiarato come BIGINT, il resto dei campi numerici
sono di tipo SMALINT perchč avranno sempre e comunque valori piccoli.
    Comunque faccio una prova e ti faccio sapere.
    Ciao, Rocco

Era come diceva Robertino2000,
    Visual Basic non riesce a vedere/leggere campi BIGINT di  MySQL.
    Mi è bastato trasformare il campo in INT e tutto si è risolto
felicemente.
    Ciao a tutti e grazie 1000, mi avete risolto un dubbio atroce.
Ciao, Rocco

 ha scritto nel messaggio
news:9tdnlk$q5s$1...@fe1.cs.interbusiness.it...
