• QtSqlDatabase-QCryptographicHash数据库-加密


    Qt数据库

    Qt SQL模块是Qt提供的一个访问数据库的接口,支持多种平台下使用不同类型的数据库,在这个过程中,数据库驱动 起到了很大的作用,它负责与不同的数据库进行通信,有了数据库驱动,我们才能使用不同类型的数据库。

    在这里插入图片描述

    在qt中使用数据库要在工程文件中添加

    QT += sql

    • QSqlDatabase 数据库处理与连接
    • QSqlQuery 执行和操作 SQL 语句的方法
    • QSqlRecord 数据库记录
    • QSqlResult 访问来自特定 SQL 数据库的数据
    • QSqlError 提供 SQL 数据库错误信息

    1、创建一个数据库连接

    QSqlDatabase db = QSqlDatabase::addDatabase(“QSQLITE”);

    在这里插入图片描述

    创建一个连接,参数为数据库驱动类型和连接名称。如果链接名称默认不写,在后期整个qt应用中可以使用,通过Qt中的接口比如QSqlQuery操作数据库

    //创建数据库连接句柄
    QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE","test");
     //设置数据库名称 
    db.setDatabaseName("my.db"); 
    //打开数据库
     if(!db.open()) 
     { 
         qDebug()<
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    2、执行SQL语句

    QSqlQuery常用函数
    在这里插入图片描述

    只要在数据库连接并且打开后可以在中任意位置通过QSqlQuery操作数据

    //构造函数没有参数就自动去关联到默认连接名的数据库
     QSqlQuery query(QSqlDatabase::database("test")); 
    //执行创建表格的语句 
    if(!query.exec("create table student(id int, name text)")) 
    { qDebug()<
    • 1
    • 2
    • 3
    • 4
    • 5

    获取select命令的返回内容

    //1.创建一个QSqlQuery对象
    QSqlQuery query;
    //2.定义sql命令
    QString sql = QString(ui->textEdit->toPlainText());
    //3.执行sql命令
    if(query.exec(sql))
    {
    	qDebug()<<"执行成功";
    }
    else
    {
    	qDebug()<<"执行失败:"<

3、加密

QCryptographicHash 加密

在这里插入图片描述

    QByteArray btArray;//字符串MD5算法加密
    btArray.append(str);//加入原始字符串
    QCryptographicHash hash(QCryptographicHash::Md5);  //Md5加密算法
    hash.addData(btArray);  //添加数据到加密哈希值
    QByteArray resultArray =hash.result();  //返回最终的哈希值
    QString md5 =resultArray.toHex();//转换为16进制字符串
	ByteArray resultArray =hash.result();  //返回最终的哈希值
    QString md5 =resultArray.toHex();//转换为16进制字符串
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 相关阅读:
    现在性价比高的运动耳机有哪些、性价比最高的蓝牙耳机排行榜
    行列视(RCV)数据安全如何保障?
    git的使用(从配置到常用命令)
    Java中 常见的开源树库介绍
    看红帽巨佬解析⭐《二、G1垃圾回收配置解析》⭐
    WPS被曝删除用户本地文件,官方两度回应:不会侵犯用户隐私
    this.$set的用法和作用说明
    flutter 身兼数职的getx —— 简介
    Blazor前后端框架Known-V1.2.16
    JDK的动态代理,一文搞定
  • 原文地址:https://blog.csdn.net/qq_45698138/article/details/126393831