以下是使用Qt连接MySQL数据库的攻略:
安装MySQL及Qt对应的插件
- 安装MySQL,可以通过apt-get方式安装:
sudo apt-get install mysql-server
- 安装Qt对应的插件,如Qt mysql插件:在Ubuntu系统下,可以通过命令
sudo apt-get install libqt5-sql-mysql
进行安装。
创建MySQL数据库及数据表
- 登录MySQL:
mysql -u root -p
(输入root用户密码) - 创建数据库:
CREATE DATABASE mydb;
- 选择我们刚才创建的数据库:
USE mydb;
- 创建数据表并插入数据,例如list表:
CREATE TABLE list (
id INT(11) NOT NULL AUTO_INCREMENT,
name VARCHAR(100),
age INT(11),
PRIMARY KEY (id)
);
INSERT INTO list (name, age) VALUES ('Tom', 20);
INSERT INTO list (name, age) VALUES ('Jerry', 25);
Qt连接MySQL数据库
- 打开Qt Creator新建Qt应用程序,选择桌面应用程序模板并填写相关信息
- 打开mainwindow.cpp文件,添加以下头文件:
#include <QtSql>
#include <QDebug>
- 将以下代码添加到构造函数中,实现连接MySQL数据库:
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setPort(3306);
db.setDatabaseName("mydb");
db.setUserName("root");
db.setPassword("YourPassword");
if ( !db.open() ) {
qDebug() << db.lastError().text();
} else {
qDebug() << "Database connected.";
}
其中,setHostName()
设置MySQL服务器的IP地址或主机名,setPort()
设置MySQL服务器的端口号,setDatabaseName()
设置需要连接的数据库名称,setUserName()
和setPassword()
设置连接数据库的用户名和密码。
4. 添加以下代码查询list表中的数据,并进行显示:
QSqlQuery query;
query.exec("SELECT * FROM list");
while (query.next()) {
QString name = query.value(1).toString();
int age = query.value(2).toInt();
qDebug() << "name:" << name << "--- age:" << age;
}
以上就是在Ubuntu Linux下使用Qt连接MySQL数据库的方法,其中构造函数中的代码可根据实际情况进行修改。下面给出两个示例说明:
示例一
假设我们需要在Qt程序中插入一条新的数据到list表中,添加如下代码:
QSqlQuery query;
query.prepare("INSERT INTO list (name, age) "
"VALUES (:name, :age)");
query.bindValue(":name", "Lucy");
query.bindValue(":age", 18);
if (!query.exec()) {
qDebug() << query.lastError().text();
} else {
qDebug() << "Data inserted.";
}
执行该代码后,可以在MySQL数据库的list表中看到新增的数据。
示例二
在Qt Creator中打开mainwindow.ui文件,将一个QTableWidget拖入到设计界面中。在mainwindow.cpp文件中添加以下代码,将list表中的数据显示在QTableWidget中:
QSqlTableModel *model = new QSqlTableModel(this);
model->setTable("list");
model->select();
ui->tableView->setModel(model);
执行代码后,就可以看到list表的数据以表格形式显示在Qt应用程序的界面中了。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:ubuntu linux下使用Qt连接MySQL数据库的方法 - Python技术站