#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QSqlQuery>
#include <QSqlDatabase>
#include <QSqlError>
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = nullptr);
~Widget();
void insertData();
private:
QSqlDatabase db;
};
#endif // WIDGET_H
#include "widget.h"
#include <qdebug.h>
Widget::Widget(QWidget *parent)
: QWidget(parent)
{
qDebug()<<QSqlDatabase::drivers();
db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("testDB.db");
db.setUserName("root");
db.setPassword("123456"); //创建数据库
bool isOk = db.open();
if(!isOk){
qDebug()<<"error info :"<<db.lastError();
}
else{
QSqlQuery query;
QString creatTableStr = "CREATE TABLE Customers \
( \
mac_id char(10) NOT NULL , \
rack_id char(50) NOT NULL \
);";
query.prepare(creatTableStr);
if(!query.exec()){
qDebug()<<"query error :"<<query.lastError();
}
else{
qDebug()<<"creat table success!";
}
}
db.close();
insertData();
}
Widget::~Widget()
{
}
void Widget::insertData()
{
//------------------
bool ok = db.open();
if (!ok)
{
qDebug() << "error info::" << db.lastError();
}
else
{
QSqlQuery query;
QString mInsertStr = QString("INSERT INTO Customers (mac_id,rack_id)"
"VALUES(%1,%2)").arg(10).arg(20);
query.prepare(mInsertStr); //对数据操作
if (!query.exec()) {
qDebug() << "message::"<< query.lastError();
}
}
db.close();
//------------------------------
}
效果: