Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    323

    [java] contare record restituiti.

    Ciao,
    sono alle prime armi con java. Mi sono connesso ad un database, ho fatto una query (funziona tutto)e vorrei conoscere il numero dei record restituiti. Come si fa?

    Grazie, è un pomeriggio che ci provo...
    someone told me
    love would all save us
    but how can that be
    look what love gave us

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,305
    Credo che l'unico modo sia quello di scorrere tutto il RecordSet e contare quante righe ci sono:
    codice:
    RecordSet rs = statement.executeQuery(...);
    int i = 0;
    while (rs.next()) i++;
    In questo modo, però, potresti perdere tutti i dati (nel senso che potresti non essere in grado di tornare al primo record per effettuare una seconda scansione ed avere i dati utili). Per questo, consiglio di memorizzare man mano i dati relativi al record corrente in una struttura dati opportuna (ad esempio un array di stringhe), utilizzando un Vector per contenerle tutte:
    codice:
    String [] mioRecord;
    Vector recordSet = new Vector();
    RecordSet rs = statement.executeQuery(...);
    while (rs.nect()) {
       mioRecord  = new String[num_campi];
       for (i=0; i<mioRecord.length; i++)
          mioRecord[i] = rs.getString(i+1);
       recordSet.add( mioRecord );
    }
    Il numero di record, ora, ce l'hai utilizzando il metodo size() della classe Vector:
    codice:
    int numRecord = recordSet.size();
    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    323
    Ho risolto memorizzando il numero di righe in una variabile come hai fatto tu ma poi ho fatto tornare il recordset al primo elemento con .first() . Per utilizzare quella funzione la connessione deve aprire un recordset TYPE_SCROLL_INSENSITIVE.

    Funziona e ci sono arrivato a senso.

    Se interessa posto il codice
    someone told me
    love would all save us
    but how can that be
    look what love gave us

  4. #4
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107
    Ciao; lo steso risultato, se non erro, potresti averlo utilizzando il ResultSetMetaData
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

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