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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Ошибка при сохранении данных в БД в QSqlTableModel  (Прочитано 4780 раз)
kalif
Гость
« : Октябрь 06, 2010, 20:53 »

Всем привет.
Есть такой код:
Код:
//перед этим идет коннект к базе

QTableView *view = new QTableView();
QSqlTableModel *model = QSqlTableModel();

view->setModel(model);
model->setTable("table");
model->select();
model->insertRow(model->rowCount());
model->setData(model->index(model->rowCount(),0),"data");
model->submitAll();


Так вот. Сабмит не выполняется, выдавая при этом ошибку: QSqlError(2036, "QMYSQL3: Unable to bind value", "Using unsupported buffer type: 1073741824  (parameter: 1)")
Подскажите в чем может быть проблема?
« Последнее редактирование: Октябрь 06, 2010, 21:34 от kalif » Записан
Kolobok
Гость
« Ответ #1 : Октябрь 06, 2010, 21:31 »

Что такое model->rowCount?
Записан
kalif
Гость
« Ответ #2 : Октябрь 06, 2010, 21:33 »

Пардон. Скобочки забыл.
model->rowCount();
Записан
Kolobok
Гость
« Ответ #3 : Октябрь 06, 2010, 22:01 »

а так?

Код:
//перед этим идет коннект к базе

QTableView *view = new QTableView();
QSqlTableModel *model = QSqlTableModel();

view->setModel(model);
model->setTable("table");
model->select();
model->insertRow(model->rowCount());
model->setData(model->index(model->rowCount()-1,0),"data");
model->submitAll();
Записан
crossly
Гость
« Ответ #4 : Октябрь 06, 2010, 22:18 »

rowCount возвращает количество записей... учитывая что нумерация начинается с 0... то вы делаете setData для строки которая находится за последней... Улыбающийся.. и соответственно не существует..
Записан
kalif
Гость
« Ответ #5 : Октябрь 06, 2010, 22:23 »

Перед тем как делать setData, я делаю insertRow, создавая тем самым эту строку.
Записан
Kolobok
Гость
« Ответ #6 : Октябрь 06, 2010, 22:40 »

Ну создаешь ты новую строку, да. А потом что делаешь? Посиди - помедитируй.
Записан
crossly
Гость
« Ответ #7 : Октябрь 07, 2010, 11:38 »

Перед тем как делать setData, я делаю insertRow, создавая тем самым эту строку.
и что??... по твоему при этом rowCount не увеличивается??
Записан
kalif
Гость
« Ответ #8 : Октябрь 07, 2010, 12:45 »

Все таки правильно говорят: "Утро вечера мудренее".
Понял я на счет rowCount. Но проблемы это не решило
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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