1、pro 文件中添加 :
QT += sql
包含头文件
#include <QSqlDatabase>
#include <QDebug>
2、查看当前Qt支持的数据库驱动(添加语句在构造函数中)
//打印Qt当前支持的数据库驱动
qDebug() << QSqlDatabase::drivers();
笔者的输出为:
Debugging starts
("QSQLITE", "QMYSQL", "QMYSQL3", "QODBC", "QODBC3", "QPSQL", "QPSQL7")
3、添加一个自己想用的数据库
//添加数据库
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
4、连接到库
//连接数据库
db.setHostName("127.0.0.1");//数据库服务器的Ip
db.setUserName("root"); //用户名
db.setPassword("123456"); //密码
db.setDatabaseName("info"); // 使用哪一个数据库
5、打开数据库
//打开数据库
if( !db.open() )
{
QMessageBox::warning(this,"open db",db.lastError().text());
return ;
}
6、cpp整体程序
#include "widget.h"
#include "ui_widget.h"
#include <QSqlDatabase>
#include <QDebug>
#include <QMessageBox>
#include <QSqlError>
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
//打印Qt当前支持的数据库驱动
qDebug() << QSqlDatabase::drivers();
//添加数据库
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
//连接数据库
db.setHostName("127.0.0.1");//数据库服务器的Ip
db.setUserName("root"); //用户名
db.setPassword("123456"); //密码
db.setDatabaseName("info"); // 使用哪一个数据库
//打开数据库
if( !db.open() )
{
QMessageBox::warning(this,"open db",db.lastError().text());
return ;
}
}
Widget::~Widget()
{
delete ui;
}