当前位置: 首页 > news >正文

嵌入式学习39-程序创建数据库及查找

1.sqlite3_open
    int sqlite3_open(
        const char *filename,   /* Database filename (UTF-8) */
        sqlite3 **ppDb          /* OUT: SQLite db handle */
    );
    功能:
            打开  数据库文件(创建一个数据库连接)
    参数:
        filename:                                                                                                                                                           数据库文件路径 
        ppDb:                                                                                                                                                          操作  数据库指针  存放空间的首地址
    返回值:
        成功  返回  SQLITE_OK
        失败  返回  错误码

2.sqlite3_close 
    int sqlite3_close(sqlite3*);
    功能:
        关闭  数据库连接

3.sqlite3_exec 
    int sqlite3_exec(
        sqlite3*,                                  /* An open database */
        const char *sql,                           /* SQL to be evaluated */
        int (*callback)(void*,int,char**,char**),  /* Callback function */
        void *,                                    /* 1st argument to callback */
        char **errmsg                              /* Error msg written here */
    );
    功能:
            执行一条SQL语句
    参数:
        sqlite3*:                                                                                                                                                           数据库  句柄

句柄:                                                                                                                                                         是一个用来  标识对象或者项目标识符,可以用来描述窗体、文件等                                             还有注意  句柄(Handle) 不是常量
        sql:                                                                                                                                                           要执行的  SQL语句  字符串首地址
        callback: (回调函数)                                                                                                                                     只有在  select  时才会使用           (匹配数据)                                                                                其余  调用时传递   NULL
        void*:                                                                                                                                                          给 回调函数  的  传参
        errmsg:                                                                                                                                                          出错信息   存放空间首地址  (使用完毕后使用sqlite3_free释放空间)
    返回值:
        成功  返回  SQLITE_OK
        失败返回错误码 

练习:
    实现将dict.txt文件中的所有单词和含义插入到数据库中

5.调试段错误:
    1.根据给定链接设置系统允许生成core文件
    2.编译代码时加入-g选项
        gcc filename.c -g -lsqlite3 
    3.执行代码让代码产生段错误(会生成一个包含错误信息的core文件)
    4.使用gdb调试core文件
        gdb a.out core 
    5.可以直接看到产生段错误的代码的位置


 

相关文章:

嵌入式学习39-程序创建数据库及查找

1.sqlite3_open int sqlite3_open( const char *filename, /* Database filename (UTF-8) */ sqlite3 **ppDb /* OUT: SQLite db handle */ ); 功能: 打开 数据库文件(创建一个数据库连接) 参数: filename: …...

科研三维模型高精度三维扫描服务3d逆向测绘建模工业产品抄数设计

三维抄数技术在科研三维模型的应用已经日益广泛,其高精度、高效率的特点使得科研工作者能够更快速、更准确地获取和分析数据。这一技术的核心在于通过专业的三维扫描仪对实物进行高精度测量,再将这些数据转化为三维数字模型,为后续的研究提供…...

【LeetCode热题100】141. 环形链表(链表)

一.题目要求 给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置…...

express+mysql+vue,从零搭建一个商城管理系统11--使用Sequelize

提示:学习express,搭建管理系统 文章目录 前言一、安装sequelize和mysql2二、修改config/db.js三、修改models/user.js,models/shop.js,models/goods.js四、新建dao/user.js,dao/shop.js,dao/goods.js五、修…...

霹雳学习笔记——6.1 ResNet网络结构、BN以及迁移学习

一、ResNet结构 ResNet是一个突破一千层的网络架构。主要是卷积层Conv和池化层的堆叠。但是普通的堆叠会使得错误率更高,如下图所述,这是因为会产生梯度消失/梯度爆炸等。(梯度就是增量,有大小有方向) 解决方法&#…...

Gitee的注册和代码提交(附有下载链接)

目录 一、Git的下载和安装二、安装图形化界面工具三、在Gitee上创建仓库四、如何把仓库开源五、Clone远程仓库到本地六、拷贝代码到本地的仓库七、Add-Commit-Push到远程仓库八、可能出现的问题8.1 建议在本地仓库直接创建项目8.2 第一次Push可能出现的问题8.3 怎么删除Gitee上…...

机器学习是什么?

机器学习是一种人工智能(AI)的分支,其主要目标是使计算机系统能够通过数据和经验来改进和学习,而无需明确地编程。在机器学习中,计算机系统会通过对大量数据进行学习和分析,从中发现模式和规律,…...

复盘-PPT

调整PPT编号起始页码在设计→幻灯片大小 设置所有以及文本项目符号 ## 打开母版,找到对应级别设置重置 当自动生成的smartart图形不符合预期时 1 2...

springcloud gateway网关动态配置限流

上一篇记录了gateway网关的基础功能和配置,并且使用了默认的限流功能。 springcloud gateway网关-CSDN博客 这里简单记录一下gateway网关集成mybatisPlus实现动态限流。gateway网关默认的限流方式各项限流参数都是在配置文件中配置,不够灵活&#xff0…...

在Linux/Ubuntu/Debian中使用windows应用程序/软件

Wine 是一个兼容层,允许你在类 Unix 操作系统(包括 Ubuntu)上运行 Windows 应用程序。 以下是在 Ubuntu 上安装和使用 Wine 的基本步骤: 在 Ubuntu 上安装 Wine: 更新软件包列表: 打开终端并运行以下命令以…...

idea Springboot 组卷管理系统LayUI框架开发mysql数据库web结构java编程计算机网页

一、源码特点 springboot 组卷管理系统是一套完善的完整信息系统,结合mvc框架和LayUI框架完成本系统springboot spring mybatis ,对理解JSP java编程开发语言有帮助系统采用springboot框架(MVC模式开发),系统具有完整…...

wordpress主题批量修改历史文章标题,文章内容

:​wordpress模板,在我映像中还是比较受欢迎的,至少它该有的插件都是应有尽有,不像帝国cms虽然功能多,但是基本用不上,而且很多会出错。也不像织梦cms漏洞太多,搞的建站期间出现很多其他事情&am…...

Unity2019.2.x 导出apk 安装到安卓Android12+及以上的系统版本 安装出现-108 安装包似乎无效的解决办法

Unity2019.2.x 导出apk 安装到安卓Android12及以上的系统版本 安装出现-108 安装包似乎无效的解决办法 导出AndroidStudio工程后 需要设置 build.gradle文件 // GENERATED BY UNITY. REMOVE THIS COMMENT TO PREVENT OVERWRITING WHEN EXPORTING AGAINbuildscript {repositor…...

创建SpringCloudGateWay

创建SpringCloudGateWay 本案例基于尚硅谷《谷粒商城》项目&#xff0c;视频27 创建测试API网关 1、创建module 2、引入依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:x…...

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:StepperItem)

用作Stepper组件的页面子组件。 说明&#xff1a; 该组件从API Version 8开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 子组件 支持单个子组件。 接口 StepperItem() 属性 参数名参数类型参数描述prevLabelstring设置左侧文本按钮内…...

游戏盾SDK是如何实现智能加速的?

游戏盾SDK是一款能够提供内含windows、安卓、IOS版本的SDK下载&#xff0c;通过接入SDK&#xff0c;由SDK接管所有的通信流量&#xff0c;进行调度和加密传输&#xff0c;满足抗D、防C、流量加密等业务需求&#xff0c;为用户提供优质的网络环境&#xff0c;游戏极速畅通无阻。…...

西井科技参与IATA全球货运大会 以AI绿动能引领智慧空港新未来

3月12日至14日&#xff0c;由国际航空运输协会IATA主办的全球货运大会&#xff08;World Cargo Symposium&#xff09;在中国香港成功举办&#xff0c;这是全球航空货运领域最大规模与影响力的年度盛会。作为大物流领域全球领先的“智能化与新能源化”综合解决方案提供商&#…...

RPC通信原理(二)

RPC序列化 任何一种序列化框架&#xff0c;核心思想就是设计一种序列化协议&#xff0c;将对象的类型、属性类型、属性值一一按照固定的格式写到二进制字节流中来完成序列化&#xff0c;再按照固定的格式把数据一一读取出来&#xff0c;通过这些数据信息创建出一个新的对象&…...

Redis 淘汰策略

Redis 是一个使用键值对存储数据的内存中数据结构存储系统&#xff0c;它支持多种类型的数据结构&#xff0c;如字符串&#xff08;strings&#xff09;&#xff0c;列表&#xff08;lists&#xff09;&#xff0c;集合&#xff08;sets&#xff09;&#xff0c;有序集合&#…...

游戏数据处理

游戏行业关键数据指标 ~ 总激活码发放量、总激活量、总登录账号数 激活率、激活登录率 激活率 激活量 / 安装量 激活率 激活量 / 激活码发放量 激活且登录率 激活且登录量 / 激活码激活量 激活且登录率应用场景 激活且登录率是非常常用的转化率指标之一&#xff0c;广泛…...

降AI工具为什么比自己改效果好?从算法角度解读

降AI工具为什么比自己改效果好&#xff1f;从算法角度解读 为什么同样是改写论文&#xff0c;专业工具能降到10%以下&#xff0c;自己手动改只能降到30%&#xff1f; 这不是因为工具"更聪明"&#xff0c;而是因为工具在正确的层面做了正确的事情。理解了这个&#…...

告别重训练!用Upsample Anything (UPA) 给SAM、DINOv2的特征图无损放大,实测教程

告别重训练&#xff01;用Upsample Anything (UPA) 给SAM、DINOv2的特征图无损放大&#xff0c;实测教程 视觉基础模型&#xff08;如SAM、DINOv2&#xff09;在提取图像特征时&#xff0c;通常会输出低分辨率的特征图。这对于需要像素级精度的下游任务&#xff08;如分割、检测…...

Go Routine 调度策略与公平性控制

Go Routine调度策略与公平性控制 在Go语言中&#xff0c;Goroutine作为轻量级线程&#xff0c;是并发编程的核心。其高效的调度机制和公平性控制保证了高并发场景下的性能与稳定性。本文将深入探讨Goroutine的调度策略及其公平性控制机制&#xff0c;帮助开发者理解其底层原理…...

如何高效构建雷达系统:Python雷达模拟的完整实战指南

如何高效构建雷达系统&#xff1a;Python雷达模拟的完整实战指南 【免费下载链接】radarsimpy Radar Simulator built with Python and C 项目地址: https://gitcode.com/gh_mirrors/ra/radarsimpy RadarSimPy是一个基于Python和C构建的开源雷达模拟器&#xff0c;为雷达…...

OpenClaw人人养虾:桥接协议

桥接协议&#xff08;Bridge Protocol&#xff09;允许多个 Gateway 实例之间建立通信通道&#xff0c;实现跨网关的模型共享、会话转移和负载分担。概述┌──────────────┐ Bridge Protocol ┌──────────────┐ │ Gateway A │ ◀───…...

专业级GTA5辅助工具:YimMenu全维度安全防护与功能增强指南

专业级GTA5辅助工具&#xff1a;YimMenu全维度安全防护与功能增强指南 【免费下载链接】YimMenu YimMenu, a GTA V menu protecting against a wide ranges of the public crashes and improving the overall experience. 项目地址: https://gitcode.com/GitHub_Trending/yi/…...

C++ 编译器优化参数解析

C编译器优化参数解析&#xff1a;提升性能的关键 在C开发中&#xff0c;编译器优化是提升程序性能的重要手段。通过调整编译器的优化参数&#xff0c;开发者可以在不修改代码的情况下显著提高程序的运行效率、减少内存占用或缩短启动时间。不同的优化选项适用于不同的场景&…...

从序列到结构:ESM蛋白质语言模型核心原理与实践解析

1. 蛋白质语言模型为何成为研究热点 最近几年&#xff0c;蛋白质语言模型突然在生物信息学领域火了起来。作为一个长期关注AI在生命科学领域应用的开发者&#xff0c;我发现这背后有两个关键驱动力&#xff1a;一是蛋白质结构预测的世纪难题有了新解法&#xff0c;二是Transfor…...

窗口管理效率革命:Topit如何重塑Mac多任务工作流

窗口管理效率革命&#xff1a;Topit如何重塑Mac多任务工作流 【免费下载链接】Topit Pin any window to the top of your screen / 在Mac上将你的任何窗口强制置顶 项目地址: https://gitcode.com/gh_mirrors/to/Topit 在数字化工作环境中&#xff0c;多任务处理已成为常…...

dl-librescore:开源乐谱下载解决方案,打破MuseScore资源获取限制

dl-librescore&#xff1a;开源乐谱下载解决方案&#xff0c;打破MuseScore资源获取限制 【免费下载链接】dl-librescore Download sheet music 项目地址: https://gitcode.com/gh_mirrors/dl/dl-librescore 在音乐创作、教学和学习过程中&#xff0c;获取高质量乐谱资源…...