Доброго времени суток.
Помогите разобраться с проблемой.
Есть таблица sql
SQL
CREATE TABLE tablex(id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR(50) NOT NULL);
Создаю модель которая работает с этой таблицей.
C++ (Qt)
...
srand(QDateTime::currentMSecsSinceEpoch());
model=new QSqlTableModel(this);
model->setTable("tablex");
model->select();
model->setEditStrategy(QSqlTableModel::OnFieldChange);
view=new QTableView();
view->setModel(model);
...
По нажатии на кнопку выполняется следующий слот
C++ (Qt)
void MainWindow::on_pushButton_clicked()
{
QSqlRecord rec=model->record(0);
int i=rand() %1500;
QString str=QString::number(i);
rec.setValue("name",str);
qDebug()<<model->setRecord(0,rec);
qDebug()<<model->lastError().text();
}
Проблема в следующем: при первом нажатии на кнопку, запись устанавливается в модель и также добавляется в базу данных, т.е. в таблицу. При повторном нажатии на кнопку, запись устанавливается в модель, но уже не добавляется базу данных(таблицу), т.е. не сохраняется там. Вот что выводит qDebug:
C++ (Qt)
true //1 click
" " //1 click
false //2 click
" No Fields to update" //2 click
false //3 click
" No Fields to update" //3 click
false //4 click
" No Fields to update" //4 click
В чем может быть проблема ? Спасибо.