All,

Someone asked me to take a look at this and set up a nice little demo program using SQLite. I couldn't believe it when I tried this.

void SQLiteModel::deleteRow(int rowNo)
{
    qDebug() << "removeRow called for " << rowNo << "\n";
    bool rslt = removeRow(rowNo);
    qDebug() << "result of removeRow() " << rslt << "\n";
    qDebug() << "Error: " << lastError().text() << "\n";
    qDebug() << "query: " << query().lastQuery() << "\n";
    submitAll();
}

removeRow called for  3

result of removeRow()  false

Error:  "near \"WHERE\": syntax error Unable to execute statement"

query:  "select * from questions;"

Every I/O operation performed within the model fails with that exact same error whether it is a nothing table like this:

query.exec("CREATE TABLE IF NOT EXISTS questions (Q_NO INTEGER PRIMARY KEY, Q_TEXT TEXT);");

or a slightly less than nothing.

query.exec("CREATE TABLE IF NOT EXISTS questions (Q_NO INTEGER PRIMARY KEY AUTOINCREMENT, Q_TEXT TEXT NOT NULL);"

It appears this has been broken for at least a year.

https://forum.qt.io/topic/109992/how-to-remove-row-from-qsqltablemodel/10

I have a full program to test with if someone wants it.

--
Roland Hughes, President
Logikal Solutions
(630)-205-1593

http://www.theminimumyouneedtoknow.com
http://www.infiniteexposure.net
http://www.johnsmith-book.com
http://www.logikalblog.com
http://www.interestingauthors.com/blog

_______________________________________________
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest

Reply via email to