我正在使用SQLite,进行表格的插入操作。以下是我的代码:
QSqlQuery testQuery(QString("INSERT INTO test(testcol) VALUES(?)"));
testQuery.bindValue(0, someQStringObg);
testQuery.exec();
运作正常,但是
QSqlQuery testQuery(QString("INSERT INTO test(testcol) VALUES(:val)"));
testQuery.bindValue(":val", someQStringObg);
testQuery.exec();
不要这样做。testQuery.lastError().text() 返回无法查询,无法获取行。
对于为什么会出现这种情况,我一无所知,但我真的想找到答案。
qDebug() << query->lastQuery()
打印出最后一个查询,以确保其正确。那会打印出什么呢?此外,在插入第二个案例之前,请检查表是否存在,你可以使用命令行客户端来进行双重检查。 - László Papp