为什么要在self.params后面追加而不是在cursor.execute(sql,)里面加上self.params

为什么要在self.params后面追加而不是在cursor.execute(sql,)里面加上self.params

self.params.extend([self.page_size, offset])
result = cursor.execute(sql,self.params )

为什么是上面的代码,而不是在cursor.execute(sql,)里面加上self.params像这样

cursor.execute(sql,[self.params,self.page_size,offset]

在这里输入代码,可通过选择【代码语言】突出显示

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕燕燕 2020-11-28 17:15:08

同学,你好!cursor.execute(sql, self.params),根据游标执行sql语句,第一个参数为sql语句本身,第二个参数为sql语句使用的参数列表,所有参数放到列表中,按顺序传递给sql语句,execute()支持这样的写法,如果将参数作为字符串传递到SQL语句中,如果参数比较多,SQL语句将会非常长,代码维护极为不便,也容易出错

加油,祝学习愉快~~~

  • 提问者 慕粉1504263447 #1

    能不能举个例子说明一下sql语句会有多长,维护有多不遍。

    没看出来会变得很长啊。这才三个,sql语句里也没什么好加的了啊。

    [self.params,self.page_size,offset]

    2020-11-28 18:44:28
  • 好帮手慕燕燕 回复 提问者 慕粉1504263447 #2

    同学,你好!老师课程中查询条件只有三个,如同学所说,SQL语句不会很长,比如是一个非常大型的项目,查询条件包含类型、品牌、品名、价格、商家、是否包邮、地区等等,这种情况查询条件就相对多些,编程是灵活的,相同功能有多种实现方式,同学掌握即可。祝学习愉快~~~

    2020-11-28 19:15:12
  • 提问者 慕粉1504263447 回复 好帮手慕燕燕 #3

    那也只是self.params里参数多一点吧,从views中定义的函数中params=[.....]多传几个参数就好了。自定义的类中执行sql是[self.params,self.page_size,offset]里面还是只有这三个吧?

    2020-11-28 19:25:10
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
3.从网页搭建入门Python Web
  • 参与学习           人
  • 提交作业       218    份
  • 解答问题       3562    个

本阶段带你用Python开发一个网站,学习主流框架Django+Flask是Python Web开发的第一步,在基础知识上实现积分商城的项目开发,体验真实的项目开发流程,提高解决编程问题和效率的能力。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师