Legend:
- Unmodified
- Added
- Removed
-
java/sql-vyuka/src/java/cz/frantovo/sql/vyuka/dao/PiskovisteDAO.java
r16 r17 26 26 if (historie.ulozPrikaz(sql, uzivatel)) { 27 27 28 29 30 31 32 33 Tabulka t = new Tabulka();34 35 36 37 28 Connection db = getSpojeni(DATABAZE.PISKOVISTE); 38 29 if (db == null) { … … 43 34 try { 44 35 ps = db.prepareStatement(sql); 45 rs = ps.executeQuery();36 boolean isRS = ps.execute(); 46 37 47 int pocetSloupecku = rs.getMetaData().getColumnCount(); 48 String[] zahlavi = new String[pocetSloupecku]; 49 t.setZahlavi(zahlavi); 50 for (int i = 0; i < pocetSloupecku; i++) { 51 zahlavi[i] = rs.getMetaData().getColumnName(i + 1); 52 } 38 if (isRS) { 39 rs = ps.getResultSet(); 40 v.getTabulky().add(zpracujVysledek(rs)); 53 41 54 while (rs.next()) { 55 Object[] hodnoty = new Object[pocetSloupecku]; 56 for (int i = 0; i < pocetSloupecku; i++) { 57 hodnoty[i] = rs.getObject(i + 1); 42 while (ps.getMoreResults()) { 43 rs = ps.getResultSet(); 44 v.getTabulky().add(zpracujVysledek(rs)); 58 45 } 59 t.getHodnoty().add(hodnoty);60 }61 62 if (t.getHodnoty().size() > 0 && pocetSloupecku > 0) {63 64 v.getTabulky().add(t);65 46 } else { 66 v.getHlasky().add(new Hlaska("SQL příkaz byl proveden.", Typ.OK)); 47 /** TODO: zobrazit počet aktualizovaných? */ 48 v.getHlasky().add(new Hlaska("SQL příkaz byl proveden, ale nevrátil žádná data.", Typ.Varovani)); 67 49 } 68 50 … … 80 62 v.getHlasky().add(new Hlaska(tipy.getTip(), Typ.Tip, false)); 81 63 82 83 84 85 86 64 } else { 87 65 v.getHlasky().add(new Hlaska("Došlo k chybě historie.", Typ.Chyba)); … … 89 67 return v; 90 68 } 69 70 private Tabulka zpracujVysledek(ResultSet rs) throws SQLException { 71 Tabulka t = new Tabulka(); 72 73 int pocetSloupecku = rs.getMetaData().getColumnCount(); 74 String[] zahlavi = new String[pocetSloupecku]; 75 t.setZahlavi(zahlavi); 76 for (int i = 0; i < pocetSloupecku; i++) { 77 zahlavi[i] = rs.getMetaData().getColumnName(i + 1); 78 } 79 80 while (rs.next()) { 81 Object[] hodnoty = new Object[pocetSloupecku]; 82 for (int i = 0; i < pocetSloupecku; i++) { 83 hodnoty[i] = rs.getObject(i + 1); 84 } 85 t.getHodnoty().add(hodnoty); 86 } 87 88 return t; 89 } 91 90 }