bool isOpen = database.open();
QSqlQuery query(database);
qDebug("is the database open %d",isOpen);
bool result = query.exec("SELECT * FROM scales");
数据库是一个全局变量,它以另一种方法启动:
database = QSqlDatabase::addDatabase("QSQLITE", "first");
database.setDatabaseName("database.db");
bool result = database.open();
在这两种情况下数据库都打开(返回true)但是当我运行查询时,它返回false。我在终端中运行相同的SQL并且它可以工作,所以SQL应该没有任何问题。那么为什么查询没有执行?
打印完lastError后,我得到了QSqlError(1,“无法执行语句”,“没有这样的表:缩放”)这让我感到困惑,因为当我用命令行检查数据库时它确实存在且拼写正确。我唯一能想到的是它连接到不同的数据库文件?
答案 0 :(得分:0)
问题解决了:我将项目和调试文件夹移动到另一个路径,并没有将IDE指向新文件夹,因此它不断引用旧的调试文件夹。一旦我指出它正确的路径,它工作正常。只有当我说看@redmode建议的路径时才发现错误。干杯所有GC