crossplatform.ru

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

> Обновление таблицы через QTableView.
User_3
  опции профиля:
сообщение 12.2.2010, 13:16
Сообщение #1


Студент
*

Группа: Новичок
Сообщений: 14
Регистрация: 27.8.2009
Пользователь №: 1027

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




Репутация:   0  


Извините что поднял избитую тему, но никак не могу понять - каким же образом можно сохранять изменения в полях таблицы, путём редактирования QTableView?

Например есть такая таблица:

TableModel->setTable("registered");
TableModel->setEditStrategy(QSqlTableModel::OnManualSubmit);
TableModel->select();


Ну и дальше она размещается на виджете, и вот хочу изменить значения полей в таблице редактированием ячейки в QTableView, но они меняются только в QTableView, а в самой бд всё остаётся неизменно.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Litkevich Yuriy
  опции профиля:
сообщение 16.2.2010, 19:04
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


Цитата(User_3 @ 16.2.2010, 20:43) *
Не подскажешь как решить?
UTF-8
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
User_3
  опции профиля:
сообщение 17.2.2010, 14:22
Сообщение #3


Студент
*

Группа: Новичок
Сообщений: 14
Регистрация: 27.8.2009
Пользователь №: 1027

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




Репутация:   0  


Цитата(Litkevich Yuriy @ 17.2.2010, 2:04) *
Цитата(User_3 @ 16.2.2010, 20:43) *
Не подскажешь как решить?
UTF-8


Как я понял мне нужна эта часть :

CODE
void TableEditor::SlotSubmit()

{

model->database().transaction();

if (model->submitAll())

{

model->database().commit();

model->select();

// Опять применить и отмена не активны

BtnDis();

}

else

{

model->database().rollback();

QMessageBox::critical(this, tr("Ошибка"),

tr("Сообщение БД:\r\n %1")

.arg(model->lastError().databaseText()));

}


Т.е. здесь при нажатии кнопки submit, данные которые я изменил через ячейки таблицы изменятся в бд?

Но возникают ошибки обращения к неинициализированной области памяти и "Using unsupported buffertype: -1 (parameter: 1)".

А разве нет более простого способа изменения данных в ячейках?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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


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




RSS Текстовая версия Сейчас: 2.2.2025, 8:15