| Цитата(ASMerg @ 20.2.2012, 13:38) | Добрый день.
Столкнулся с проблемой, пытаюсь добавлять новые записи в mysql, в итоге записи добавляются, в одну и ту же позицию, просто смещаяя строчку которая была создана ранее вниз. Никак не пойму в чем дело.
| Код | .... QSqlTableModel *model = new QSqlTableModel(this); ....
int row = model->rowCount(); model->insertRows(row,1); model->setData(model->index(row, 0), (row+1)); model->setData(model->index(row, 1), "default"); model->submitAll();
|
|
| Код | model->insertRows(row,1); model->setData(model->index(row, 0), (row+1));
|
Как бы оно и будет всегда вставляться в одно и тоже место потому что row имеет одно и тоже значение, оно не меняется.
Я бы сделал что то вроде этого если надо вставить много записей:
| Код | QSqlTableModel *model=new QSqlTableModel; int rowNumber=4; int rowCountNeedToBeAdded=6; for(int i=0;i<rowCountNeedToBeAdded;++i){ model->insertRow(rowNumber); model->setData(model->index(rowNumber,0),"1"); model->setData(model->index(rowNumber,1),"2"); model->submitAll(); rowNumber+=1; }
|
А если надо вставить в конец таблицы то:
| Код | QSqlTableModel *model=new QSqlTableModel; int rowNumber=model->rowCount(); model->insertRow(rowNumber); model->setData(model->index(rowNumber,0),"1"); model->setData(model->index(rowNumber,1),"2"); model->submitAll();
|
|