Italian ResultSet1.NextRow Primo record?

Discussion in 'Italian Forum' started by Gigi59, May 13, 2015.

  1. Gigi59

    Gigi59 Member Licensed User

    Ciao a tutti,
    ho iniziato da poco con B4i, e incontro qualche problema con le liste
    per prima cosa con ResultSet1.nextRow non vedo il primo record ma inizia dal secondo
    poi la lista funziona (senza il primo record) solo la prima volta quando l'aggiorno si sballa il Layout.
    Qualche consiglio? :) Grazie per l'aiuto
    Saluti
     
  2. sirjo66

    sirjo66 Well-Known Member Licensed User

    Mi sembra che "nextRow" significa "vai al prossimo record", per cui è normale che si posizioni sul secondo.

    Una volta che hai il risultato leggi il primo record, poi fai un nextRow e potrai leggere il secondo
     
  3. Gigi59

    Gigi59 Member Licensed User

    Innanzi tutto grazie per la risposta!
    si effettivamente mi sembra la soluzione migliore però
    ho visto diversi esempi ma nessuno legge il primo risultato e poi fa nextrow, come è possibile non si accorgono che facendo così salta il primo record?
     
  4. Gigi59

    Gigi59 Member Licensed User

    se non chiedo troppo:rolleyes:

    potresti indicarmi un esempio?
    Ciao
     
  5. LucaMs

    LucaMs Expert Licensed User

    Non ho b4i, ma guarda se questo si adatta:

    Code:
    Dim rs As ResultSet = sql1.ExecQuery("SELECT ...")
    Do While rs.NextRow
       
    Log(rs.GetString2(0))
    Loop
    rs.Close
     
  6. Gigi59

    Gigi59 Member Licensed User

    grazie mille ti farò sapere:)
     
  7. Gigi59

    Gigi59 Member Licensed User

    Ciao Luca

    in questo modo è corretto altrimenti come uso
    Log(rs.GetString2(0)) in questo esempio?

    Dim rs As ResultSet = SQL.Exec...
    If rs.NextRow=true then
    dim id as int = rs.GetString("ID") ' FIRST RECORD
    End If

    DoWhile rs.NextRow
    dim id as int = rs.GetString("ID") ' FROM SECOND RECORD TO END

    Loop
    rs.Close

    Grazie per la tua pazienza:)
     
  8. LucaMs

    LucaMs Expert Licensed User

    Code:
    Dim ID1, ID2 As Int
    Dim IDLetto As Boolean = False

    DoWhile rs.NextRow
       
    If IDLetto Then
          ID2 = rs.GetInt(
    "ID"' FROM SECOND RECORD TO END
       Else
          ID1 = rs.GetID(
    "ID"' FIRST RECORD
          IDLetto = True
       
    End If
    Loop

    rs.Close
    Probabilmente puoi fare in modi migliori, ma al volo mi è venuto questo :)
     
Loading...
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice