Solved Deleting row from QTableWidget and from Sqlite database
-
@JonB
I'm installing Qt 6 for now, i will check if everything works. If it won't i will install Qt 5.15Okay, I configured the project in the new Qt and i still have the same error.
-
@Risver said in Deleting row from QTableWidget and from Sqlite database:
I configured the project in the new Qt and i still have the same error.
And you are sure you're building with Qt6 now?
And did you do a complete rebuild? -
@jsulm said in Deleting row from QTableWidget and from Sqlite database:
@Risver said in Deleting row from QTableWidget and from Sqlite database:
I configured the project in the new Qt and i still have the same error.
And you are sure you're building with Qt6 now?
And did you do a complete rebuild?Yes i'm sure i building with Qt6,
but i'm not sure how can i complete rebuild the project.
found this. Still have error -
@Risver said in Deleting row from QTableWidget and from Sqlite database:
The QT version is 5.0.2
I'm guessing 5.0.2 is/was your QtCreator version (the IDE) not the version of Qt. Look at the 'Kit' you are using, it will say what version of Qt you are using.
-
-
@mchinand
Yes you're right. -
@Christian-Ehrlicher said in Deleting row from QTableWidget and from Sqlite database:
querymodel->removeRow(addressId, 1);
model->removeRows(row, 1);
Thank You Christian, now i have no errors, but it is not removing.
-
@Risver
@Christian-Ehrlicher's comment above is why your linequerymodel->removeRow(addressId, 1);
is generating an error. Look at the two different methods he has given you links to. -
@Risver said in Deleting row from QTableWidget and from Sqlite database:
Thank You Christian, now i have no errors, but it is not removing.
Start by showing us your new line, because we don't know which of the two methods you changed to using and what parameters you gave it.
-
@JonB said in Deleting row from QTableWidget and from Sqlite database:
@Risver said in Deleting row from QTableWidget and from Sqlite database:
Thank You Christian, now i have no errors, but it is not removing.
Start by showing us your new line, because we don't know which of the two methods you changed to using and what parameters you gave it.
i've changed only this one:
void MainWindow::on_remove_clicked() { if (ui->tableView->selectionModel()->hasSelection()) { int addressId = ui->tableView->selectionModel()->currentIndex().row(); querymodel->removeRows(addressId, 1); } }
-
qDebug() << querymodel->rowCount(); qDebug() << querymodel->removeRows(addressId, 1); qDebug() << querymodel->rowCount();
-
@JonB said in Deleting row from QTableWidget and from Sqlite database:
qDebug() << querymodel->rowCount(); qDebug() << querymodel->removeRows(addressId, 1); qDebug() << querymodel->rowCount();
The rowCount is always 3 and the removeRows is false.
-
Does your table has a primary key? Otherwise removing will not work.
-
@Christian-Ehrlicher said in Deleting row from QTableWidget and from Sqlite database:
Does your table has a primary key? Otherwise removing will not work.
Yes, it has.
-
@Christian-Ehrlicher said in Deleting row from QTableWidget and from Sqlite database:
Does your table has a primary key? Otherwise removing will not work.
That's very interesting. I assume we're talking about a SQL table model here? I looked through the docs (briefly) but did not see any mention of this requirement, is it documented?
-
@JonB said in Deleting row from QTableWidget and from Sqlite database:
@Christian-Ehrlicher said in Deleting row from QTableWidget and from Sqlite database:
Does your table has a primary key? Otherwise removing will not work.
That's very interesting. I assume we're talking about a SQL table model here? I looked through the docs (briefly) but did not see any mention of this requirement, is it documented?
That is how my SQL Table looks. -
qDebug() << querymodel->removeRows(addressId, 1);
Please add
qDebug() << addressId
, we need to make sure what that is, just in case..... -
@JonB said in Deleting row from QTableWidget and from Sqlite database:
qDebug() << querymodel->removeRows(addressId, 1);
Please add
qDebug() << addressId
, we need to make sure what that is, just in case.....It is a variable to store the selected row, for example when i select the first row, it returns 0.
I checked this and its working fine -
@Risver
OK, so independent of your selectionquerymodel->removeRows(0, 1);
fails to remove the first row? We can then rule out anything to do with the UI or the selection. -
@JonB
Exactly.