Visualizzazione dei risultati da 1 a 6 su 6

Discussione: JSP + database

  1. #1

    JSP + database

    Salve raga,
    quando effettuo una query di cancellazione posso sapere se è stato trovato almeno un campo?

    esempio:
    DELETE FROM nome_tabella WHERE condizione

    tutti i record che rispettano la "condizione" vengono cancellati, ma se nessuno di essi rispetta la cancellazione?

    posso sapere se dopo l'esecuzione della query almeno un campo è stato cancellato?

    una cosa del tipo...
    recordset = statement.executeUpdate();
    e
    recordset contiene il numero di record cancellati!!!

    Possibile?

    L'alternativa sarebbe fare prima un select per sapere quanti campi ci sono che rispettano la condizione e poi cancellare, ma cosi' effettuo due query, una secondo me evitabile ma non so come

    grazie

  2. #2
    Utente di HTML.it L'avatar di Mods
    Registrato dal
    Jun 2004
    Messaggi
    302
    ti sei quasi risposto da solo

    La <statement>.executeUpdate(String sql) restituisce un int indicante quante righe sono state interessate all'update. quindi:

    codice:
        int rows;
        rows=statement.executeUpdate("DELETE FROM tabella WHERE condizione");
        if(rows==0) {
              //nessuna riga è stata aggiornata
         }
    Ci sono 10 tipi di persone al mondo: quelli che conoscono il codice binario, e quelli che non lo conoscono!

  3. #3

    un'altra

    approfitto della tua disponibilità:

    ma una cosa del genere si può fare anche con una select?

    esempio:
    resultset = statement.executeQuery(); --> mi permette di eseguire la query e inglobare il risultato in resultset
    resultset.next(); --> mi permette di scorrere

    esiste qualcosa che mi permetta di sapere a priori quanti record ha trovato la select?

  4. #4
    Utente di HTML.it L'avatar di Mods
    Registrato dal
    Jun 2004
    Messaggi
    302
    non conosco un metodo specifico del ResultSet che restituisca il numero di righe che sono state trovate.
    Per fare un ciclo che interessi tutte le righe faccio così:

    codice:
    while(rs.next())
    {
       //quel che devi fare con la singola riga.
    }
    volendo per contare le righe (anche se si va un po' d'ignoranza) si potrebbe fare così:
    codice:
    int i=0;
    while(rs.next())
       i++;
    Cmq devo guardare bene la documentazione perché mi sembra strano che non ci sia metodo che restituisca il numero di righe del RS. Se lo trovo ti faccio sapere
    Ci sono 10 tipi di persone al mondo: quelli che conoscono il codice binario, e quelli che non lo conoscono!

  5. #5
    Utente di HTML.it L'avatar di Mods
    Registrato dal
    Jun 2004
    Messaggi
    302
    ok, penso d'aver trovato:

    int <ResultSet>.getFetchSize()
    Ci sono 10 tipi di persone al mondo: quelli che conoscono il codice binario, e quelli che non lo conoscono!

  6. #6

    grazie mille

    grazie

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.