Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > C++ > Qt и кроссплатформенное программирование С/С++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 07.07.2009, 16:31   #1
HIC
Пользователь
 
Регистрация: 20.06.2007
Сообщений: 39
Репутация: 2
По умолчанию Qt. QSqlTableModel. Добавление новых строк.

Как правильно добавить новые строки в таблицу. Первичный ключ создан, поле автоинкрементное. Таблица отображается нормально, После добавления и редактирования новых строк на submitAll() ругается: No Fields to update. Вот код:
Код:

model = new QSqlTableModel(this);
    model->setTable("table1");
    model->setEditStrategy(QSqlTableModel::OnManualSubmit);
    model->select();

    table_view->setModel(model);

    mapper = new QDataWidgetMapper;
    mapper->setModel(model);
    mapper->addMapping(lineEdit1, 1);
    mapper->addMapping(lineEdit2, 2);

    connect(table_view->selectionModel(), SIGNAL(currentRowChanged(QModelIndex,QModelIndex)),
            mapper, SLOT(setCurrentModelIndex(QModelIndex)));

    table_view->setCurrentIndex(model->index(0, 0));

    connect(submit_action, SIGNAL(triggered()), this, SLOT(submit()));
    connect(add_action, SIGNAL(triggered()), this, SLOT(add()));
}

void main_window::submit()
{
    model->database().transaction();
    if (model->submitAll()) {
        model->database().commit();
    } else {
        model->database().rollback();
        QMessageBox::warning(this, trUtf8("Моя программа"),
                             trUtf8("Зе датабазе кирдык: %1")
                             .arg(model->lastError().text()));
    }
}

void main_window::add()
{
    model->insertRow(model->rowCount());
}

Юзаю Qt 4.5.0, Ubuntu 9.04, MySQL 5.0
HIC вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
GridView - добавление строк freez87 Общие вопросы .NET 5 06.06.2009 00:11
Матрица: добавление пустых строк Romer9999 Паскаль 4 09.12.2008 13:14
Как правильно перехватывать появление новых строк на листе? neugadal Microsoft Office Excel 2 03.10.2008 11:01
добавление строк StringGrid Alex_76 Помощь студентам 7 10.06.2008 15:17
Добавление строк в массив boks Microsoft Office Excel 2 28.09.2007 10:08


04:09.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru