簡體   English   中英

QSqlDatabase :: open()始終返回true Qt 5.3.2

[英]QSqlDatabase::open() always returns true Qt 5.3.2

與我設置為setDatabaseName函數的參數setDatabaseNameopen函數始終返回true。 那是正常的嗎?

例如:

如果我運行以下代碼:

QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");

db.setDatabaseName("");

if( db.open() )
{
    qDebug() << "open";
}

打開函數返回true。

我期望的是,打開函數僅在成功連接到數據庫后才返回true。

我已經找到了一些主題,但是都沒有解決我的問題:

Qt 5.5 QSqlDatabase :: open()總是返回true嗎?

QSqlDatabase :: open()始終返回true

QSqlDatabase打開總是在更新后返回true

我正在使用SQLite和Qt 5.3.2。

這很正常,因為連接會為您成功。

具體來說,如果數據庫不存在,sqlite將創建它。 僅當無法使用給定的文件路徑創建數據庫時,連接才會失敗。

如果要檢查文件是否存在,請使用QFile::exists()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM