• 企业400电话
  • 网络优化推广
  • AI电话机器人
  • 呼叫中心
  • 全 部 栏 目

    网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    QT连接MYSQL数据库的详细步骤
    POST TIME:2021-10-18 19:23

     第一步要加入对应的数据库模块(sql)在工程文件(.pro)介绍几个类(也是对应的头文件)

     1.数据库的连接

     //添加mysql数据库 
            QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL"); 
            //连接数据库
            db.setHostName("127.0.0.1");//数据库服务器IP
            db.setUserName("root");  //数据库用户名
            db.setPassword("root");//数据库用户名密码
            db.setDatabaseName("sys"); //数据库名
            if(db.open()==false)
            {
                QMessageBox::information(this,"数据库打开失败",db.lastError().text());
                return;
            }

      如果失败可能是QT连接mysql数据库要一个库(自己下载  libmysql.dll)把库文件放在QT的安装目录D:\Qt\5.9\mingw53_32\bin(根据自己的目录) 我的QT版本是5.9。数据库是否打开用户是否错误是否有这个数据库。

    2.创建表

    QSqlQuery q;
    q.exec("create table student(id int primary key auto_increment, name varchar(255), age int, score int)ENGINE=INNODB;");

    3.给表插入数据

    方法1(单行插入)

    q.exec("insert into student(id, name, age,score) values(1, '张三', 24,80);");

    方法2 (多行插入)又分为 odbc 风格 与 oracle风格

       1. odbc 风格

     q.prepare("insert into student(name, age,score) values(?, ?, ?)");  //?是占位符
       QVariantList name;
       name"素数""等待""安安";
       QVariantList age;
       age-21214;
       QVariantList score;
       score08990;
       //给字段绑定相应的值 按顺序绑定
       q.addBindValue(name);
       q.addBindValue(age);
       q.addBindValue(score);
       //执行预处理命令
       q.execBatch();

      要加#includeQVariantList>头文件 字段要按顺序绑定

        2.orace风格d

    //占位符 :+自定义名字
      q.prepare("insert into student(name, age,score) values(:n, :a,:s)");
      QVariantList name;
      name"夸克""红米""鸿蒙";
      QVariantList age;
      age5103;
      QVariantList score;
      score778999;
      //给字段绑定 顺序任意因为根据:+自定义名字
      q.bindValue(":n",name);
      q.bindValue(":s",score);
      q.bindValue(":a",age);
      //执行预处理命令
      q.execBatch();

     根据占位符区别所以字段顺序可以任意

    3.更新表

    QSqlQuery q;
            q.exec("update student set score=76 where name='李四'");

     4.删除表

    QSqlQuery q;
            q.exec("delete from student  where name='张三'");

    5.遍历表

    QSqlQuery q;
        q.exec("select *from student");
        while(q.next())   //遍历完为false
        {
            //以下标
            //qDebug()q.value(0).toInt()q.value(1).toString()q.value(2).toInt() 
            q.value(3).toInt();
            //以字段
            qDebug()q.value("id").toInt()q.value("name").toString()q.value("age").toInt() 
            q.value("score").toInt();
        }

    到此这篇关于QT连接MYSQL数据库的文章就介绍到这了,更多相关QT连接MYSQL数据库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • PyQt中使用QtSql连接MySql数据库的方法
    • ubuntu linux下使用Qt连接MySQL数据库的方法
    • python3+PyQt5 数据库编程--增删改实例
    • python3+PyQt5使用数据库表视图
    • python3+PyQt5使用数据库窗口视图
    上一篇:mysql 8.0.25 解压版安装配置方法图文教程
    下一篇:ARM64架构下安装mysql5.7.22的全过程
  • 相关文章
  • 

    关于我们 | 付款方式 | 荣誉资质 | 业务提交 | 代理合作


    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信