crossplatform.ru

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

> БД сохранение и закрытие
Stoptyssin
  опции профиля:
сообщение 14.3.2012, 21:10
Сообщение #1


Студент
*

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

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




Репутация:   0  


Всем здраствуйте. Суть проблемы: есть база данных из нескольких таблиц, таблицы отображаются через QTableModel и QTableView. Находятся на разных формах, на главной форме есть основная таблица, в которую заносится вся информация с остальных (через вторичные ключи от остальных таблиц). После выполнения запроса- вставки новой инфы в основную таблицу, необходимо сохранить данные и обновить эту таблицу. Пытался вот так:

if(Gmodel->submitAll())
        {
           Gmodel->database().commit();
         }
        else
        {
            Gmodel->database().rollback();
            QMessageBox::warning(this, "", "CloseEvent!", QMessageBox::Yes | QMessageBox::No);
        }

Не получилось вывел следующее:
QSqlDatabasePrivate::removeDatabase: connection 'qt_sql_default_connection' is still in use, all queries will cease to work.

Добавил следующий код в деструктор главной формы:

    QSqlDatabase db = QSqlDatabase::database();
         if (db.isOpen())
         {
             db.close();
             db.removeDatabase(db.connectionName());

        }

Выводит тоже самое, и информация в БД не сохраняется.
Я уже заколебался, просмотрел примеры и кучу форумов посвященных данной проблеме. Заранее спасибо...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Iron Bug
  опции профиля:
сообщение 20.3.2012, 19:38
Сообщение #2


Профессионал
*****

Группа: Модератор
Сообщений: 1611
Регистрация: 6.2.2009
Из: Yekaterinburg
Пользователь №: 533

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




Репутация:   12  


одинарные, понятное дело. их там даже две, зачем - совершенно непонятно. и проверь, что у тебя в str хранится.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Stoptyssin
  опции профиля:
сообщение 25.3.2012, 17:27
Сообщение #3


Студент
*

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

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




Репутация:   0  


Цитата(Iron Bug @ 20.3.2012, 22:38) *
одинарные, понятное дело. их там даже две, зачем - совершенно непонятно. и проверь, что у тебя в str хранится.


в str все правильно храниться, а про одинарные кавычки посмотрел где-то на форумах, для чего сам не понял, - подумал может поможет. Разобрался с этим вопросом так создал перемнную типа QString? сначала ей присвоил запорс, а потом выполнил ее в .exec(). Все большушее спасиб)))
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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


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




RSS Текстовая версия Сейчас: 24.11.2024, 21:31