qt使用sqlite表数据用tableview展示的问题
#include <QApplication>
#include <QTableView>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QSqlError>
#include <QDebug>
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
// 连接SQLite数据库
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName(":memory:");
if (!db.open()) {
qDebug() << "数据库打开失败:" << db.lastError();
return -1;
}
// 创建一个表并插入数据
QSqlQuery query;
bool success = query.exec("CREATE TABLE people ("
"id INTEGER PRIMARY KEY, "
"firstname VARCHAR(20), "
"lastname VARCHAR(20))");
if (!success) {
qDebug() << "创建表失败:" << query.lastError();
return -1;
}
success = query.exec("INSERT INTO people VALUES (1, 'John', 'Doe')");
if (!success) {
qDebug() << "插入数据失败:" << query.lastError();
return -1;
}
// 查询数据并使用QTableView展示
QTableView tableView;
QSqlQueryModel *model = new QSqlQueryModel(&tableView);
model->setQuery("SELECT * FROM people");
tableView.setModel(model);
tableView.show();
return app.exec();
}
这段代码首先设置了Qt的SQLite数据库,并创建了一个内存中的数据库。然后创建了一个名为"people"的表,并插入了一条示例数据。接着,使用QSqlQueryModel
查询了这个表的数据,并将其设置到了QTableView
上,最后显示出来。这个例子展示了如何在Qt中使用SQLite数据库和QTableView
来展示表数据。
评论已关闭