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

    novizio alle prese con una tabella

    allora, in un libro, ho trovata questa procedura per popolare una tabella:
    codice:
    Sub FormatTable
    
          Dim objField
    
          If Not objRS.EOF Then
             Response.Write("<table border=2 cellspacing=0>")
             Do While Not objRS.EOF
                Response.Write("<tr>")
                For Each objField In objRS.Fields
                   Response.Write("<td>" & objField.Value & "</td>")
                Next
                Response.Write("</tr>")
                objRS.MoveNext
             Loop
             Response.Write("</table>")
          Else
             Response.Write("No Records!")
          End If
       End Sub
       Sub Page_Unload()
          objConn.Close
       End Sub
    questa procedura, prende tutti i campi della tabella, io vorrei che prendesse solo i campi che voglio io credo che devo cambiare qualcosa in questa parte:
    codice:
    Response.Write("<td>" & objField.Value & "</td>")
    mettendo al posto di objField.value, il nome del campo, ma n on ci riesco !!!
    in ASP c'ero riuscito
    Qualcuno sa aiutarmi ?
    Tu sei uno schiavo Neo!
    Come tutti gli altri sei nato in catene,
    sei nato in una prigione che non ha sbarre, che non ha mura, che non ha odore,una prigione per la tua mente!".
    Morpheus

  2. #2
    Utente di HTML.it L'avatar di Alendar
    Registrato dal
    May 2002
    Messaggi
    169
    il costrutto For Each cicla su tutti i campi(colonne) della tabella dei risultati.

    Per risolvere il tuo problema puoi:

    -soluzione migliore: limitare i campi ottenuti nel tuo oggetto objRS (modificando la query che lo produce, tipo : SELECT campo1,campo2 FROM... invece di SELECT *)

    -modificare il ciclo foreach usando una condizione (if objField.Name==campocheVoglio then Response.Write...)

    -non usare un ciclo ma scrivere direttamente le istruzioni di scrittura una per una (Response.Write(objRS.Fields[x].Value), Response.Write(objRS.Fields[y].Value), ecc.)

    Ho scritto il codice un po' a caso però spero di essere stato abbastanza claro.

  3. #3
    prima di tutto grazie :quote:
    poi ti volevo chiedere una spiegazione sull'ultimo esempio che hai postato.

    se io voglio il valore di un singolo campo, devo mettere questo :
    codice:
    Response.Write(objRS.Fields[y].Value)
    dove "y" sta per nome campo, giusto ?

    allora, xchè mi da questo errore ?
    codice:
    BC32017: Prevista una virgola, ")" o una continuazione di espressione valida.
    HELP
    :master:
    Tu sei uno schiavo Neo!
    Come tutti gli altri sei nato in catene,
    sei nato in una prigione che non ha sbarre, che non ha mura, che non ha odore,una prigione per la tua mente!".
    Morpheus

  4. #4
    Utente di HTML.it L'avatar di Alendar
    Registrato dal
    May 2002
    Messaggi
    169
    no, fields è un intero... è l'indice del campo

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.