Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    20

    Chiamare una Sub in ASP

    Non mi è chiara una cosa. Ho fatto il codice in questo modo...

    Sub Pippo(id)

    //Codice per inserire nel database l'utente id preso da un altro db

    End Sub


    Codice Principale

    'Controllo con una query se nel mio db esiste l'utente ID

    IF NON ESISTE THEN
    CALL Pippo(ID)
    END IF

    'Faccio una select nel mio DB ***

    Il problema è semplice. Nel momento segnato da *** non trovo i dati nel mio database. La chiamata alla Sub Pippo è asincrona? Non posso fare in modo che fino a che non ha finito non vado avanti? La Sub funziona perchè se finita tutta la pagina controllo il DB l'utente è stato correttamente copiato.

    Grazie a chi mi aiuta.

  2. #2
    non è che abbia proprio capito benissimo... puoi rispiegare? grazie

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    20
    La Sub mi copia l'utente da un db ad un altro e funziona correttamente.


    In sequenza:

    Controllo se l'utente esiste già nel mio database principale

    Se non cè lo inserisco da un db secondario

    Carico i dati dell'utente dal mio db principale



    In pratica il sito mi chiama la SUB ma sembra andare avanti asincronamente senza attendere la fine della SUB e quando carico i dati dell'utente dal mio DB principale non sono ancora inseriti.

  4. #4
    da quello che scrivi (Se non cè lo inserisco da un db secondario) come puoi aspettarti che poi te lo ritrovi nel db principale?

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    20
    Capisco che mi spiego malissimo. :P

    La Sub fa proprio questo. Gli passo un ID e mi copia l'utente dal DB secondario dove ho la certezza del 100% che l'id esista e me lo copia in quello principale.

    Ho anche la certezza che la SUB funziona perchè a fine caricamento pagina mi trovo l'utente correttamente nel db principale. Il problema è che immediatamente dopo la SUB l'utente ancora non cè. E' come se il commit lo facesse dopo...

    P.S. E' un db Access..

  6. #6
    teo, allora! dove lo inserisci 'sto record? nel secondario o nel principale? fa' un esempio concreto, posta il codice vero, spiegati meglio. insomma, aiutaci ad aiutarti

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    20
    Riprovo a scrivere il codice. Se lo incollo è un casino.

    'rs punta al DB principale

    sSQL = "SELECT * FROM UTENTE WHERE ID = " & ID(I)
    rs.Open sSQL,,,&H0002
    if rs.EOF then 'Copio l'utente dal Divin
    CALL CreaUtente(id(i))
    end if
    rs.Close

    sSQL = "SELECT * FROM UTENTE WHERE ID = " & ID(I)
    rs.Open sSQL,,,&H0002

    'Mi carica 0 righe!!!


    SUB CreaUtente(id)

    sSQL = "SELECT * FROM UTENTE WHERE ID = " id
    rsSecondario.Open sSQL,,,&H0002

    sSQL = "UTENTE"
    rs.Open sSQL,,,&H0002
    rs("NOME") = rsSecondario("NOME")
    rs("ID") = rsSecondario("ID")
    rs.update
    rs.Close

    End Sub



    Spero ora sia chiaro.

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    20
    Aggiungo una cosa.

    Se il codice della SUB lo copio all'interno dell'IF funziona tutto correttamente. Ma non voglio visto che quella SUB la uso in tanti punti..

  9. #9
    ID che campo è? AutoIncrementante?

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    20
    No, numerico.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.