QSqlQuery最后无法正常工作

问题描述 投票:0回答:2

我试图在SQLite中获取已执行查询的大小,但是当我使用last并尝试使用last时,它始终为false 这是我正在尝试执行的代码

void createDB() {
  QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE","CREATE_CON");

  db.setDatabaseName("C:/Desktop/TestDb.db3");
  db.open();

  QSqlQuery q(db);
  q.exec("CREATE TABLE IF NOT EXISTS Test(testCol TEXT PRIMARY KEY);");
}

int entries() {
  QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE","SELECT_CON");

  db.setDatabaseName("C:/Desktop/TestDb.db3");
  db.open();

  QSqlQuery q(db);
  q.exec("SELECT * FROM Test;");

  if(q.last() == false) {
    qDebug()<<q.lastError().text();
    qDebug()<<db.lastError().text();
  }
  return q.at()+1;
}

我得到的错误文本是空的,所以我不知道我做错了什么。 我可以很好地创建数据库,以便我的数据库实例正常工作。 操作系统:Windows 10 我正在使用:Qt 5.10.1 Compilator:MinGW

c++ qt sqlite
2个回答
© www.soinside.com 2019 - 2024. All rights reserved.