gpt4 book ai didi

c++ - Qt:数据库连接不会打开

转载 作者:行者123 更新时间:2023-11-28 00:00:00 24 4
gpt4 key购买 nike

我正在尝试从我的 Firefox cookie-db 中获取一个 cookie。但是,由于某种原因,数据库无法打开。

QString tgc;
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("C:\Users\myaccount\AppData\Roaming\Mozilla\Firefox\Profiles\234f25fs.default\cookies.sqlite");
bool ok = db.open();
if (!ok)
{
// qDebug() << "Error: connection with database fail";
}
else
{
QSqlQuery query("SELECT value WHERE name='TGC' FROM moz_cookies");
if (query.next())
{
tgc = query.value(0).toString();
}
}
db.close();
return tgc;

但是,db.open() 返回 false。可能的原因是什么?

最佳答案

在C和C++中,\字符默认用作转义字符,用于表示一些特殊字符(如'\n'表示换行符特点)。当您打算在字符串文字中实际使用它们时,您需要对它们进行转义。

因此,您的 setDatabaseName 调用应如下所示:

db.setDatabaseName("C:\\Users\\myaccount\\AppData\\Roaming\\Mozilla\\Firefox\\Profiles\\234f25fs.default\\cookies.sqlite");

关于c++ - Qt:数据库连接不会打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39889594/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com