ubuntu 11.10下C链接sqlite3数据库,在执行sql语句时候sqlite3_mprintf()函数总是报段错误

时间:2021-09-05 05:32:02
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 *的变量也尝试过了,一样报错
引用 2 楼 cxsjabcabc 的回复:
%Q需要传入char *类型变量,如果是整形等其它可能会挂掉

#4


%q两端加单引号

#1


lz, 到 linux/Unix 的论坛问问吧,

#2


%Q需要传入char *类型变量,如果是整形等其它可能会挂掉

#3


char *的变量也尝试过了,一样报错
引用 2 楼 cxsjabcabc 的回复:
%Q需要传入char *类型变量,如果是整形等其它可能会挂掉

#4


%q两端加单引号