Qt connects to the MySQL database, the Qt version is Qt5.4.0, and the MySQL version is mysql-5.7.21-win32;
//Widget.h #ifndef WIDGET_H #define WIDGET_H #include <QWidget> #include <QSqlDatabase> namespace Ui { class Widget; } class Widget : public QWidget { Q_OBJECT public: explicit Widget(QWidget *parent = 0); ~Widget(); private slots: void on_pushButton_clicked(); void on_pushButton_2_clicked(); private: Ui :: Widget * ui; }; #endif // WIDGET_H
//main.cp #include "Widget.h" #include <QApplication> int main(int argc, char *argv[]) { QApplication a(argc, argv); Widget w; w.show(); return a.exec(); }
//Widget.cpp #include "Widget.h" #include "ui_Widget.h" #include <QSqlDatabase> #include <QSqlError> #include <QSqlQuery> #include <QDebug> Widget::Widget(QWidget *parent) : QWidget(parent), ui (new Ui :: Widget) { ui-> setupUi (this); //database 1 QSqlDatabase db =QSqlDatabase::addDatabase("QMYSQL"); // If the connection name is not specified, it is the default database db.setDatabaseName("sns"); db.setHostName("127.0.0.1"); db.setPort(3306); db.setUserName("root"); db.setPassword("123456"); if (! db.open()) { qDebug()<<"open sns error!"; return; } else{ qDebug()<<"open sns!"; } // QSqlQuery query; // query.exec("create table student(id int primary key auto_increment,name varchar(255),age int,score int);"); QSqlQuery query; query.exec("insert into student(id ,name ,age ,score) values(201201,'张三',18,53);"); //database 2 QSqlDatabase db2 = QSqlDatabase::addDatabase("QMYSQL", "a"); // If you want to connect to multiple databases, you must specify a different connection name, otherwise the above default connection will be overwritten db2.setDatabaseName("bbs"); db2.setHostName("127.0.0.1"); db2.setPort(3306); db2.setUserName("root"); db2.setPassword("123456"); if (! db2.open()) { qDebug()<<"open bbs error!"; return; } else{ qDebug()<<"open bbs!"; } QSqlQuery query1(db2); query1.exec("create table teacher(id int primary key ,name varchar(255),age int,score int);"); query1.exec("insert into teacher(id ,name ,age ,score) values(2018,'abc',22,33);"); } Widget::~Widget() { delete ui; } void Widget::on_pushButton_clicked() { //Operate database 1 QSqlQuery query; //Default database 1 query.exec("select * from student"); // while(query.next()) // { query.next(); QString k= query.value(0).toString(); qDebug()<<k; // } } void Widget::on_pushButton_2_clicked() { //Operate database 2 QSqlDatabase db2 = QSqlDatabase::database("a");//Connect to database 2 QSqlQuery query(db2); //Bind db2 query.exec("select * from teacher"); while(query.next()) { QString k= query.value(1).toString(); qDebug()<<k; } }