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

    [JAVA] Query multiple in un metodo

    Buongiorno,

    devo implementare un metodo che al suo interno esegua più query e immagazzini il risultato di tutte le query ordinatamente in un array di String che il petodo stesso restituisce una volta terminato.

    Ora, il ResultSet di una query può essere "riscritto"???

    Posso cioè scrivere qualcosa del genere:


    String[] risultati = new String[15]; //ho 15 query da eseguire
    Statement statement = connection.createStatement();
    String query_1 = new String ("select * from......");
    ResultSet rs = statement.executeQuery(query_1);
    risultati[0] = rs.toString();

    String query_2 = new String ("select * from......");
    rs = statement.executeQuery(query_2);
    risultati[1] = rs.toString();


    Oppure c'è un modo molto più elegante per trattare con riguardo il resultSet?

  2. #2
    Se può servire, aggiungo che tutti i risultati delle query hanno una sola colonna e una sola riga.

  3. #3
    Allora, il resultset ovviamente può essere utilizzato per eseguire quante query vuoi... Quello che sbagli è il modo di prelevare i risultati. Il resultSet è come se fosse un "contenitore" di risultato, pertanto è necessario scorrerlo e prelevare i singoli dati. Poi anzichè creare 15 diverse stringhe per le query, puoi utilizzare un array che le contiene:


    Codice PHP:
    String[] arrayQuery = new String[]{"select * from tabella1...","select * from tabella2...", ...};
    String[] risultati = new String[arrayQuery.length]; //se sei sicuro di avere un solo risultato per query
    Statement statement connection.createStatement();
    ResultSet rs null;

    for(
    int i=0i<arrayQuery.length;i++){
         
    rs =  statement.executeQuery(arrayQuery[i]);
         
    //se la query restituisce un valore lo prelevo con col metodo getString
         
    if(rs.next()){  //il next() mi sposta sul primo risultato della query
              
    risultati[i] = rs.getString("nomeColonna");
         }
         
    rs.close(); //chiudo il resultSet


    Al mio segnale... scatenate l'inferno!

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.