Qt5.9.9,MSVC2015 64bit,Mysql5.5 64bit(编译器位数需与MySql位数一致)
1.找到mysql安装文件中的libmysql.dll文件,复制到D:\Qt\Qt5.9.9\5.9.9\msvc2015_64\bin;
2.项目文件pro添加 QT += sql;
3.添加头文件 #include (没有空格);
4.实例:点击一次按钮给数据库增加一条数据。
尤其注意mainwindow.cpp中注释“//主键不能进行设置,否则报错。表中算上主键共五个字段,只设置后四个。”。
main.cpp
#include "mainwindow.h"
#include
int main(int argc, char *argv[])
{QApplication a(argc, argv);MainWindow w;w.show();return a.exec();
}
mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include
#include
#include
#include
#include QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACEclass MainWindow : public QMainWindow
{Q_OBJECTpublic:MainWindow(QWidget *parent = nullptr);~MainWindow();private slots:void on_pushButton_clicked();private:Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
int num1,num2,num3,num4;
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);db.setHostName("localhost");db.setDatabaseName("world");db.setUserName("root");db.setPassword("123");
}MainWindow::~MainWindow()
{delete ui;
}void MainWindow::on_pushButton_clicked()
{ num1&#43;&#61; 1;num2&#43;&#61; 1;num3&#43;&#61; 1;num4&#43;&#61; 1;if(db.open()){QSqlQuery query;//使用query.exec("select * from city");传送固定sql语句。//query.exec("select * from city");//使用query.prepare("insert into city values(?,?,?,?,?)");可以在程序外修改sql语句。query.prepare("insert into city values(?,?,?,?,?)");//主键不能进行设置&#xff0c;否则报错。表中算上主键共五个字段&#xff0c;只设置后四个。query.bindValue(1,num1);query.bindValue(2,num2);query.bindValue(3,num3);query.bindValue(4,num4);bool success &#61; query.exec();if(!success){QSqlError lastError &#61; query.lastError();//返回数据库的错误信息qDebug() <}