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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Транзакции в Access  (Прочитано 8870 раз)
Garfild
Гость
« : Март 01, 2010, 15:39 »

Доброго времени суток!!!
Почему-то при начале выполнения транзакции выдает такое сообщение:  [Microsoft][Драйвер ODBC Microsoft Access]Задать атрибут сейчас нельзя  QODBC3: Unable to disable autocommit  Что это может значить?
Делаю так:
Код
C++ (Qt)
QSqlDatabase db=QSqlDatabase::database();
if(!db.transaction())
QMessageBox::information(this,"",db.lastError().text());
 
Записан
Garfild
Гость
« Ответ #1 : Март 02, 2010, 10:01 »

Кажется я понял в чем проблема...у меня на формочке есть tableView, в которой отображаются данне.. И видимо поэтому вылазиет ошибка "Задать отрибут сейчас нельзя"
Может подскажете,как лучше сделать...чтоб у меня и во вьюшке все отображалось и транзакцию можно было бы начать
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #2 : Март 02, 2010, 12:30 »

Попробуй создать 2 подключения: через одно смотреть, а через другое править.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Garfild
Гость
« Ответ #3 : Март 02, 2010, 13:08 »

Спасибо,так получилось!!!!!!
Вопрос снят.
Записан
Garfild
Гость
« Ответ #4 : Март 09, 2010, 14:34 »

Добрый день!!
А не подскажите такой момент...создаю второе подключенте след.образом
 
Код
C++ (Qt)
QSqlDatabase db = QSqlDatabase::database();
QSqlDatabase dbase = QSqlDatabase::cloneDatabase(db,"other");
 
после выполнения опреции мне нужно удалить это подключение
 
Код
C++ (Qt)
QSqlDatabase::removeDatabase("other");
 
или не обязательно?
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #5 : Март 09, 2010, 17:38 »

Надо. Зачем ему висеть?
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Garfild
Гость
« Ответ #6 : Март 24, 2010, 19:46 »

Попробуй создать 2 подключения: через одно смотреть, а через другое править.

С двумя подключениями все нормально работает,только возникает один касяк... Изменения,которые были внесены в одном подключении не всегда отражаются во втором подключении, через которое и отображается QTableView Грустный(
Поэтому думаю, что лучше все-таки использовать одно подклячение... только как через одно подключение,можно сразу и отображать таблицу и изменять данные в рамках транзакции Непонимающий Получается,что при отображении таблицы БД в QTableView, делается запрос через QSqlQueryModel и вставляется в QTableView и такое ощущение,что запрос к БД всегда активный... А при активном запросе невозможны выполнения транзакции ... Может кто-нить подскажет как можно выйти из этой ситуации, не используя второе подключение???
Записан
voronElf
Гость
« Ответ #7 : Март 25, 2010, 09:14 »

видимо читать результаты запроса в память и освобождать запрос. Свою модель тогда придется делать вместо QSqlQueryModel
Записан
Garfild
Гость
« Ответ #8 : Март 25, 2010, 09:39 »

voronElf, спасибо большое за ответ
У меня тож были такие подозрения,что свою модель придется делать...Но была надажда,что все-таки как-то через стандартную модель можно будет сделать.. просто всегда пользовался только стандартной моделью ... придется разбираться с QAbstractTableModel Грустный((
Записан
voronElf
Гость
« Ответ #9 : Март 25, 2010, 10:07 »

Да можт и можно, точно не могу сказать, просто чаще всего у меня возникала необходимость писать свои модели (понравился мне этот способ), так что стандартными пользовался редко. А разобратся как свою модель сваять несложно, Бланшет и Шлее хорошо помогают.
Другой вопрос, можт и можно задать каккой-то режим стандартной модели, чтоб запрос не был постоянно активным. Подождем комментариев ...
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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