一、环境
- QT版本:QT 5.8.0(msvc2013_64)
- MySQL版本:mysql 5.7.19
二、配置
之前 mysql 数据库一直都连接不上,网上也搜了很多资料,主要还是库文件的问题。
重新将 mysql.pro 编译一下,将生成的 .dll 和 .lib 文件拷贝到 QT 安装目录下相应的文件夹中就可以了。
具体操作可以直接上网搜索。
三、连接
打开数据库,在创建 test1 表,并加入数据。
新建一个 QT 项目,在 .pro 文件中加入 QT += sql 。
测试与 mysql 连接代码如下:
#include <QApplication>
#include <QMessageBox>
#include <QSqlError>
#include <QTextCodec>
#include <QDebug>
#include <QSqlDatabase>
#include <QSqlQuery>
bool creatConnect();
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QTextCodec *codec = QTextCodec::codecForName("UTF-8");
QTextCodec::setCodecForLocale(codec);
if(!creatConnect())
{
return 1;
}
qDebug() << "Available drivers:";
QStringList drivers = QSqlDatabase::drivers();
foreach(QString driver, drivers)
qDebug() << "\t "<< driver;
qDebug() << "End";
QSqlQuery query;
QString sql = "select * from test1;";
qDebug() << sql;
query.exec(sql);
while(query.next())
{
qDebug()<<query.value(0).toString()<<query.value(1).toString();
}
return a.exec();
}
bool creatConnect()
{
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("127.0.0.1");
db.setPort(3306);
db.setDatabaseName("testmysql01");
db.setUserName("root");
db.setPassword("1234");
bool ok = db.open();//建立数据库连接
if(!ok)
{
QMessageBox::critical(0,QObject::tr("连接数据库失败!!!"),db.lastError().text());
return false;
}
else
{
QMessageBox::information(0,QObject::tr("Tips"),QObject::tr("连接数据库成功!!!"));
return true;
}
}
数据库连接成功。
读取数据库成功。