很抱歉发布此内容,即使有关于此的一些帖子,但他们没有帮助。
我在QT中使用sqlite,我想做一个简单的查询,但它给了我这个错误:
文件已加密或不是数据库无法执行语句
有些帖子的评论说数据库可能已损坏,我使用了另一个程序并从头开始创建了一个测试表但仍有同样的问题,这就是代码:
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("AdmissionTestDB.sql");
db.open();
if(db.isOpen())
{
QSqlQuery q = db.exec("SELECT * FROM USERS");
if(!q.lastError().isValid())
{
qDebug()<<"works!";
while(q.next())
{
qDebug()<<q.value(8).toString();
}
}
else
qDebug()<<"---db failed to open! , error: "<<q.lastError().text();
db.close();
return true;
}
qDebug()<<"db failed to open! , error: "<<db.lastError().text();
return false;
更多信息希望它有助于解决这个问题:
1-我正在使用SQLITE 3
2-当我使用QSqlQuery q = db.exec("SELECT * FROM USERS");
以便数据库实际打开时,问题就出现了!
3-我使用两个GUI程序来创建DB其中一个是SQLiteStudio的最新版本3.0.4版