mysql - 连接Mysql和qt?

标签 mysql database qt ubuntu connection

我在连接我正在构建的程序与 qt 时遇到了一些困难。一旦我这样做了,我如何让数据库与表格小部件一起工作?

我可能应该让您知道,除了使用 libreoffice base 创建数据库之外,我不知道从哪里开始。

最佳答案

Qt 提供了模型/ View 框架,它是一种非常灵活的工具,用于在表格、树或列表中显示数据。所以你需要使用的模型是QSqlTableModel

首先创建一个QSqlDatabase实例,并连接到数据库

QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setDatabaseName("my_database");
db.setUserName("username");
db.setPassword("password");
if(!db.open())
    QMessageBox::warning(this,"Error","Unable to connect to the database");

然后创建模型

QSqlTableModel *model = new QSqlTableModel(parent,db);
model->setTable("students");
model->select(); //< fetch data

最后告诉表格显示这个模型的数据

QTableView *table = new QTableView;
table->setModel(model);

关于mysql - 连接Mysql和qt?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6968700/

相关文章:

mysql - 使用数据文件的副本恢复 mysql 数据库

java - Android - 在 TableLayout 中显示 SQLite 数据库记录

php - 面临将值放入聊天页面 php 的问题

c++ - 是否有必要在 Qt 中删除对话框窗口指针?

mysql - 收入和支出计算

C# - EF 6 - MySQL : Error when calling method from unit test method

PHP 和 mysql 表

mysql - 如何仅对 MySQL 中的数据子集强制执行区分大小写的唯一索引?

mysql - sql搜索字符串并获取所有行内容

qt - PyQt5 一信号多槽