no such solumn:xxx near “,“:syntax error near “123“:syntax error near “world“:syntax error

sqlite3_exec()中sql语句的书写格式问题

一个很小的细节,没注意直接让我浪费了两个小时
是什么呢?
原来的代码:

修改之后的代码:
在这里插入图片描述
对,原来的代码仅仅只是少了%s处的单引号,我一直以为是我的这句sql语句其他地方写错了,每个标点符号号在两个小时里重写了不知道多少遍,开始怀疑人生。

最开始我认为是两个%s之间不需要逗号(,),后来删了之后重新试了一下,报了一个这样的错误:
在这里插入图片描述

在这里插入图片描述
好,我有认为是少了空格,才会连在一起,加上空格,又报了这样一个错误

在这里插入图片描述

在这里插入图片描述
再来,我有认为是要逗号,但是都要要加上单引号(与发现错误擦肩而过),加上逗号在加上单引号。还是报错
在这里插入图片描述

在这里插入图片描述
之后没法了,去网上找,发现都是Python与sqlite的联合使用,即使有sqlite3和C语言的连个使用也是说标点符号错了,看到这,顿时就人傻了,就那么几个标点符号,我都再三确认了不下十遍。失望而归。还是自己在琢磨挣扎一下。
我有到ubunto下面自己创建了数据库,用添加数据的语句敲了一遍,发现完全没有问题。我直接复制下来,这下准没标点符号的错误了吧。
在这里插入图片描述
还是报错:换了一个错
在这里插入图片描述
我又去ubunto下想办法故意写错sql语句,找到这样的错误原因,最后发现了,如果ubunto中如果将字段写错就会报这样的问题。
我有回到代码中看字段名,发现也没有问题。崩了,心态没了。

没办法自己写的代码,躺着也要改完
再来!能改的地方都改了,难道是我输入的%s有问题?想到这我才恍然大悟,我在ubunto中写sql语句的时候,我的值都是加上“ ”的,但是代码中,光光一个%s输入进去的不就是一个字符串吗,没有双引号啊。又想到双引号不能嵌套(不用转义字符\),于是我将%s加上单引号。成功了!!!
在这里插入图片描述
真就是细节决定成败。
总的来说还是对于sql语句与C语言联合使用的理解不到位。
所以希望其他小伙伴不要遇到相同的问题了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值