Russian Qt Forum
Май 02, 2024, 07:41 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Qt Sql Множественные транзакции.  (Прочитано 2443 раз)
Bepec
Гость
« : Июнь 12, 2014, 12:00 »

Приветствую заглянувших.

Вопрос - как используя Qt и QSqlDatabase одновременно выполнять несколько транзакций?

В документации написано что то вроде "одно соединение поддерживает одну транзакцию", но до меня не доходит как это оформить в коде.

Вполне возможно они имеют в виду что нужно создавать 1 объект QSqlDatabase на каждую транзакцию.

Прошу помощи Улыбающийся
Записан
Hellraiser
Бывалый
*****
Offline Offline

Сообщений: 451


Просмотр профиля
« Ответ #1 : Июнь 12, 2014, 12:12 »

Вот объект создавать-то и не стоит. Есть статический метод addDatabase, который добавит соединение. Запоминать возвращаемое значение не надо, а если требуется доступ в другом месте, то обращаться через database. Главное, надо не забывать давать имя для соединения. Т.е. примерно так:
Код
C++ (Qt)
QSqlDatabase::addDatabase("QMYSQL", "FirstConnection");
QSqlDatabase::addDatabase("QMYSQL", "SecondConnection");
...
QSqlDatabase db1 = QSqlDatabase::database("FirstConnection");
QSqlDatabase db2 = QSqlDatabase::database("SecondConnection");
if (db1.transaction())
{
...
db1.commit();
}
if (db2.transaction())
{
...
db2.commit();
}
 
Записан
Bepec
Гость
« Ответ #2 : Июнь 12, 2014, 12:17 »

Т.е. надо создавать столько объектов QSqlDatabase, сколько требуется транзакций.
Ну и под копирку все инициализировать и прочая.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.077 секунд. Запросов: 23.