超详细的Qt配置MySQL数据库
先查看你的mysql是否和qt的版本匹配
从Qt12开始,Qt提供了对MySQL0及更高版本的支持。如果您使用的是较早版本的Qt,则可能需要手动编译MySQL驱动程序或使用第三方MySQL驱动程序。1如何查看MYSQL位数打开MySQL控制台输入**showvariableslike‘%version_%’;**即可
编译MYSQL驱动
双击mysql.pro文件QtCreator运行
选择编译器后点击ConfigureProject
编译报错,未定义的mysql
解决方案,指定mysql链接库
**5代码测试**
#include "mainwindow.h" // *****注意****
#include<QSqlDatabase>
#include <QApplication>
#include<QMessageBox>
#include <QSqlError>
#include <QDebug>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w; //*****替换一下*****
w.show();
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("127.0.0.1"); //连接本地主机
db.setPort(3306); //端口号,默认的
db.setDatabaseName("game"); //数据库名
db.setUserName("root"); //用户
db.setPassword("ln123456789"); //密码
bool ok = db.open();
if (ok){
QMessageBox::information(0, "infor", "link success");
}
else {
QMessageBox::information(0, "infor", "link failed");
// qDebug()<<"error open database because"<<db.lastError().text();
}
QSqlError error;
error = db.lastError();
if(error.isValid())
{
switch(error.type())
{
case QSqlError::NoError:
qDebug() << "无错误";
break;
case QSqlError::ConnectionError:
qDebug() << error.text();
break;
case QSqlError::StatementError:
qDebug() << error.text();
break;
case QSqlError::TransactionError:
qDebug() << error.text();
break;
default:
qDebug() << error.text();
break;
}
}
return a.exec();
}
文章为作者独立观点,不代表股票交易接口观点