char *sql = sqlite3_mprintf("insert into datas(dID) values(%Q)",did);
如果在sqlite3_mprintf("insert into datas(dID) values(%Q)",did);中有%Q等,就会直接报段错误,如果删除%Q,直接将数据写在sqlite3_mprintf("insert into datas(dID) values(12)",did);就不会报错,数据就能顺利插入到数据库中,
4 个解决方案
#1
lz, 到 linux/Unix 的论坛问问吧,
#2
%Q需要传入char *类型变量,如果是整形等其它可能会挂掉
#3
char *的变量也尝试过了,一样报错
#4
%q两端加单引号
#1
lz, 到 linux/Unix 的论坛问问吧,
#2
%Q需要传入char *类型变量,如果是整形等其它可能会挂掉
#3
char *的变量也尝试过了,一样报错
#4
%q两端加单引号