#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
//[1] 根据数据库的类型来连接数据
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setDatabaseName("dbtest");
db.setUserName("root");
db.setPassword("root");
//[2] 打开数据库
if(db.open())
{
qDebug() << "Database connect success! ";
}else {
qDebug() << "Database connect error!" << db.lastError();
}
//[3] 根据需求,创建数据库所需要的表
QSqlQuery query;
QString sqlCreateTable = QString("create table staff(id integer primary key autoincrement,"
"name varchar(20),"
"age int,"
"address varchar(50),"
"salary int);");
if(!query.exec(sqlCreateTable))
{
qDebug() << "create table" << db.lastError();
}
}
Widget::~Widget()
{
delete ui;
}
void Widget::on_addBtn_clicked()
{
}
void Widget::on_updateBtn_clicked()
{
}
void Widget::on_deleteBtn_clicked()
{
}
void Widget::on_selectBtn_clicked()
{
ui->listWidget->clear(); // 在查询数据之前,清空列表上的内容
QSqlQuery query;
//[1] 向数据库下达查询数据的命令
QString sqlSelect = QString("select * from staff;");
if(!query.exec(sqlSelect))
{
qDebug() << "Error insert into data" << db.lastError();
}
//[2] 遍历数据库记录
while(query.next())
{
int id = query.value("id").toInt();
QString name = query.value("name").toString();
int age = query.value("age").toInt();
QString address = query.value("address").toString();
QString salary = query.value("salary").toString();
qDebug() << "id = " << id << "name = " << name << "age = " << age <<
"address = " << address << "salary = " << salary;
}
}
临时文件上传资源。。。
需积分: 9 45 浏览量
2022-07-20
00:24:59
上传
评论
收藏 4KB 7Z 举报
Cappuccino-jay
- 粉丝: 308
- 资源: 36
最新资源
- 冯璐阳 42105650—祝福.docx
- 基于多种算法及改进算法实现的移动机器人路径规划matlab源码(含A星算法+PRM+RRT的改进等).zip
- 布里斯托尔纸细分市场、总体规模、先进性、市占率行业分析报告2024年.docx
- Obi绳子插件,好用的很 6.5.4版本
- openjfx-22.0.1-windows-x64-bin-sdk.zip
- 基于ros和stm32f1的小车代码(含串口通信)+项目说明.zip
- 人体姿态估计-基于Tensorflow实现的人体姿态估计算法-附项目源码-优质项目分享.zip
- java实现所有算法大全
- JDBC DAO模式 (复习)
- Proteus仿真AT89C51电子密码锁
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
评论0