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

2019-12-24  本文已影响0人  new_liziang

操作系统: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
上一篇下一篇

猜你喜欢

热点阅读