这是代码:
QSqlQuery q1(db_connection), q2(db_connection);
q1.exec("SELECT * from users");
while(q1.next())
{
q2.exec("delete from table1");
if (!q2.isValid())
qDebug() << "q2 is not valid";
if (q1.isActive() && q1.isValid())
qDebug() << q1.record();
}
q1 是正确的查询。q2 是已知错误的,因为没有名称为“table1”的表。
交易是:为什么 q1 使用 QSqlQuery::record() 方法返回错误(空)数据,但在 q2 执行 exec() 之后使用 QSqlQuery::value() 方法返回绝对正确的数据?