crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> QTableView мешает транзакциям?
Kagami
  опции профиля:
сообщение 18.12.2009, 17:34
Сообщение #1


Старейший участник
****

Группа: Участник
Сообщений: 601
Регистрация: 2.2.2009
Пользователь №: 523

Спасибо сказали: 101 раз(а)




Репутация:   9  


Есть база данных. Она отображается в QTableView с помощью QSqlTableModel и иногда редактируется мной с помощью QSqlQuery. При этом я использую транзакции. И заметил что при вызове QSqlDatabase::commit(), ничего не происходит, база данных сообщает что есть активные запросы. Может ли это влиять модель, которая внутри тоже использует QSqlQuery? Тестовый пример попробую сделать чуть позже.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
MoPDoBoPoT
  опции профиля:
сообщение 18.12.2009, 20:42
Сообщение #2


Участник
**

Группа: Участник
Сообщений: 172
Регистрация: 7.5.2009
Из: Москва
Пользователь №: 738

Спасибо сказали: 44 раз(а)




Репутация:   9  


Да, такая штука будет, если в таблице больше 255 записей. Чтобы транзакция не висела, можно попробовать вытащить все данные:
while (sqlModel->canFetchMore())
     sqlModel->fetchMore();

Но если данных будет много, то, сам понимаешь, все будет висеть в памяти :)

Цитата(Litkevich Yuriy @ 18.12.2009, 18:52) *
попробуй существующий код, только для QSqlQuery использовать отдельное (самостоятельное) соединение (именованное, а не умалчиваемое).

Кстати, да. Если обременяет тянуть все данные, то осуществляй свое редактирование в другом соединении.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 9.1.2025, 20:22