# HG changeset patch # User František Kučera # Date 1247930915 -7200 # Node ID 0eeae8c247ccb025314561c851c262d15bdcf1e2 # Parent bc821c6d090c60b5fd60638b68779a9250abe338 Lepší řešení #3 – uživatel může zadat neomezeně příkazů, které nevracejí výsledek. diff -r bc821c6d090c -r 0eeae8c247cc java/sql-vyuka/src/java/cz/frantovo/sql/vyuka/dao/PiskovisteDAO.java --- a/java/sql-vyuka/src/java/cz/frantovo/sql/vyuka/dao/PiskovisteDAO.java Sat Jul 18 17:16:41 2009 +0200 +++ b/java/sql-vyuka/src/java/cz/frantovo/sql/vyuka/dao/PiskovisteDAO.java Sat Jul 18 17:28:35 2009 +0200 @@ -57,16 +57,12 @@ /** * Ošetříme případ, kdy uživatel zadá SQL příkaz, který nevrací výsledkovou sadu. * Typicky nastavení výchozího schématu: SET search_path = '…'; - * pokud bude pocetPokusu = 0 a první dotaz nevrátí výsledkovou sadu, - * procházení se ukončí a uživatel neuvidí žádnou tabulku (i když další příkazy už výsledkové sady vracely). * Poznámka: jeden „SET search_path = '…'“ se obvykle předřazuje uživatelskému SQL (viz PiskovisteDAO.xml). - */ - int pocetPokusuBezRS = 1; - while (ps.getMoreResults() || pocetPokusuBezRS > 0) { - pocetPokusuBezRS--; + */ + while (ps.getMoreResults() || ps.getUpdateCount() > -1) { rs = ps.getResultSet(); if (rs == null) { - /** Jedná se buď o „update count“ nebo tu už žádná další výsledková sada není. */ + /** Jedná se o „update count“. */ } else { v.getTabulky().add(zpracujVysledek(rs)); }