0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Qt学习笔记之数据库结构设计3

jf_78858299 来源:纷纭杂谈 作者:CY_CHEN 2023-02-17 11:27 次阅读

一、UI界面设计(QListWidget)

首先布局好UI界面

图片

布局好后,我们需要在ListWidget上显示很多内容,但是一个字符串列表不足以完成这个需求,或者能够完成效果也不是很好,所以需要创建一个新的UI页面自定义一个条目布局。

图片

图片

二、sqlite数据生成

//1、根据数据库类型来连接数据
    db = QSqlDatabase::addDatabase("QSQLITE");
    db.setDatabaseName("compary.db");
    //2、打开数据库
    if(!db.open())
    {
        qDebug()<<"open error"<<db.lastError();
    }
    //3、根据需求,创建数据库所需要表
    QSqlQuery query;
    /**
      * 员工表:staff
      * 字段名有 id name age address salary
     **/
    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();
    }


    QString sqlInsert = QString("insert into staff(name,age,address,salary)"
                                "values('张三',20,'广州市天河区',12000);");
    if(!query.exec(sqlInsert))
    {
        qDebug() << "Error insert into data" << db.lastError();
    }

运行程序,在SQLite中查看,数据已经写入数据库表中

图片

但是每次都这样通过SQLite这种软件来查看数据库表,显然是不方便的,所以需要直接显示到Qt页面上。

三、sqlite数据跟UI联动

使用查询按键,查询数据库表内容,逐行显示到Qt控件中

void SQLite_ListWidget::on_pushButton_Query_clicked()
{
    ui->listWidget->clear();//在查询数据之前,清空列表上的内容
    QSqlQuery query;
    QString sqlQuery = QString("select * from staff;");//1、查询数据
    if(!query.exec(sqlQuery))
    {
        qDebug() << "Error query 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();
        int salary = query.value("salary").toInt();


        qDebug() << "id = " << id  << "name" << name << "age = " << age <<
                    "address = " << address << "salary = " << salary;


        //3、每遍历一条记录,就要更新到UI控件
        //3.1、创建一个列表条目
        itemform* staffitem = new itemform;


        staffitem->setStaffInfo(id,name,age,address,salary);


        QListWidgetItem* item = new QListWidgetItem;


        item->setSizeHint(QSize(412,27));


        ui->listWidget->addItem(item);
        ui->listWidget->setItemWidget(item,staffitem);
    }
}

其中


staffitem->setStaffInfo(id,name,age,address,salary);

是设置数据到item中,需要在itemform.cpp中定义该函数


void itemform::setStaffInfo(int id, QString name, int age, QString addr, int salary)
{
    ui->label_id->setText(QString::number(id));
    ui->label_name->setText(name);
    ui->label_age->setText(QString::number(age));
    ui->label_addr->setText(addr);
    ui->label_salary->setText(QString::number(salary));
}
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据库
    +关注

    关注

    7

    文章

    3799

    浏览量

    64396
  • SQlite
    +关注

    关注

    0

    文章

    78

    浏览量

    15945
  • ui界面
    +关注

    关注

    0

    文章

    11

    浏览量

    1574
收藏 人收藏

    评论

    相关推荐

    数据库系统是什么?数据库系统概念数据库设计资料免费下载

      什么是概念结构设计1.将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计2.概念结构是各种数据模型的共同基础,它比
    发表于 09-07 14:34 1次下载
    <b class='flag-5'>数据库</b>系统是什么?<b class='flag-5'>数据库</b>系统概念<b class='flag-5'>之</b><b class='flag-5'>数据库</b>设计资料免费下载

    如何进行数据库设计?数据库设计介绍和需求分析及结构设计资料概述

    数据库设计的任务是指根据需求研制数据库结构并应用 数据库的过程。数据库设计内容包括数据库
    发表于 09-13 17:05 0次下载
    如何进行<b class='flag-5'>数据库</b>设计?<b class='flag-5'>数据库</b>设计介绍和需求分析及<b class='flag-5'>结构设计</b>资料概述

    如何使用PowerDesigner进行数据库静态结构设计?详细资料概述

    把用户需求抽象为概念模型即为概念结构设计。 概念模型除了要求能反映客观世界并且易于理解外,还要求其易于向数据模型(如关系模型)转化。 概念模型独立于具体的数据库系统,是整个数据库
    发表于 09-13 17:05 0次下载
    如何使用PowerDesigner进行<b class='flag-5'>数据库</b>静态<b class='flag-5'>结构设计</b>?详细资料概述

    数据库静态结构如何设计?详细资料任务和方法说明

    任务:实现数据库设计新奥尔良方法中概念结构设计和逻辑结构设计
    发表于 09-27 15:32 1次下载
    <b class='flag-5'>数据库</b>静态<b class='flag-5'>结构</b>如何设计?详细资料任务和方法说明

    数据库教程之如何进行数据库设计

    本文档的主要内容详细介绍的是数据库教程之如何进行数据库设计内容包括了:1 数据库设计概述 ,2 数据库需求分析 ,3
    发表于 10-19 10:41 21次下载
    <b class='flag-5'>数据库</b>教程之如何进行<b class='flag-5'>数据库</b>设计

    数据库设计的七大知识点总结详细资料免费下载

    本文档的主要内容详细介绍的是数据库设计的七大知识点总结包括了:1 数据库设计概述2 需求分析3 概念结构设计4 逻辑结构设计5
    发表于 10-19 10:41 0次下载
    <b class='flag-5'>数据库</b>设计的七大知识点总结详细资料免费下载

    数据库学习入门资料数据库的概念结构详细资料概述

    什么是概念结构设计 将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计 概念结构是各种数据模型的共同基础,它比
    发表于 10-25 16:29 0次下载
    <b class='flag-5'>数据库</b><b class='flag-5'>学习</b>入门资料<b class='flag-5'>之</b><b class='flag-5'>数据库</b>的概念<b class='flag-5'>结构</b>详细资料概述

    数据库概念结构是如何设计的概念结构设计资料概述

    本文档的主要内容详细介绍的是数据库概念结构是如何设计的概念结构设计资料概述主要内容包括了:1 概念结构2 概念结构设计的方法与步骤
    发表于 10-26 11:49 22次下载
    <b class='flag-5'>数据库</b>概念<b class='flag-5'>结构</b>是如何设计的概念<b class='flag-5'>结构设计</b>资料概述

    数据库的设计概念总结

    本文档的主要内容详细介绍的是数据库的设计概念总结主要内容包括了:1.数据库设计概述,2.需求分析,3.概念结构设计,4.逻辑结构设计,5.
    发表于 01-09 17:29 13次下载
    <b class='flag-5'>数据库</b>的设计概念总结

    数据库设计开发案例教程之数据库设计的资料介绍

    本文档的主要内容详细介绍的是数据库设计开发案例教程之数据库设计的资料介绍主要内容包括了:1 数据库设计概述,2 需求分析,3 概念结构设计
    发表于 01-11 11:20 17次下载
    <b class='flag-5'>数据库</b>设计开发案例教程之<b class='flag-5'>数据库</b>设计的资料介绍

    Qt学习笔记数据库结构设计1

    数据库也是应用程序的重要部分,一个完整的应用程序几乎都包含数据库。 当前主流的数据库有DB2、MYSQL、OCI、ODBC、SQLITE、TDS、Oracle。 Sqlite是一款轻型的
    的头像 发表于 02-17 11:25 778次阅读
    <b class='flag-5'>Qt</b><b class='flag-5'>学习</b><b class='flag-5'>笔记</b><b class='flag-5'>之</b><b class='flag-5'>数据库</b><b class='flag-5'>结构设计</b>1

    Qt学习笔记数据库结构设计2

    数据库也是应用程序的重要部分,一个完整的应用程序几乎都包含数据库。 当前主流的数据库有DB2、MYSQL、OCI、ODBC、SQLITE、TDS、Oracle。 Sqlite是一款轻型的
    的头像 发表于 02-17 11:25 546次阅读
    <b class='flag-5'>Qt</b><b class='flag-5'>学习</b><b class='flag-5'>笔记</b><b class='flag-5'>之</b><b class='flag-5'>数据库</b><b class='flag-5'>结构设计</b>2

    Qt学习笔记数据库结构设计5

    Qt中,Qt为SQL数据库提供支持的基本模块。Qt SQL的API分为不同的层: ·驱动层 ·SQL API层 ·用户接口层
    的头像 发表于 02-17 13:56 805次阅读
    <b class='flag-5'>Qt</b><b class='flag-5'>学习</b><b class='flag-5'>笔记</b><b class='flag-5'>之</b><b class='flag-5'>数据库</b><b class='flag-5'>结构设计</b>5

    Qt学习笔记数据库结构设计6

    Qt中,Qt为SQL数据库提供支持的基本模块。Qt SQL的API分为不同的层: ·驱动层 ·SQL API层 ·用户接口层
    的头像 发表于 02-17 13:57 531次阅读
    <b class='flag-5'>Qt</b><b class='flag-5'>学习</b><b class='flag-5'>笔记</b><b class='flag-5'>之</b><b class='flag-5'>数据库</b><b class='flag-5'>结构设计</b>6

    Qt学习笔记数据库结构设计7

    Qt中,Qt为SQL数据库提供支持的基本模块。Qt SQL的API分为不同的层: ·驱动层 ·SQL API层 ·用户接口层
    的头像 发表于 02-17 13:57 539次阅读
    <b class='flag-5'>Qt</b><b class='flag-5'>学习</b><b class='flag-5'>笔记</b><b class='flag-5'>之</b><b class='flag-5'>数据库</b><b class='flag-5'>结构设计</b>7