QStringList list = QSqlDatabase::drivers();
qDebug() << list;//打印支持的sql驱动
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");db.setDatabaseName("f"); // 数据库名称db.setHostName("localhost"); // 主机名db.setUserName("你的用户名"); // 数据库,用户名db.setPassword("你的密码"); // 数据库,密码db.setPort(3306); // 数据库,端口
//判断打开数据库是否成功if(!db.open()){qDebug()<<"QMYSQL link fail's cause:"<qDebug()<<"link success!!!";}
以f数据库中的fruit表为例
//获取数据库中某个表的内容信息QSqlQuery query;QString sql = "select * from fruit;";//在当前这个库中执行sql语句query.exec(sql);while(query.next()){//取出当前记录中的字段qDebug()<
//sql事务操作(只有在写操作时才有必要进行事务操作)sql = "insert into fruit values(6,'芒果',5.6,'kg');";db.transaction();//创建事务bool flag = query.exec(sql);//exec()会执行SQL语句,如果是select语句,则执行结果会放在query中if(flag)//如果sql执行成功就,{db.commit();//提交事务}else{//如果sql执行失败就,db.rollback();//事务回滚}
//数据库操作结束后,记得关闭db.close();
QT += core gui sql
#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACEclass MainWindow : public QMainWindow
{Q_OBJECTpublic:MainWindow(QWidget *parent = nullptr);~MainWindow();private:Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
#include "mainwindow.h"#include int main(int argc, char *argv[])
{QApplication a(argc, argv);MainWindow w;w.show();return a.exec();
}
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include
#include
#include
#include MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);QStringList list = QSqlDatabase::drivers();qDebug() << list;//打印支持的sql驱动QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");db.setDatabaseName("f"); // 数据库名称db.setHostName("localhost"); // 主机名db.setUserName("你的用户名"); // 数据库,用户名db.setPassword("你的密码"); // 数据库,密码db.setPort(3306); // 数据库,端口//判断打开数据库是否成功if(!db.open()){qDebug()<<"QMYSQL link fail's cause:"<qDebug()<<"link success!!!";}//获取数据库中某个表的内容信息QSqlQuery query;QString sql = "select * from fruit;";//在当前这个库中执行sql语句query.exec(sql);while(query.next()){//取出当前记录中的字段qDebug()<db.commit();//提交事务}else{//如果sql执行失败就,db.rollback();//事务回滚}//再查询一次sql="select * from fruit;";query.exec(sql);while(query.next()){//取出当前记录中的字段qDebug()<delete ui;
}
("QSQLITE", "QMYSQL", "QMYSQL3", "QODBC", "QODBC3", "QPSQL", "QPSQL7")
link success!!!
1 : "苹果" , 5.5 : "kg"
2 : "橘子" , 6.5 : "kg"
3 : "榴莲" , 9.6 : "kg"
4 : "菠萝" , 5.5 : "kg"
5 : "荔枝" , 9.6 : "kg"
=================
1 : "苹果" , 5.5 : "kg"
2 : "橘子" , 6.5 : "kg"
3 : "榴莲" , 9.6 : "kg"
4 : "菠萝" , 5.5 : "kg"
5 : "荔枝" , 9.6 : "kg"
6 : "芒果" , 5.6 : "kg"