#ifndef MYSQL_H
#define MYSQL_H
#include <QWidget>
#include <QSqlDatabase>
#include <QMessageBox>
#include <QSqlQuery>
#include <QDebug>
#include <QSqlTableModel>
QT_BEGIN_NAMESPACE
namespace Ui { class mysql; }
QT_END_NAMESPACE
class mysql : public QWidget
{
Q_OBJECT
public:
mysql(QWidget *parent = nullptr);
~mysql();
private slots:
void on_insertButton_clicked();
void on_queryButton_clicked();
private:
Ui::mysql *ui;
QSqlDatabase *db;
QSqlTableModel *table;
};
#endif
#include "mysql.h"
#include "ui_mysql.h"
mysql::mysql(QWidget *parent)
: QWidget(parent)
, ui(new Ui::mysql)
{
ui->setupUi(this);
db = QSqlDatabase::addDatabase("QMYSQL");
db.setDatabaseName("test");
db.setHostName("localhost");
db.setDatabaseName("root");
db.setPassword("123456");
if (db.open()) {
QMessageBox::information(this, "连接提示", "连接成功");
table = new QSqlTableModel;
table->setTable("student");
ui->tableView->setModel(table);
}
else{
QMessageBox::warning(this, "连接提示", "连接失败");
}
}
mysql::~mysql()
{
delete ui;
}
void mysql::on_insertButton_clicked()
{
QString id = ui->idLineEdit->text();
QString name = ui->nameLineEdit->text();
QString age = ui->ageLineEdit->text();
QString sql = QString("insert into student values (%1, '%2', '%3');").arg(id).arg(name).arg(age);
QSqlQuery s;
if (s.exec(sql)) {
QMessageBox::information(this, "插入提示", "数据插入成功");
}
else {
QMessageBox::warning(this, "插入提示", "数据插入失败");
}
}
void mysql::on_queryButton_clicked()
{
QString sql("select * from student;");
QSqlQuery s;
s.exec(sql);
while(s.next()) {
qDebug()<<s.value(0);
qDebug()<<s.value(1);
qDebug()<<s.value(2);
}
}
void mysql::on_queryButton_clicked()
{
table->select();
}