db = QSqlDatabase::addDatabase("QSQLITE"); db.setDatabaseName("thi.db"); if(!db.open()) { qDebug()<< "Error failed to open" <<db.lastError(); } else { qDebug()<<"open success"; }
时间: 2024-01-19 11:02:33 浏览: 176
这段代码使用了 QSqlDatabase 类来连接一个 SQLite 数据库,如果连接成功则输出 "open success",否则输出错误信息。
具体来说,代码中的第一行 `db = QSqlDatabase::addDatabase("QSQLITE");` 表示我们将要使用 SQLite 数据库,并将其添加到 QSqlDatabase 中。
接下来,我们设置数据库的名称 `db.setDatabaseName("thi.db");`。这里,我们将数据库命名为 "thi.db"。
然后,我们尝试打开数据库连接 `if(!db.open())`。如果连接失败,我们将输出一个包含错误信息的调试语句 `qDebug()<< "Error failed to open" <<db.lastError();`。其中 `db.lastError()` 函数用于获取最后一个出现的数据库错误信息。如果连接成功,我们将输出一个成功信息 `qDebug()<<"open success";`。
这段代码只是连接到了数据库,如果您想执行查询等操作,则需要通过 QSqlQuery 类来实现。例如,使用以下代码可以执行一个简单的查询并输出结果:
```c++
QSqlQuery query;
if (!query.exec("SELECT name, age FROM people")) {
qWarning() << "Failed to execute query.";
return 1;
}
while (query.next()) {
QString name = query.value(0).toString();
int age = query.value(1).toInt();
qDebug() << name << age;
}
```
请注意,您需要在项目的 `.pro` 文件中添加以下行才能使用 QSqlDatabase:
```
QT += sql
```
阅读全文