Ciao a tutti, ho un problema con una query :

ho 6 ComboBox con varie scelte corrispondenti a 6 tabelle di un database che contiene 9 tabelle.
In sostanza la query si basa sulle scelte fatte nei comboBox, compreso campo vuoto, ovvero estrai tutto.
Funziona con tutti i combo vuoti, e fino a due scelte e 4 vuoti. Appena faccio 3 scelte non restituisce più nulla ( con qualunque combinazione provi). Sembra come se la quest non funzioni con + di 2 scelte.

codice:
            // estraggo le scelte dai combo
            String sp =(String) ComboSp.getSelectedItem();
            String var =(String) ComboVar.getSelectedItem();
            String cal = (String) ComboCal.getSelectedItem();
            String pre = (String) ComboPre.getSelectedItem();
            String or = (String) ComboOr.getSelectedItem();
            String conf = (String) ComboConf.getSelectedItem();

                if (sp.equals("")) {
                sp="%%";
                }
             if (var.equals("")) {
                 var="%%";
                }
             if (cal.equals("")) {
//                 if (cal==null) {
                cal="%%";
                }
             if (pre.equals("")) {
                pre="%%";
                }
             if ( or.equals("")) {
                 or="%%";
                }
                 if (conf.equals("")) {
                conf="%%";
                }

    Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
                String url =    "jdbc:derby:Db;create=true;user=***;password=***";
                Connection conn = DriverManager.getConnection(url);
                java.sql.Statement exe = conn.createStatement();

String QueryString = "SELECT *  FROM APP.COD  WHERE SP LIKE'" + sp+ "' AND VAR LIKE'"+var+ "' AND CAL LIKE'"+cal+"' AND PRE LIKE'"+pre+"' AND ORIGINE LIKE'"+or+"' AND CONF LIKE'"+conf+"'";
                ResultSet rs = null;
                rs = exe.executeQuery(QueryString);
                int cont = 0;
                while (rs.next()) {
                    Lista[cont][0] = rs.getString(2);
                    Lista[cont][1] = rs.getString(3);
                    Lista[cont][2] = rs.getString(4);
                    Lista[cont][3] = rs.getString(5);
                    Lista[cont][4] = rs.getString(6);
                    Lista[cont][5] = rs.getString(7);
                    Lista[cont][6] = rs.getString(8);
                    Lista[cont][7] = rs.getString(9);
                    Lista[cont][8] = rs.getString(10);
                    Lista[cont][9] = rs.getString(11);

                    cont = cont + 1;
                }
Grazie per l'aiuto.