QSqlDatabase::open() 总是 returns 真 Qt 5.3.2
QSqlDatabase::open() always returns true Qt 5.3.2
独立于我为 setDatabaseName
函数设置的参数,open
函数始终 returns 为真。这正常吗?
例如:
如果我运行下面的代码:
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("");
if( db.open() )
{
qDebug() << "open";
}
打开函数returns true.
我期望的是 open 函数只有在成功连接到数据库时 returns 才为真。
我已经找到了一些主题,但是 none 解决了我的问题:
我正在使用 SQLite 和 Qt 5.3.2。
正常,因为你连接成功了
具体来说,如果数据库不存在,sqlite 将创建它。仅当无法使用给定文件路径创建数据库时,连接才会失败。
如果要检查文件是否存在,请使用QFile::exists()
。
独立于我为 setDatabaseName
函数设置的参数,open
函数始终 returns 为真。这正常吗?
例如:
如果我运行下面的代码:
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("");
if( db.open() )
{
qDebug() << "open";
}
打开函数returns true.
我期望的是 open 函数只有在成功连接到数据库时 returns 才为真。
我已经找到了一些主题,但是 none 解决了我的问题:
我正在使用 SQLite 和 Qt 5.3.2。
正常,因为你连接成功了
具体来说,如果数据库不存在,sqlite 将创建它。仅当无法使用给定文件路径创建数据库时,连接才会失败。
如果要检查文件是否存在,请使用QFile::exists()
。