【发布时间】:2014-01-14 04:17:03
【问题描述】:
我正在使用 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() 返回 No query Unable to fetch row
不知道为什么会这样,但真的很想知道。
【问题讨论】:
-
您使用的是哪种sql类型和版本?哪个Qt版本?哪个操作系统,哪个版本?您是否尝试过显式调用 .prepate() 来查看返回值?另外,你把“?”混在一起很奇怪。和 ":" 方法,尽管这无关紧要。
-
尝试用这个打印出最后一个查询:
qDebug () << query->lastQuery()只是为了确保。打印出来的是什么?另外,您能否在插入第二种情况之前检查该表是否正确存在?您可以使用命令行客户端进行双重检查。 -
@LaszloPapp 准备好一切正常!谢谢!
-
好的,太好了。提交答案以获得更好的可读性。
标签: c++ database qt sqlite qsqlquery