C++ sqlite3 0x00007FF9DA42F621 (ucrtbased.dll)处(位于 TestSqlite.exe 中)引发的异常: 0xC0000005: 读取位置 0x000000

本文讲述了在使用C++和SQLite3时遇到的查询结果为空指针错误,原因在于未正确设置自增主键ID。通过创建正确的SQL语句并理解SQLite3主键行为,读者可以避免此类问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近使用C++ Sqlite3,通过回调函数获取查询的结果时报的错。
搞了一上午不知道什么情况,后来发现是因为创建sqlite3时没有创建自增主键id,而sqlite3自动创建了一个id字段,但是该id不是必须存在自增的,所以返回null.
导致通过column_value[i]获取值时报的错误

sqlite3创建自增主键id语句

string createsql = "create table if not exists dtable  (id  INTEGER PRIMARY KEY AUTOINCREMENT  NOT NULL,name varchar(50),comment text,_id varchar(50))";
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值