Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2011
    Messaggi
    4

    creazione set di variabili

    Saluti ragazzi,

    ho un blackout da sottoutilizzo di VBScript in una vecchia pagina ASP ...
    devo costruire un set di variabili che mi riporti il nome_campo=valore_campo di un recordset, valori che devo utilizzare successivamente. La soluzione più semplice mi sembrava una cosa simile

    <% ......

    Dim nome_campo, valore_campo
    for each x in rs1.Fields
    nome_campo=x.name
    valore_campo=x.value

    $nome_campo=valore_campo

    next

    ... %>

    La sintassi per sciogliere il nome della variabile che contiene il valore nome_campo ovviamente non funziona .... ma non mi ricordo assolutamente la versione corretta!
    Consigli di qualsiasi tipo?

    Grazie

  2. #2
    Execute(nome_campo&"="&valore_campo)

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2011
    Messaggi
    4
    Provato ma senza successo. Forse sbaglio qualcosa.
    Ho provato usando eval(nome_campo)=valore_campo ma neanche così va.
    Sto cercando un'altra soluzione possibile ...
    Altre idee benvenute

  4. #4
    codice:
    for i=0 to rs.fields.count-1
    	Execute(rs.fields(i).name&"=rs.fields(i).value")
    next

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2011
    Messaggi
    4
    ho provato così (per non dover cambiare tutto il codice e la pagina che è un po' laboriosa):

    for each x in rs1.Fields
    Execute(rs.fields(x).name&"=rs.fields(x).value")
    response.write(ditta) ''per vedere se funziona
    next

    Dovrebbe essere equivalente. Non ho però risultati.
    provo ancora

  6. #6
    se usi for each il codice diventa:
    codice:
    for each x in rs1.Fields
        Execute(x.name&"=x.value")'x contiene già l'oggetto field
        response.write(ditta) ''per vedere se funziona
    next
    E' possibile usare questo sistema anche per leggere in blocco tutti i dati post (o get)
    codice:
    For Each Item In Request.Form
        strTemp = Item & "= Request.Form(""" & Item & """)"
        Execute(strTemp)
    Next
    che equivale a scivere:
    nome=Request.Form("nome")
    cognome=Request.Form("cognome")
    sesso=Request.Form("sesso")
    ecc.

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2011
    Messaggi
    4

    Soluzioni possibili

    Grazie! Quello che mi serviva.
    Ho trovato anche una soluzione alternativa, un po' diversa, che mi permette di aggregare tutte le variabili tramite l'oggetto Dictionary:

    Dim d,y
    Set d=Server.CreateObject("Scripting.Dictionary")
    y=0
    for each x in rs1.Fields
    d.Add rs1.fields(y).name, x
    y=y+1
    next
    response.write(d.item("ditta")) ''per vedere se funziona

    Forse mi conviene usare questa perchè devo passare i dati con un Post a un'altra pagina.
    Grazie mille ancora e buon Natale!!!

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.