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.
Grazie per l'aiuto.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; }

Rispondi quotando