Qt学习笔记之数据库的访问

//写在前面
这里推荐使用navicat for mySQL软件管理数据库。通过navicatke可以清楚的看到该数据库中的每个表的结构和成员,以便于访问数据库,并查询相关的数据。

//数据库中表的访问
//其实查询数据库的过程就是一个查表的过程,通过用户输入的数据开始依次查询到用户想要的数据

if(createConnection()){

       QSqlQuery query("SELECT * FROM t_stud_info"); //t_stud_info是一个表单
       while(query.next())
       {
           QString schoolID = query.value(0).toString();
           if(schoolID == str)
           {
               QSqlQuery query1("SELECT * FROM t_stud_course_info");//t_stud_course_info是一个表单
               while(query1.next())
               {
                   QString ID = query1.value(1).toString();
                   if(ID == str)
                   {
                       QSqlQuery query2("SELECT * FROM t_courses");//t_courses是一个表单
                       while(query2.next())
                       {
                            QString courseID = query2.value(0).toString();
                            if(courseID == query1.value(2).toString())
                            {
                                //课程名称
                                course[i] = query2.value(1).toString();
                                //成绩
                                grade[i] = query1.value(3).toString();
                                //学分
                                xuefen[i] = query2.value(2).toString();
                                i++;
                            }
                       }
                   }
               }
               break;
           }
       }

如例子,我这个数据库中包涵三个表t_stud_info、t_stud_course_info、t_courses。我通过查找这三个表中的数据,就能找出用户所需要的全部数据

//关于query.value(0)的说明
这是一个Qquery类的变量,就是你每访问一个数据库中的表的时候,就要重新定义一个Qquery类的变量,如上例中我总共定义了三个query,query1,query2。
而query.value(0)指的就是这个表单中的第一列数据,依此类推,第二列就是query.value(1)、第三列就是query.value(2)……

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值