QT5.12 +mysql的一段笔记
1:pro文件里加上
QT += sql
2:建立mysql.h 定义全局变量
C++
#ifndef MYSQL_H
#define MYSQL_H
#include <QWidget>
#include <QtSql/QSql>
#include <QtSql/QSqlError>
#include <QtSql/QSqlDatabase>
#include <QtSql/QSqlQuery>
#include <QtSql/QSqlQueryModel>
#include <QCoreApplication>
#include <QtSql/QSqlError>
#include <QtDebug>
class mySQL: public QWidget
{
Q_OBJECT
public:
static QSqlDatabase cn ; //定义全局变量
private:
};
#endif // MYSQL_H
3:from 里加上 tableWidget
编译一下
4:widget.cpp
C++
#include "widget.h"
#include "ui_widget.h"
#include <QDebug>
#include <QMessageBox>
#include <mysql.h>
QSqlDatabase mySQL::cn = QSqlDatabase::addDatabase("QMYSQL");
bool OpenDatabase()
{
//数据库驱动类型为SQL Server
mySQL::cn.setHostName("192.168.4.240"); //连接数据库主机名,这里需要注意(若填的为”127.0.0.1“,出现不能连接,则改为localhost)
mySQL::cn.setPort(3307); //连接数据库端口号,与设置一致
mySQL::cn.setDatabaseName("assets"); //连接数据库名,与设置一致
mySQL::cn.setUserName("root"); //数据库用户名,与设置一致
mySQL::cn.setPassword("**********"); //数据库密码,与设置一致
mySQL::cn.open();
if(!mySQL::cn.open()) //打开数据库
{
qDebug()<<mySQL::cn.lastError().text();
QMessageBox::critical(0, QObject::tr("打开数据库失败!!"), mySQL::cn.lastError().text());
return false; //打开失败
}
else
{
qDebug()<<"打开数据库成功!";
}return true;
}
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
//connect(this,Widget::resize,this,[+=]);
if(OpenDatabase()){
//成功执行查询语句
QSqlQuery query(mySQL::cn); //查询 表并输出,测试能否正常操作数据库
query.exec("SELECT * FROM asset_config order by config_name");
QStringList list1;
list1.clear();
list1<<"类型"<<"组"<<"编码"<<"值";
ui->tableWidget->setColumnCount(list1.size());
ui->tableWidget->setHorizontalHeaderLabels(list1);
int row=0;
ui->tableWidget->setRowCount(20); //暂时设置成20行
while(query.next())
{
ui->tableWidget->setItem(row,0,new QTableWidgetItem(query.value("config_name").toString()));
ui->tableWidget->setItem(row,1,new QTableWidgetItem(query.value("type_id").toString() ));
ui->tableWidget->setItem(row,2,new QTableWidgetItem(query.value("type_code").toString()));
ui->tableWidget->setItem(row,3,new QTableWidgetItem(query.value("type_name").toString() ));
row++;
}
}
}
Widget::~Widget()
{
delete ui;
}
运行结果:
登录后可发表评论
点击登录