QT实现把SQLite3数据库中表的数据加载到QTablewidget中
以下是一个简单的示例,展示如何使用Qt将SQLite3数据库中表的数据加载到QTableWidget中。
#include <QtWidgets>
#include <QtSql>
void loadTable(QTableWidget *tableWidget, const QString &connectionName, const QString &tableName) {
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE", connectionName);
db.setDatabaseName("your_database_file.db");
if (!db.open()) {
qDebug() << "Cannot open database";
return;
}
QSqlQuery query(db);
query.exec(QString("SELECT * FROM %1").arg(tableName));
while (query.next()) {
int row = tableWidget->rowCount();
tableWidget->insertRow(row);
for (int col = 0; col < query.record().count(); ++col) {
QTableWidgetItem *item = new QTableWidgetItem(query.value(col).toString());
tableWidget->setItem(row, col, item);
}
}
}
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
QTableWidget *tableWidget = new QTableWidget();
tableWidget->setWindowTitle("QTableWidget Example");
// 假设数据库已经存在并且表名为 "my_table"
loadTable(tableWidget, "MyConnection", "my_table");
tableWidget->show();
return app.exec();
}
确保替换your_database_file.db
为您的SQLite3数据库文件路径,以及my_table
为您的数据库表名。
这段代码首先尝试连接到SQLite3数据库,然后查询指定的表,并将结果填充到QTableWidget中。记得在.pro文件中添加对QtSql模块的引用:
QT += sql
评论已关闭