美文网首页
centos7下使用QT连接postgre10数据库并使用

centos7下使用QT连接postgre10数据库并使用

作者: new_liziang | 来源:发表于2019-12-24 19:29 被阅读0次

    操作系统:centos7.2
    QT:5.8.0
    postgre:10

    1.首先安装QT(亲测可用)
    https://www.cnblogs.com/zhuyc110/p/6731110.html
    我的安装路径是在:/opt目录下

    qt安装目录.png
    在 /opt/Qt5.8.0/5.8/gcc_64/plugins/sqldrivers 目录下我们可以看到分别是sqlite,mysql,psql(postgre)的动态库。 postgre.png

    2.安装postgre数据库
    https://blog.csdn.net/rudy5348/article/details/79299162
    注意第六部的修改配置文件时vi /var/lib/pgsql/10/data/pg_hba.conf
    METHOD一列要改成md5,否则密码设置无效

    3.代码
    mainwindow.cpp

    #include "mainwindow.h"
    #include "ui_mainwindow.h"
    #include <QTextCodec>
    #include <QMessageBox>
    #include <QDebug>
    #include <QSqlDatabase>
    
    MainWindow::MainWindow(QWidget *parent) :
        QMainWindow(parent),
        ui(new Ui::MainWindow)
    {
        ui->setupUi(this);
        qDebug() << QSqlDatabase::drivers();//打印qt支持的数据库类型
            setWindowTitle("SQL");//设置窗口的标题
    
            QTextCodec::setCodecForLocale(QTextCodec::codecForLocale());//设置显示中文
            QSqlDatabase db = QSqlDatabase::addDatabase("QPSQL");//postgre数据库
            db.setHostName("127.0.0.1");//ip地址
            db.setDatabaseName("testdb");//数据库名
            db.setUserName("postgres");//用户名,postgre自带的用户名postgres
            db.setPassword("postgres");//密码
            db.setPort(5432);//postgre默认端口
    
            if(!db.open()) //如果数据库打开失败,会弹出一个警告窗口
            {
                QMessageBox::warning(this, "警告", "数据库打开失败");
            }
            else
            {
               qDebug() <<"数据库打开成功";
            }
    }
    
    MainWindow::~MainWindow()
    {
        delete ui;
    }
    
    数据库打开成功.png

    相关文章

      网友评论

          本文标题:centos7下使用QT连接postgre10数据库并使用

          本文链接:https://www.haomeiwen.com/subject/vrbfoctx.html