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

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

【问题讨论】:

    标签: c++ database qt5.5


    【解决方案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));