Changeset 256


Ignore:
Timestamp:
07/02/09 18:40:27 (3 years ago)
Author:
antonbatenev.ya.ru
Message:

Запрос настроек соединения (fix #40) при старте программы

Location:
trunk
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/form_main.cpp

    r253 r256  
    8888        m_forum_tree->setMainForm(this); 
    8989        m_message_tree->setMainForm(this); 
     90 
     91        // проверка корректности соединения 
     92        std::auto_ptr<IAStorage> storage(AStorageFactory::getStorage()); 
     93 
     94        if (storage.get() != NULL) 
     95                if (storage->ping() == false) 
     96                        menu_service_settings_triggered(); 
    9097 
    9198        // загрузка дерева форумов 
  • trunk/storage/istorage.h

    r236 r256  
    4242 
    4343                /*! 
     44                 * \brief Проверка соединения с БД. 
     45                 */ 
     46                virtual bool ping () = 0; 
     47 
     48                /*! 
    4449                 * \brief Получение информации о текущем пользователе. 
    4550                 * \param info Информация о пользователе, перед вызовом должно быть заполнено поле Name (логин на RSDN). 
  • trunk/storage/mysql_storage.cpp

    r243 r256  
    4040 
    4141        return false; 
     42} 
     43//---------------------------------------------------------------------------------------------- 
     44 
     45bool AMySQLStorage::ping () 
     46{ 
     47        QString sql = "SELECT 1 FROM `version`"; 
     48 
     49        std::auto_ptr<AQuery> query_select(createQuery(sql)); 
     50 
     51        if (query_select.get() == NULL) 
     52                return false; 
     53 
     54        return query_select->exec(); 
    4255} 
    4356//---------------------------------------------------------------------------------------------- 
  • trunk/storage/mysql_storage.h

    r236 r256  
    4545        private: 
    4646 
     47                bool ping                   (); 
    4748                bool whoAmI                 (AUserInfo& info, IProgress* progress = NULL); 
    4849                bool getRowVersion          (ARowVersion& list,  IProgress* progress = NULL); 
  • trunk/storage/sqlite_storage.cpp

    r243 r256  
    4040 
    4141        return false; 
     42} 
     43//---------------------------------------------------------------------------------------------- 
     44 
     45bool ASQLiteStorage::ping () 
     46{ 
     47        QString sql = "SELECT 1 FROM `version`"; 
     48 
     49        std::auto_ptr<AQuery> query_select(createQuery(sql)); 
     50 
     51        if (query_select.get() == NULL) 
     52                return false; 
     53 
     54        return query_select->exec(); 
    4255} 
    4356//---------------------------------------------------------------------------------------------- 
  • trunk/storage/sqlite_storage.h

    r236 r256  
    4545        private: 
    4646 
     47                bool ping                   (); 
    4748                bool whoAmI                 (AUserInfo& info, IProgress* progress = NULL); 
    4849                bool getRowVersion          (ARowVersion& list,  IProgress* progress = NULL); 
  • trunk/version.h

    r255 r256  
    2020 * \brief Дата билда (заменяется автоматически при каждом билде в version.h, что и приводит к смене номера ревизии) 
    2121 */ 
    22 #define AVALON_DATE "Срд Июл  1 17:02:50 MSD 2009" 
     22#define AVALON_DATE "Чтв Июл  2 18:38:02 MSD 2009" 
    2323 
    2424#endif 
Note: See TracChangeset for help on using the changeset viewer.