void MainWindow::on_create_record_triggered(){ QSqlRecord rec = model1.record(); model1->insertRecord(-1,rec); model1->submitAll();}
C++ (Qt)QSqlRecord rec = model1.record(row); model1.insertRecord(row,rec);model1.submitAll();
C++ (Qt)model1.removeRows(row-1,row);model1.submitAll();
C++ (Qt)// ---------- вставка строки в модель ---------- int row = model->rowCount(); if (!model->insertRow(row)){ QMessageBox::critical(this, tr("БД"), tr("Вставка строки вызвала следующую ошибку:\r\n %1") .arg(model->lastError().databaseText())); return;} // ---------- Удаление строки из модели ---------- // Узнаем выделенную строкуQItemSelectionModel *selectionModel = view->selectionModel(); QModelIndexList indexes = selectionModel->selectedIndexes(); int size = indexes.size(); if (size > 1){ int ret = QMessageBox::critical(this, tr("Предупреждение"), tr("Вы уверены что хотите удалить %1 строк?").arg(), QMessageBox::Yes | QMessageBox::Cancel ); if (ret == QMessageBox::Cancel){ return; }} foreach(QModelIndex index, indexes){ QString str; int row = index.row(); if (!model->removeRows(row,1)){ str = model->lastError().text(); qDebug() << str << "\n\r"; break; }} // ---------- Сохранение изменений ---------- if (!model->submitAll()){ qDebug() << "Model Error:" << model->lastError(); model->revertAll(); return;}
C++ (Qt)if(!model1.insertRows(row,1)){ qDebug()<<"not insrted, because:"<<model1.lastError();}
not insrted, because: QSqlError(-1, "", "")
C++ (Qt)if(!model1.removeRow(row)){ qDebug()<<"not removed in if, because:"; qDebug()<<model1.lastError();}
not removed in if, because: QSqlError(-1, "Unable to delete row", "")
C++ (Qt)model1.insertRows(row,1); insertIndex = model1.index(row, 0); qDebug()<<insertIndex;ui->mytable->setCurrentIndex(insertIndex);ui->mytable->edit(insertIndex);model1.submitAll();
QModelIndex(-1,-1,0x0,QObject(0x0) ) edit: index was invalidedit: editing failed
C++ (Qt) insertIndex = model1.index(22, 0); qDebug()<<model1.index(22,0); qDebug()<<insertIndex;
QModelIndex(-1,-1,0x0,QObject(0x0) ) QModelIndex(-1,-1,0x0,QObject(0x0) )
C++ (Qt) QSqlTableModel model1; QTableView view;
C++ (Qt) model1.setTable("peoples4"); model1.select(); ui->mytable->setModel(&model1); ui->mytable->setEditTriggers(QAbstractItemView::DoubleClicked|QAbstractItemView::EditKeyPressed); view.setModel(&model1);
C++ (Qt) QSqlTableModel model1;
C++ (Qt) ui->mytable->setModel(&model1);
C++ (Qt)void rowexper::on_actionFrty_triggered(){ model1.insertRow(model1.rowCount()); model1.submitAll();//Тут мы не работаем с указателем, поэтому , наверное, строки не добавляются }