如何在 Linux 上使用 Qt5 访问远程 MySQL 服务器?

Posted

技术标签:

【中文标题】如何在 Linux 上使用 Qt5 访问远程 MySQL 服务器?【英文标题】:How to access remote MySQL server using Qt5 on Linux? 【发布时间】:2016-04-20 12:08:36 【问题描述】:

我在使用 QT5 更新远程 mysql 数据库方面需要一些帮助。我正在使用 Linux Ubuntu 12.04。我希望我的应用程序连接到远程服务器并向其写入一些数据。任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

这是一个例子:

#include <QCoreApplication>
#include <QtSql/QSqlDatabase>
#include <QtSql/QSqlQuery>
#include <QDebug>

int main(int argc, char *argv[])

   QCoreApplication a(argc, argv);

    //use mysql driver
    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");

    //set hostname
    db.setHostName("localhost");

    //set db name
    db.setDatabaseName("test");

    //set username and password
    db.setUserName("user");
    db.setPassword("pass");

    //open db
    bool ok = db.open();

    qDebug() << "Db is open: " << ok;

    //define a query
    QSqlQuery query;
    //set query
    query.exec("SELECT * FROM `Persons`");

    //get values from query
    while (query.next()) 
            QString LastName = query.value(1).toString();
            QString  FirstName = query.value(2).toString();
            int age = query.value(3).toInt();
            qDebug() << LastName << " " << FirstName << " " << age;
        

    //close db
    db.close();

  return a.exec();
 

【讨论】:

创建一个名为“test”的数据库和一个表“Persons” CREATE TABLE Persons ( ID int NOT NULL AUTO_INCREMENT, LastName varchar(255) NOT NULL, FirstName varchar(255), Age int, PRIMARY密钥(ID));

以上是关于如何在 Linux 上使用 Qt5 访问远程 MySQL 服务器?的主要内容,如果未能解决你的问题,请参考以下文章

如何在符合 LGPL 的 Linux 上部署 Qt5 应用程序? [关闭]

Linux环境下Mysql开启远程访问权限

如何远程访问centos服务器

linux下mysql允许外部远程访问配置

如何远程访问MySQL数据库详解

如何linux 远程桌面访问windows。