我在 Qt 中使用 SQLite 时遇到问题。我创建了一个表并执行了一个简单的SELECT
查询。
#include <QtSql>
int main(int argc, char* argv[]) {
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setHostName("localhost");
db.setDatabaseName(":memory:");
if (!db.open())
return -1;
QSqlQuery query(db);
bool success = query.exec("create table person (id int primary key, "
"firstname varchar(20), lastname varchar(20))"); // Returns true
bool valid = query.isValid(); // Returns false, expected true
success = query.exec("select * from person"); // Returns true
valid = query.isValid(); // Returns false, expected true
bool select = query.isSelect(); // Returns true
int size = query.size(); // Returns -1, should be 0
return 0;
}
为什么这些查询即使query.exec
返回也无效true
?为什么size
这里不返回 0?