Qt与Sqlite3
操作流程:
(1)与数据库连接
(2)进行增删改查操作
(3)关闭数据库
示例:
参考:Qt 操作SQLite数据库_qt sqlite数据库操作_houxian1103的博客-CSDN博客
再谈QSqlQuery::exec: database not open问题的解决_qt database not open-CSDN博客
if (QSqlDatabase::contains("connection"))
{
database = QSqlDatabase::database("connection");
}
else {
database = QSqlDatabase::addDatabase("QSQLITE","connection");
database.setDatabaseName("identifier.sqlite");
}
if (!database.open())
{
qDebug() << "Error: Failed to connect database." << database.lastError();
}
else {
QSqlQuery query(database);
query.exec("select * from kmd_menu");
if (!query.exec())
{
qDebug() << "Error:" << query.lastError();
}
else {
while (query.next())
{
qDebug() << query.value("name").toString();
}
}
database.close();
}
QSqlDatabase类学习笔记_qsqldatabase::adddatabase-CSDN博客
思考:
QSqlDatabase类对象表示一个数据库的连接。
Qt中的数据库以连接名来区分。
QSqlDatabase b = QSqlDatabase::addDatabase("QSQLITE");
qDebug() << b.connectionName();
结果:"qt_sql_default_connection"
注释:这个程序是有问题的,最后没有removeDatabase(连接名)。