Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Chiusura RecordSet e validità variabili

    Dopo aver chiuso un RecordSet una variabile in cui ho copiato un valore di tale recordset non è più valida....

    in questo modo:

    var id_tipo = OBJrs("ID_Tipo");
    Response.Write(id_tipo);
    OBJrs.Close();

    la variabile id_tipo viene visualizzata correttamente dalla Response.Write mentre se chiudo il RecordSet prima della visualizzazione:

    var id_tipo = OBJrs("ID_Tipo");
    OBJrs.Close();
    Response.Write(id_tipo);

    l'errore che ne deriva, in corrispondenza della riga della Response.Write, è che l'oggetto non è più valido...

    come mai ?

    Grazie,
    Enrico.

  2. #2
    La variabile in cui memorizzi il dato contenuto nel recordset è in realtà un puntatore, che "punta" (appunto) alla locazione di memoria che contiene il dato vero e proprio, il recordset.........se chiudi quest'ultimo, ecco che la tua variabile (puntatore) punta a un oggetto inaccessibile.
    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  3. #3
    sei sicuro ???

    Io quando faccio metto il valore di un recordset in una variabile e poi chiudo il recordset non ho di questi problemi , la variabile contiene sempre quel valore . . .

    :master:

  4. #4
    A dire la verità l'ho sparata ma non ne sono sicuro
    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  5. #5
    Se il motivo è quello spiegato da teorema55 è tutto chiaro, non sapevo del comportamento come puntatore...
    ho risolto chiudendo il recordset una volta finito di usare le variabili che puntano ad esso !
    Grazie,
    Enrico.

  6. #6

    Re: Chiusura RecordSet e validità variabili

    prova cosi :

    dim id_tipo
    id_tipo = rs("id_tipo")
    rs.close
    response.write id_tipo

    Ho notato alcune cose un po ambigue in quello che hai scritto . . .

    Per prima cosa i ";" non ci vogliono . ..

    Poi io ho sempre usato il "dim" per dichiarar variabili , e il var non mi sembra sintassi delle asp

    Cmq non ne son sicuro al 100% finchenon vedo con i miei occhi


  7. #7
    Io utilizzo ASP (lato server) e Javascript (lato client).
    Di conseguenza non posso usare "dim variabile" in quanto mi sembra sia la sintassi nel caso il linguaggio di scripting sia VBScript...

    Per uno inesperto come me la cosa può sembrare strana... ma l'ho dedotta in quanto funziona...

    Enrico.

  8. #8
    Occhio a non mischiare le carte, io ho provato il tuo codice, Enrico, in una pagina VBScript, e non funza: mi sorprenderebbe il contrario, perchè la sintassi non va bene.

    Quanto all'esistenza della variabile invece, devo rimangiarmi quanto detto: memorizzando il contenuto del recordset in un'altra variabile, il contenuto di questa sopravvive alla chiusura del recordset....

    Amen.

    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  9. #9
    Non può funzionare,
    la sintassi che uso è di Javascript (anche lato server, che poi è la parte che ci interessa).

    Il problema svanisce se si assegna la var in questo modo:

    codice:
    id_tipo = parseInt(String(OBJrs.fields.item("ID_Tipo")),10);
    Ciao a tutti e grazie comunque!
    Enrico.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.