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,"Unable to execute statement","no got : scales")
这让我感到困惑,因为当我用命令行检查数据库时,它确实存在并且拼写正确。我唯一能想到的就是它连接到了一个不同的数据库文件?
发布于 2012-11-12 18:13:25
问题已解决:我将项目和调试文件夹移动到不同的路径,并且没有将IDE指向新文件夹,因此它一直引用旧的调试文件夹。一旦我给它指出了正确的路径,它就工作得很好。只有当我声明查看@redmode建议的路径时,我才发现错误。为所有GC干杯
https://stackoverflow.com/questions/13331848
复制相似问题