Visualizzazione dei risultati da 1 a 5 su 5

Discussione: array database

  1. #1

    array database

    ho un problema strano

    ho costruito un array da db in questo modo:

    dim id_cliente()
    dim nome1()
    dim indirizzo()
    dim citta()
    dim telefono_fisso()
    dim telefono_cellulare()
    dim fax()
    dim mail()
    i=0

    do while not rs.eof

    i=1 +i
    redim preserve id_cliente(i)
    id_cliente(i)=rs("id_cliente")
    redim nome1(i)
    nome1(i)=rs("nome_ragionesociale_cliente")
    redim preserve indirizzo(i)
    indirizzo(i)=rs("indirizzo_cliente")
    redim preserve citta(i)
    citta(i)=rs("citta_cliente")
    redim preserve telefono_fisso(i)
    telefono_fisso(i)=rs("telefono_fisso_cliente")
    redim preserve telefono_cellulare(i)
    telefono_cellulare(i)=rs("telefono_cellulare_clien te")
    redim preserve fax(i)
    fax(i)=rs("fax_cliente")
    redim preserve mail(i)
    mail(i)=rs("mail_cliente")
    rs.Movenext
    loop


    per poi usarlo in una tabella così:

    <%for i=1 to uBound(id_cliente)%>
    <tr bgcolor="#0099CC">
    <td>[b]<font color="#FFFFFF" size="2" face="Arial, Helvetica, sans-serif">
    <input type="radio" name="selezionato" value="<%=id_cliente(i)%>"> </td>
    <td bgcolor="#0099CC"><font color="#FFFFFF" size="2" face="Arial, Helvetica, sans-serif"><%=nome1(i)% ></font></td>

    <td><font color="#FFFFFF" size="2" face="Arial, Helvetica, sans-serif"><%=indirizzo(i)%>
    </font>
    </td>
    <td><font color="#FFFFFF" size="2" face="Arial, Helvetica, sans-serif"><%=citta(i)%></font></td>
    <td><font color="#FFFFFF" size="2" face="Arial, Helvetica, sans-serif"><%=telefono_fisso(i)%></font></td>
    <td><font size="2" face="Arial, Helvetica, sans-serif"><%=telefono_cellulare(i)%></font></td>
    <td><font size="2" face="Arial, Helvetica, sans-serif"><%=fax(i)%></font></td>
    <td><font size="2" face="Arial, Helvetica, sans-serif"><%=mail(i)%></font></td>
    </tr>
    <% next %>

    il tutto funziona tranne per il campo nome1 (in neretto)che si stampa a video solo nel suo indice ubound.
    in pratica se ho 3 risultati stampo a video solo il terzo.... cosa che non accade per gli altri campi della tabella ma dove ho sbagliato? i campi del db richiamati in recordset provengono anche dalla stessa tabella db ed in essa il campo nome_ragionesociale_cliente è sempre valorizzato
    Ci sedemmo dalla parte del torto visto che tutti gli altri posti erano occupati."
    [Bertolt Brecht]

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    A parte il fatto che se usassi la rs.GetRows() otterresti immediatamente un array bidimensionale senza bisogno di valorizzare e "preservare" tutti quegli array ad ogni ciclo...
    Ad ogni modo prova a farti stampare il valore dell'array ogni volta che ci aggiungi un elemento:

    codice:
    ...
    ...
    nome1(i)=rs("nome_ragionesociale_cliente")
    response.write(nome1(i))
    ...
    ...
    Roby

  3. #3
    scusa roby,per favore mi spieghi come devo usare rs.GetRows() ecome utilizzarlo nella mia tabella
    Ci sedemmo dalla parte del torto visto che tutti gli altri posti erano occupati."
    [Bertolt Brecht]

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    codice:
    sql = "..."
    set rs = objConn.Execute(sql)
    if not rs.EOF then
    arr = rs.GetRows()
    else
    arr = null
    end if
    set rs = nothing
    
    if IsArray(arr) then
    for xEl = 0 to Ublund(arr,2)
    response.write(arr(0,xEl) &"
    ")
    next
    end if
    Giusto un esempio...

    Roby

  5. #5
    sei chiarissimo come al solito.....
    grazie 1000
    Ci sedemmo dalla parte del torto visto che tutti gli altri posti erano occupati."
    [Bertolt Brecht]

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