Newsgroup: it.comp.lang.visual-basic
Titolo: [?] ado e connessione mysql via myodbc non mantiene conn

Sto lavorando con ado e connessione mysql 4 via myodbc 3.51 ho notato che se
imposto una variabile adocon pubblica in modulo e la apro nel form load la
connessione al db non viene mantenuta quando richiamo una mia funzione che
risiede nello stesso form. Avete notizie di questo comportamento ? (con odbc
e access non succede)
Dani


Mmmmhhhh.
Posta del codice.
Ciao
Alberto

 Posta del codice.
ma semplicemente imposto una variabile pubblica Public in un modulo adocon
apro la connessione nel form load del form principale con la stringa
DSN=mysql;uid=uid;pass=pass; verifico la connessione che risulta aperta
passo la variabile adocon all'apertura del recordset in un form secondario
adorec.open "mia select",adocon ed ecco che la connessione si perde boh ?

 connessione si perde boh ?
Prova (chissà...) a fare
if Not CBool(AdoCon.State And AdStateOpen) then
    msgbox "Connessione chiusa"
    Exit function
end if
Set AdoRec.ActiveConnection=AdoCon
AdoRec.Open "mia select"
Ciao
Alberto


No guarda non gliene cala proprio un piffero non ne vuole sapere eppure su
altri db a sempre funzionato aprire la conn una sola volta all'avvio
dell'app e chiuderla alla fine boh di nuovo.
Dani


Nel senso che appare il msgbox che ho messo?
Oppure fallisce il Set?
Oppure non apre il recordset?
Ciao
Alberto
PS: su, un piccolo sforzo, prova a dare qualche indizio...

 Oppure non apre il recordset?
il set lo fallisce continua a non aprire il recordset e non esce il msgbox
(ho fatto le modifiche del caso naturalmente .....)

 msgbox (ho fatto le modifiche del caso naturalmente .....)
Beh, che fallisca il Set conferma che la connessione non č valida.
Non mi spiego perň perchč non esca il msgbox.
Metti un debug.print Cstr(AdoCon.State) prima dell'If, e posta ciň che viene
stampato in finestra immediata.
Posta anche "Mia select", non vorrei che il problema fosse lě...
Ciao
Alberto


la select è corretta infatti se apro la connessione nello stessa routine
viene eseguita correttamente lo stato risulta adstateclose non riesco
proprio a capire ho ricontrollato tutte le variabili i set e l'apertura
della connessione e funziona solo se lascio la stessa nella routine se la
imposto come variabile globale (in modulo come public) la variabile a
validità globale in quanto non mi segnala variabile non impostata ma lo conn
è chiusa.
dani

 lo stato risulta adstateclose
????????
Allora perchè non esce il msgbox?
Sei sicuro?
Alberto

 Alberto
si sono sicuro anomalie pc o s.o.? ma guarda a stò punto chiudo e reimposto
la connessione ogni volta e bon tanto ci lavoro in locale è per me e per
adesso mi accontento grazie cmq
Dani

adesso mi accontento grazie cmq
Fai forse casino con lo scope delle variabili? 
Usi Option Explicit oppure no?
-- 
ciao, hal

 ciao, hal

> Fai forse casino con lo scope delle variabili?
Ma esattamente che errore ti dà quando fallisce il set?
Ciao
Alberto


eccolo:
connessione chiusa o non valida in questo contesto. Impossibile utilizzarla
per eseguire l'operazione codice 91
Dani


A questo punto qualcosa non quadra.
Col codice che ti ho postato io, DEVE uscire il msgbox.
Se non esce, siamo di fronte ad un bug ai limiti dell'incredibile.
Riprova a mettere il codice che avevo postato e sappimi dire.
Ciao
Alberto

 Ciao
Mah ! sarebbe il caso provare su un'altra macchina non vorrei dipendesse da
qualche bizzarra impostazione del driver myodbc anche se sembrerebbe un
assurdo ( o no?) in ogni caso la variabile č inutilizzabile. Preferisco
rimandare a prove fatte su un'altro pc non si sa mai. Se qualcuno nel
frattempo avesse modo di provare sarebbe utile sapere il risultato io adesso
non posso toccare la macchina di sviluppo ho dei lavori urgenti da
terminare.
Per il momento grazie della collaborazione.
Dani