[英]QSqlDatabase::open() always returns true Qt 5.3.2
與我設置為setDatabaseName
函數的參數setDatabaseName
, open
函數始終返回true。 那是正常的嗎?
例如:
如果我運行以下代碼:
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("");
if( db.open() )
{
qDebug() << "open";
}
打開函數返回true。
我期望的是,打開函數僅在成功連接到數據庫后才返回true。
我已經找到了一些主題,但是都沒有解決我的問題:
Qt 5.5 QSqlDatabase :: open()總是返回true嗎?
QSqlDatabase :: open()始終返回true
我正在使用SQLite和Qt 5.3.2。
這很正常,因為連接會為您成功。
具體來說,如果數據庫不存在,sqlite將創建它。 僅當無法使用給定的文件路徑創建數據庫時,連接才會失敗。
如果要檢查文件是否存在,請使用QFile::exists()
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.