ASSERT: "idx >= 0 && idx < s" in file ..\..\include/QtCore/../../src/corelib/tools/qvarlengtharray.h, line 107
ошибка при попытке выполнении setData
int row = sqlModel->rowCount();
sqlModel->insertRow(row);
qDebug()<<row;
sqlModel->setData(sqlModel->index(row, 1), "qweqwer");
в БД несколько таблиц, функция вставки работала для всех, добавил в БД ещё одну таблицу...
и замучался искать что с ней не так
данные не отображаются, setData не работает...
проьовал c mySQL и MS SQL Server - без результатов.
MyForm::MyForm(QWidget *parent)
:QDialog(parent)
{
setWindowFlags(Qt::Window);
sqlModel = new QSqlTableModel;
sqlModel->setTable("check");
sqlModel->setSort(Check_Id, Qt::AscendingOrder);
sqlModel->setEditStrategy(QSqlTableModel::OnFieldChange);
sqlModel->select();
qDebug()<<checkModel->tableName();
qDebug()<<checkModel->index(1,1).data().toString();
sqlTableView = new QTableView;
sqlTableView->setModel(sqlModel);
sqlTableView->setColumnHidden(Check_Id, true);
sqlTableView->setSelectionBehavior(QAbstractItemView::SelectRows);
sqlTableView->resizeColumnsToContents();
QGridLayout *lay = new QGridLayout;
lay->addWidget(checkTableView, 0, 0, 4, 1);
...
setLayout(lay);
resize (1024, 640);
}
подставляя любую другую таблицу в setTable все ОК.
что может быть не так с этой таблицей?! (работаю под root / sa)