Changeset 51:bc821c6d090c
      
      
      
          - Timestamp:
- 07/18/09 17:16:41 (16 years ago)
- Author:
- František Kučera <franta-hg@…>
- Branch:
- default
- Message:
- 
            
            
              
Oprava #3 – uživatel může zadat příkaz, který nevrací výsledkovou sadu (typicky nastavení „search_path“), dříve se nezobrazovaly následné výsledky (tabulky) a proces procházení skončil.
 Teď může uživatel zadar jeden příkaz, který nevrací výsledek a výsledky (tabulky) následujících dotazů se mu zobrazí správně.
 
 
- Files:
- 
          
          
 
        
          Legend:
          
            - Unmodified
- Added
- Removed
 
        
  
      - 
        
        
              
              
                
                  | r44 | r51 |  |  
                          | 55 | 55 | } |  
                          | 56 | 56 |  |  
                        | 57 |  | /** TODO: ošetřit případ, kdy vykonáme dva příkazy bez výsledkové sady a třetí příkaz ji už má (teď se nezobrazí výsledná tabulka). */ |  
                        | 58 |  | while (ps.getMoreResults()) { |  
                        |  | 57 | /** |  
                        |  | 58 | * Ošetříme případ, kdy uživatel zadá SQL příkaz, který nevrací výsledkovou sadu. |  
                        |  | 59 | * Typicky nastavení výchozího schématu: SET search_path = '…'; |  
                        |  | 60 | * pokud bude pocetPokusu = 0 a první dotaz nevrátí výsledkovou sadu, |  
                        |  | 61 | * procházení se ukončí a uživatel neuvidí žádnou tabulku (i když další příkazy už výsledkové sady vracely). |  
                        |  | 62 | * Poznámka: jeden „SET search_path = '…'“ se obvykle předřazuje uživatelskému SQL (viz PiskovisteDAO.xml). |  
                        |  | 63 | */ |  
                        |  | 64 | int pocetPokusuBezRS = 1; |  
                        |  | 65 | while (ps.getMoreResults() || pocetPokusuBezRS > 0) { |  
                        |  | 66 | pocetPokusuBezRS--; |  
                          | 59 | 67 | rs = ps.getResultSet(); |  
                        | 60 |  | v.getTabulky().add(zpracujVysledek(rs)); |  
                        |  | 68 | if (rs == null) { |  
                        |  | 69 | /** Jedná se buď o „update count“ nebo tu už žádná další výsledková sada není. */ |  
                        |  | 70 | } else { |  
                        |  | 71 | v.getTabulky().add(zpracujVysledek(rs)); |  
                        |  | 72 | } |  
                          | 61 | 73 | } |  
                          | 62 | 74 | long dobaProvadeni = System.currentTimeMillis() - casPred; |