Indépendamment du paramètre que j'ai défini sur la fonction setDatabaseName
, la fonction open
renvoie toujours la valeur true. Est-ce normal?QSqlDatabase :: open() renvoie toujours vrai Qt 5.3.2
Par exemple:
Si je courais le code suivant:
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("");
if(db.open())
{
qDebug() << "open";
}
La fonction open retourne true. Ce que j'attends, c'est que la fonction open ne renvoie true que si elle a été correctement connectée à la base de données.
je trouve déjà quelques sujets, mais pas résolu mon problème:
Qt 5.5 QSqlDatabase::open() always returns true?
QSqlDatabase::open() always returns true
QSqlDatabase open always returns true after update
J'utilise SQLite et Qt 5.3.2.
Pour sqlite, il crée une base de données si le fichier n'existe pas. Bien que je ne suis pas sûr de ce qu'il est censé faire si vous lui donnez un nom de fichier vide. – drescherjm
@drescherjm, merci. Je ne le savais pas. Donc, si j'ai besoin de vérifier si le fichier de base de données existe, dois-je le faire "manuellement"? – KelvinS
Dans mon code, je vérifie si le fichier existe. – drescherjm