1:pro文件里加上
QT += sql
2:建立mysql.h 定义全局变量
#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
#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; }
运行结果:
发表评论