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

    query parametrica con clausola where dinamica

    Salve ragazzi,
    devo fare una query a db MySql tramite java.

    Nessun problema se non fosse per il fatto che la query nella clausola where, posso avere un numero non definito di condizioni.

    In praticolare il metodo che richiamo ha in input una lista di codici. La query è tipo questa

    Select * from t1 where codice= 1 or codice = 2.....

    ora la condizioni codice = 1 or codice =2 or .... dipendono da quanti elementi sono presenti nella lsita, come posso fare???

    Io avevo pensato ad una roba del tipo:

    mi creo una stringa cicliando la lista e poi utilizzo le query parametriche per assegnarli la condizione ma non so se c'è un metodo ottimale per far ciò.

    Attendo vostre notizie

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157

    Re: query parametrica con clausola where dinamica

    questa cosa si fa in più passi

    1. creo parte principale

    codice:
    String query = "SELECT * FROM TABELLA";
    2. creo clausula where

    codice:
    public String createWhereClause(List myList) {
    	StringBuffer buff = new StringBuffer();
    	for (int index = 0; index < myList.size(); index++) {
    		if (buff.length() > 0) {
    			buff.append(" OR "); // o AND fai te
    		}
    		buff.append(CONDITION);
    	}
    	return buff.toString();
    }
    3. faccio l'append

    codice:
    String where = createWhereClause(myList); 
    if (where.length > 0){
      query = query + " WHERE " + where; 
    }
    4. usa la query
    RTFM Read That F*** Manual!!!

  3. #3
    thanks, funziona....

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.