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目录下
在 /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