• 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
  • 相关阅读:
    [Linux](6)进程的概念,查看进程,创建子进程,进程状态,进程优先级
    深度学习:手写反向传播算法(BackPropagation)与代码实现
    Nginx部署vue项目并在局域网中开放访问(尝鲜)
    not_the_same_3dsctf_2016【简单解法和mprotect解法】
    .net餐厅管理系统数据层餐厅服务类添加删除菜品
    设计模式——15. 模板方法模式
    linux虚机新增加磁盘后在系统中查不到
    基于Svelte3.x桌面端UI组件库Svelte UI
    Window 窗口函数 (Spark Sql)
    Redis 不同插入方法的性能对比
  • 原文地址:https://blog.csdn.net/qq_45698138/article/details/126393831