SQLITE的C++调用示例

C++调用Sqlite源文件操作数据库 调用Sqlite源文件操作数据库演示程序,下载地址:步骤 演示程序,下载地址: 通过调用sqlite源文件代码,实现操作sqlite数据库,实现 基本功能,包括创建数据库,打开连接数据库,建表,添加数据,关闭数据库的功能。由vs2015创建的演示工程,在release文件夹下可以执行exe文件演示,源代码下载 步骤 官网下载sqlite源文件 用到以下两个文件 用vs2015新建VC++解决方案,新增项目 把sqlite的文件夹,内含头文件和源文件放到项目里 在解决方案资源管理 阅读详情

#include <Windows.h>
#include <stdio.h>
#include "sqlite3.h"
 
void test_sql_open()
{
    int nret = 0;
    sqlite3* db = 0;
    nret = sqlite3_open("test.db", &db);
    if(nret==SQLITE_OK)
        printf("test_sql_open: success! sqlite3*:%u /n", db);
    else
        printf("test_sql_open: failed! sqlite3*:%u /n", db);
 
    sqlite3_close(db);
}
void test_sql_open_create_table()
{
    int nret = 0;
    sqlite3* db = 0;
    nret = sqlite3_open("test.db", &db);
    if(nret==SQLITE_OK)
        printf("test_sql_open: success! sqlite3*:%u /n", db);
    else
        printf("test_sql_open: failed! sqlite3*:%u /n", db);
 
    char* errmsg = 0;
    nret = sqlite3_exec(db, "create table Table1 (id int, comments varchar(128))", 0, 0, &errmsg);
    if(nret==SQLITE_OK)
        printf("sqlite3_exec: success! sqlite3*:%u, error message: %s /n", db, errmsg);
    else
        printf("sqlite3_exec: failed! sqlite3*:%u, error message: %s /n", db, errmsg);
 
    sqlite3_close(db);
}
void test_sql_open_insert_data()
{
    int nret = 0;
    sqlite3* db = 0;
    nret = sqlite3_open("test.db", &db);
    if(nret==SQLITE_OK)
        printf("test_sql_open: success! sqlite3*:%u /n", db);
    else
        printf("test_sql_open: failed! sqlite3*:%u /n", db);
 
    char* errmsg = 0;
    nret = sqlite3_exec(db, "insert into Table1 (id, comments) values (1, 'Hello, how are you?')", 0, 0, &errmsg);
    if(nret==SQLITE_OK)
        printf("sqlite3_exec: success! sqlite3*:%u, error message: %s /n", db, errmsg);
    else
        printf("sqlite3_exec: failed! sqlite3*:%u, error message: %s /n", db, errmsg);
 
    sqlite3_close(db);
}
void test_sql_open_insert_data_using_prepare()
{
    int nret = 0;
    sqlite3* db = 0;
    nret = sqlite3_open("test.db", &db);
    if(nret==SQLITE_OK)
        printf("test_sql_open: success! sqlite3*:%u /n", db);
    else
        printf("test_sql_open: failed! sqlite3*:%u /n", db);
 
    sqlite3_stmt *stmt=0;
    char* errmsg = 0;
    nret = sqlite3_prepare(db, "insert into Table1 (id,comments) values (99,?)", -1, &stmt, 0);
    if(nret==SQLITE_OK)
        printf("sqlite3_prepare: success! sqlite3*:%u, error message: %s /n", db, errmsg);
    else
        printf("sqlite3_prepare: failed! sqlite3*:%u, error message: %s /n", db, errmsg);
 
    char str[] = "How do you do?";
    nret = sqlite3_bind_text(stmt, 1, str, -1, 0);
    if(nret==SQLITE_OK)
        printf("sqlite3_prepare: success! sqlite3*:%u, error message: %s /n", db, errmsg);
    else
        printf("sqlite3_prepare: failed! sqlite3*:%u, error message: %s /n", db, errmsg);
 
    //int id = 888;
    //nret = sqlite3_bind_int(stmt, 1, id);
    //if(nret==SQLITE_OK)
    //    printf("sqlite3_prepare: success! sqlite3*:%u, error message: %s /n", db, errmsg);
    //else
    //    printf("sqlite3_prepare: failed! sqlite3*:%u, error message: %s /n", db, errmsg);
 
    nret = sqlite3_step(stmt);
    nret = sqlite3_finalize(stmt);
 
    sqlite3_close(db);
}
 
void test_sql_open_insert_data_using_prepare2()
{
    int nret = 0;
    sqlite3* db = 0;
    nret = sqlite3_open("test.db", &db);
    if(nret==SQLITE_OK)
        printf("test_sql_open: success! sqlite3*:%u /n", db);
    else
        printf("test_sql_open: failed! sqlite3*:%u /n", db);
 
    sqlite3_stmt *stmt=0;
    char* errmsg = 0;
    nret = sqlite3_prepare(db, "insert into Table1 (id,comments) values (?,?)", -1, &stmt, 0);
    if(nret==SQLITE_OK)
        printf("sqlite3_prepare: success! sqlite3*:%u, error message: %s /n", db, errmsg);
    else
        printf("sqlite3_prepare: failed! sqlite3*:%u, error message: %s /n", db, errmsg);
 
    char str[] = "How do you do?";
    nret = sqlite3_bind_text(stmt, 2, str, -1, 0);
    if(nret==SQLITE_OK)
        printf("sqlite3_prepare: success! sqlite3*:%u, error message: %s /n", db, errmsg);
    else
        printf("sqlite3_prepare: failed! sqlite3*:%u, error message: %s /n", db, errmsg);
 
    int id = 888;
    nret = sqlite3_bind_int(stmt, 1, id);
    if(nret==SQLITE_OK)
        printf("sqlite3_prepare: success! sqlite3*:%u, error message: %s /n", db, errmsg);
    else
        printf("sqlite3_prepare: failed! sqlite3*:%u, error message: %s /n", db, errmsg);
 
    nret = sqlite3_step(stmt);
    nret = sqlite3_finalize(stmt);
 
    sqlite3_close(db);
}
 
int main(__in int _Argc, __in char ** _Argv)
{
    printf("Hello db!/n");
 
    //test_sql_open();
 
    //test_sql_open_create_table();
 
    //test_sql_open_insert_data();
 
    test_sql_open_insert_data_using_prepare();
 
    return 0;
}

c++调用sqlite3(带加解密)     StringConvert见https://blog.youkuaiyun.com/wxd090108/article/details/84190762 第三方文件     下载地址:https://sourceforge.net/projects/wxcode/files/Components/wxSQLite3/     下载wxsqlite3-***.zip          解压wxs... 阅读详情

相关推荐

C/C++中调用SQLITE3的基本步骤

Sqlite是一个面向嵌入式系统的数据库,编译完成只有200K,同时支持2T的数据记录。对于嵌入式设备是一个很好的数据库引擎。本文通过一个小例子说明如何在C与C++调用Sqlite API完成数据库的创建、插入数据与查询数据。本文的开发环境为(Redhat9.0 + Qtopia2.1.2 + Sqlite3)安装Sqlite3:从www.sqlite.org上下载Sqlite3.2.2运源代码,

ywwcn的专栏 4783

sqlite c++简单demo(win10 vs2019)

1、sqlite安装说明 2、vs2019使用sqlite说明 3、

qq_41197455的博客 1307

C++调用Sqlite动态库操作数据库

C++调用Sqlite动态库操作数据库演示程序,下载地址:步骤 演示程序,下载地址: 通过调用sqlite动态库,实现操作sqlite数据库,实现 基本功能,包括创建数据库,打开连接数据库,建表,添加数据,关闭数据库的功能。由vs2015创建的演示工程,在release文件夹下可以执行exe文件演示 步骤 官网下载 def 和动态库文件,下载地址 头文件也要下载 解压出来def、dll和头文件 在VS2015开发人员命令提示输入以下命令 C:\Program Files (x86

weixin_52213097的博客 542

CppSQLite Demo 详解(翻译)--已完成

CppSQLite 官网Demo 代码翻译

qq_30389757的博客 1976

sqlite_demo

sqlite数据库C++使用实例程序。包含了sqlite的源代码以及sqlite_expert的下载链接地址。

C++使用SQLite实例

程序展示用C++使用轻量级数据库Sqlite,展示了数据的创建,表的创建,数据储存

sqlite | c++ | demo

#c++ sqlite #demo #shell 查看数据库

ttxiaoxiaobai的博客 722

[逆向实战] 淘宝x5sec滑条验证码slidedata参数逆向与自动化过码方案

本文详细解析了淘宝x5sec滑条验证码的核心参数slidedata的生成机制与逆向过程,提供了Python自动化过码方案。通过分析滑动轨迹加密流程、还原AES加密算法,并设计人类行为模拟轨迹,帮助开发者有效绕过淘宝滑块验证,适用于爬虫开发与自动化测试场景。

weixin_30851867的博客 735

C++下使用sqlite简明示例

本文的工程文件可至http://download.youkuaiyun.com/detail/great3779/4317410免费下载。   Sqlite是一个开源的跨平台嵌入式数据库,采用C语言编写,它提供了c、 C++、C#、PHP、Java等版本及接口。以C版本为例,整个数据库仅由一个.h文件和一个.c文件构成。这个由不到20000行代码构成的数据库,能很好的支持标准的sql语句,并且还带事务处理

great3779的专栏 2234

【OpenAirInterface知识-3】OAI端到端部署之5G基站部署

在上一篇文章中已经完成了5G核心网的部署,本篇文章将介绍OAI 5G基站的部署过程。

起名字难上难的博客 3422

Crush 终端 LLM 工具安装与使用指南:把 AI 编程助手装进你的命令行

喜欢命令行的开发者需要离线/轻量级 AI 助手的场景希望自定义模型与工具链的高级用户通过LSP + MCP + 多模型支持,Crush 不仅能写代码,还能理解项目、调用工具、连接服务,真正成为你的“终端编程搭档”。

weixin_44058951的博客 1616

SQLite数据库C_C++接口(保姆级API应用 1.4W字)(全网最详细介绍,学完必掌握)

三种查询方式总结 回调函数查询内存开销小,但查询效率相对较低;全缓冲查询的查询效率高,但是内存消耗大;字节缓冲查询兼具查询效率和低开销。(优先使用第三种查询方法) sqlite实现C语言自定义函数封装 由于数据库提供的API接口过于复杂,使用的过程顺序也很繁琐,所以对于原生态的API在实际工作开发中,会进行一层封装,减少调用传参,减少调用次数,增加代码可读性,提高开发效率。 可封装如下:包括创建数据库、建表、插入数据、查询数据、删除数据

qq_25218501的博客 5812

UDS 诊断 - CommunicationControl(通信控制)(0x28)服务 诊断

字节参数名称字节值#1CommunicationControl(通信控制)请求SID0x28#2#3communicationType(通信类型)#4nodeIdentificationNumer(节点标识符)(高位字节)controlType 为 0x04 或 0x05 时,使用该参数#5nodeIdentificationNumer(节点标识符)(低位字节)controlType 为 0x04 或 0x05 时,使用该参数。

耳朵东金子千的博客 1821

如何在C/C++语言中调用 sqlite 的函数

0. 引言 我们这篇文章主要讲述了如何在C/C++语言中调用 sqlite 的函数接口来实现对数据库的管理,包括创建数据库、创建表格、插入数据、查询数据、删除数据等。 1. 说明这里我们假设你已经编译好了sqlite的库文件 :libsqlite3.a  libsqlite3.la  libsqlite3.so  libsqlite3.so.0  libsqlite3.so.0.8.6

嵌入式Linux应用与开发 1231

灰色预测GM(1,n)模型_python

灰色系统理论及其应用系列博文: 一、灰色关联度分析法(GRA)_python 二、灰色预测模型GM(1,1) 文章目录一、GM(1,n)算法二、示例2.1 数据:2.2 代码_使用GM(1,n)城市用水总量2.3 结果分析 一、GM(1,n)算法 二、示例 注:数据均来自论文《基于灰色系统理论的贵阳市城市用水总量预测》 2.1 数据: data.csv 年份,城区人口,建成区面积,供水总量,用水人口,人口综合用水指标,城市用水总量 2002, 191.85, 98.00, 26396.00,

qq_34229228的博客 1万+

5、流体-结构相互作用耦合技术详解

本文详细解析了流体-结构相互作用(FSI)的两种核心耦合技术:松散耦合和紧密耦合。通过原理阐述、优缺点分析及实际应用案例,对比了两种方法的适用场景与性能差异,并进一步探讨了高级耦合技术的发展趋势和工程实践方向,为相关领域的研究人员和工程师提供了全面的技术参考。

fanta的博客 205

C++简单调用Sqlite函数(一)

/* Sqlite是遵守ACID的关系数据库管理系统,它包含在一个相对小的C库中。       它是D.RichardHipp创建的共有领域项目。 SQLite官方源码不支持加密解密,数据库文件中的数据以全明文的形式存       在。不过作者显然仔细考虑过这个问题,留下了实现加密的接口。 SQLite API简介: 1、 其中sqlite3_open自然是打开一个SQLite数据库(

u011473714的专栏 957

Web渗/透/攻/击实战(1)—成功渗/透台湾某净化设备公司官网

写在前面 作为一个防御型白帽黑客​ 你一定要知道黑客的进攻套路 才能有相应的防御措施 声明:只做测试,发现对方的漏洞,并不进行破坏性操作 1、 网站分析 地址:http://www.xxx.com.tw/ 这是一家中国台湾地区的网站,看着满屏的繁体字,就不是很舒服 网站首页包括:关于我们、资料下载、联络方式等等。 这些对我们进行sql注入用处并不大 我们需要的是可以进行参数传入的页面,这样我们就可以在参数里做文章 找一下 有没有新闻列表相关的页面 页...

信息安全领域优质创作者|操作系统领域专家 1808

ue5.5 c++ 调用sqlite

首先下载sqlite需要的文件,去Sqlite官方下载源码https://www.sqlite.org/download.html,总共下载两个文件,一个是Source Code下面的sqlite-amalgamation-3300100,以及Precompiled Binaries for Windows下面的sqlite-dll-win64-x64-3300100。原文链接:https://blog.youkuaiyun.com/object__/article/details/102785739。

xjtdahaoren的博客 320

基于YOLOv10的机器人抓取引导系统:从物体检测到精准抓取

python# 数据标注工具简化版import os"""启动标注工具""""""标注单张图像"""print(f"标注图像: {os.path.basename(img_path)}")print("请在图像上绘制抓取矩形框...")# 这里应该实现交互式标注界面# 简化版本直接返回示例标注# 示例标注数据"""保存标注结果"""# 保存为YOLO格式# 转换为YOLO格式。

YOLO 378

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

C/C++调用sqlite3接口详解

C/C++调用sqlite3接口详解 https://blog.youkuaiyun.com/fangye945a/article/details/86484547 2019年01月15日 00:04:50fangye945a阅读数:450 sqlite3的C/C++接口用法可分为两种:回调形式与非回调形式。所谓回调形式其实就是通过回调的方式处理sql语句执行结果,非回调形式就是...

ysh1042436059的专栏 2157

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

C/C++中调用SQLITE3

C/C++中调用SQLITE3的基本步骤 Sqlite 是一个面向嵌入式系统的数据库,编译完成只有200K,同时支持2T的数据记录。对于嵌入式设备是一个很好的数据库引擎。本文通过一个小例子说明如何在C 与C++调用Sqlite API完成数据库的创建、插入数据与查询数据。本文的开发环境为(Redhat9.0 + Qtopia2.1.2 + Sqlite3) 安装Sqli

好行者 1496

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Linux下Sqlite3的C++接口调用

环境搭建 环境搭建:下载源码---》编译----》接口调用 #步骤如下: tar xvzf sqlite-autoconf-3071502.tar.gz cd sqlite-autoconf-3071502 ./configure make make install 发现错误: configure: error: cannot run C compiled programs. If you meant to cross compile, use `--host'. See `config.lo.

zion--6135的博客 755

c++调用sqlite接口

c++调用sqlite接口

一技旁身 1428
上一篇: SQLITE相关技术网址
下一篇: SQLITE的C++接口之简明使用介绍
海之子99
博客等级 码龄21年 53粉丝 147原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值